Skip to content

StreamMR: An Optimized MapReduce Framework for AMD GPUs

License

Notifications You must be signed in to change notification settings

jlgreathouse/StreamMR

 
 

Repository files navigation

StreamMR
==========

StreamMR is an optimized MapReduce framework for OpenCL-supported GPUs. 

With efficient atomic-free algorithms for output handling and intermediate 
result shuffling, StreamMR delivers an atomic-based MapReduce design that 
outperforms other atomic-based designs as well as existing atomic-free 
MapReduce implementations by nearly five-fold on an AMD Radeon HD 5870 GPU.

This prototype distribution contains four MapReduce applications: 
1. K-Means
2. Matrix Multiplication
3. String Match 
4. WordCount
This prototype distribution has only been tested on OpenCL-supported AMD GPUs 
but should be able to run on other GPU platforms that have OpenCL support, 
e.g, NVIDIA GPUs. For additional information about the research that went 
into StreamMR, please refer to or reference the following publication:

StreamMR: An Optimized MapReduce Framework for AMD GPUs. 
Marwa Elteir, Heshan Lin, Wu-chun Feng, Tom Scogland.
In Proceedings of the 17th IEEE International Conference on Parallel and 
Distributed Systems, Tainan, Taiwan, December 2011. 

An electronic copy of the above paper may be obtained at the following site:
http://synergy.cs.vt.edu/publications.php


Requirements
------------

Packages and libraries needed to build and run the applications.

To build:

	opencl >= 1.1
	gcc
	maker

To run:

	opencl libs

Building
--------

Change the variable OCLSDKROOT in Makefile. This points to the location where you have installed the SDK development package.

To build all of the included applications:

$ Make

All StreamMR applications are created in the build directory.

Running
-------

See the application-specific README file in each application's directory.

About

StreamMR: An Optimized MapReduce Framework for AMD GPUs

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • C++ 49.7%
  • C 49.5%
  • Makefile 0.8%