Giter VIP home page Giter VIP logo

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

Contributors

svail avatar vvishal avatar

Stargazers

Shunyang Li avatar Shangyou Wang avatar  avatar  avatar mrjj avatar kuwze avatar  avatar xiaolibird avatar Martin Vahi avatar Alan Kash avatar Giant Oak avatar Jeff Hammerbacher avatar Dennis Lin avatar Shriphani Palakodety avatar Adam McLaughlin avatar Subhodeep Moitra avatar Yuduo Wu avatar m1k3 avatar phrj avatar Benjamin Brink avatar  avatar Zach Badgett avatar

Watchers

m1k3 avatar James Cloos avatar John Owens avatar Yangzihao Wang avatar  avatar Yuduo Wu avatar Giant Oak avatar

vertexapi2's Issues

cuda_util.h not found

Is this part of the cuda toolkit? I am using cuda 6.0
This file is included from gpugas.h for the following symbols/macros -
copyToHost
CHECK
SYNC_CHECK
divRoundUp
calcGridDim
copyToGPU
gpuAlloc
gpuFree

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.