Skip to content

maksud/GraphGPU

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

8 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

#GraphGPU

Koichi Shirahata implemented high performance MapReduce-based graph processing applications running on GPUs.

Here is our paper: Koichi Shirahata, Hitoshi Sato, Toyotaro Suzumura, and Satoshi Matsuoka. "A Scalable Implementation of a MapReduce-based Graph Processing Algorithm for Large-scale Heterogeneous Supercomputers" In Proceedings of the 13th IEEE/ACM International Symposium on Cluster, Cloud and Grid Computing (CCGrid 2013), Delft, Netherlands, May 2013.

This software modifies and includes Mars, a MapReduce framework on GPUs, developped by Bingsheng He et al.

##1. What is GraphGPU

GraphGPU is a MapReduce-based graph processing framework on GPU. The current distribution is based on Mars (a MapReduce framework on GPU).

##2. What is Provided

The GraphGPU distribution includes following directories:

  • src: The source code of Mars framework and graph applications. Currently GraphGPU provides following applications: PageRank, Random Walk with Restart, Connected Components

  • gengraph: Kronecker graph generator which is based on graph500 benchmark (http://www.graph500.org/). Generated edge list can be used as input for GraphGPU

  • edgelist: Sample edge lists which can be used as input data of GraphGPU.

Note: Current version only supports 1 GPU execution. We plan to add multi-GPU execution feature.

##3. Installation and Setup

Make sure you have installed CUDA. Currently GraphGPU supports CUDA 4.0.

###3.1 Installation

$ cd ${GRAPHGPU_HOME}/src/Mars
$ vi run.sh
Set ${SDK_PATH} in run.sh according to your installed CUDA SDK path by modifying run.sh (e.g. ${HOME}/NVIDIA_GPU_Computing_SDK). 

Optionally you can set ${SDK_BIN_PATH} and ${SDK_SRC_PATH} (default: SDK_BIN_PATH="$SDK_PATH/C/bin/linux/release" and SDK_SRC_PATH="$SDK_PATH/C/sample_apps").

$ cp -r sample_apps ${SDK_PATH}/C
$ cp run.sh ${SDK_SRC_PATH}

###3.2 Setup and build apps (show PageRank app as an example)

$ cd ${SDK_PATH}/C/sample_apps
$ ./run.sh make pr

###3.3 Run apps (show PageRank app as an example)

####Copy input edge list (only once) $ cp ${GRAPHGPU_HOME}/edgelist/* ${SDK_BIN_PATH}/PageRank

####Run apps $ ./run.sh run pr $ ./run.sh run pr 1 10

##4. Contact Information

Please contact Koichi Shirahata for further information. Please let us know about bug reports and suggested improvements.

##Open Source License All Koichi Shirahata offered code is licensed under the Apache License, Version 2.0. And others follow the original license announcement.

##Copyright

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Cuda 54.9%
  • C 37.8%
  • HTML 2.2%
  • Shell 1.8%
  • C++ 1.7%
  • Makefile 1.4%
  • MATLAB 0.2%