GithubHelp home page GithubHelp logo

cequencer / vertexapi2 Goto Github PK

View Code? Open in Web Editor NEW

This project forked from royalcaliber/vertexapi2

0.0 3.0 0.0 389 KB

A vertex-centric CUDA/C++ API for large graph analytics on GPUs using the Gather-Apply-Scatter abstraction

License: Apache License 2.0

Makefile 7.72% C++ 68.82% Cuda 16.61% Python 6.86%

vertexapi2's Introduction

********************************************************************************
*     THIS IS A WORK IN PROGRESS.  DO NOT USE THIS FOR PRODUCTION WORK         *
********************************************************************************

VertexAPI2
==========


Introduction
------------

VertexAPI2 is a CUDA/C++ library for developing large graph analytics. The goal
is to hide the complexity of GPU programming while presenting a simple API.
VertexAPI2 uses the Gather-Apply-Scatter model used in GraphLab [cite].

VertexAPI2 is a work in progress. At this time we have a few working examples
like breadth first search, single source shortest paths and Page rank. The API
changes constantly as we evaluate and understand the best way to develop
further. If you are interested in using our project in your own work, please
send an email to the authors.


Known Issues
------------

The moderngpu library uses only one dimensional grids and consequently this
code will fail on Fermi cards for graphs with more than 8.3 million edges.


Installation
------------

The API is available as header files in the vertexAPI2 directory. To build the
example programs and a few utility objects, run 'make' in the vertexAPI2
directory.

Notes:
- A working installation of CUDA >= 5.0 is required.
- The moderngpu library should be available alongside the vertexAPI2 directory
  (mgpu patches to be made public on our repo?)


Building GraphLab regressions
-----------------------------

To perform a regression test against GraphLab, a working installation of
GraphLab is required. Edit the file
    vertexAPI2/PowerGraphReferenceImplementations/Makefile
to reflect the location of GraphLab on your system and then run 'make'
in the PowerGraphReferenceImplementations directory.  To download some
test graphs, run 'make' in the test-graphs directory.  Finally run 'make'
in the regressions directory.  At the end you can run './report.py' to
summarize the timing comparisons between GraphLab and vertexAPI2.


Credits:
--------

VertexAPI2 is developed by Royal Caliber LLC. as part of the DARPA XDATA
program under AFRL contract [enter contract number(s)].

Developers:
  Erich Elsen, Royal Caliber LLC, [email protected]
  Vishal Vaidyanathan, Royal Caliber LLC, [email protected]

Contributors:
  John Owens, UC Davis
  Yangzihao Wang, UC Davis

Acknowledgements:
  Sean Baxter, NVIDIA for the moderngpu library
  Duane Merrill, NVIDIA for the CUB library
  Joseph Gonzalez, Berkeley, for many informative discussions about the GAS
     abstraction and GraphLab.


vertexapi2's People

Watchers

 avatar  avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.