Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

locussam/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

AltStyle によって変換されたページ (->オリジナル) /