Difference between revisions of "Rodinia:Accelerating Compute-Intensive Applications with Accelerators"

From Rodinia
Jump to: navigation, search
 
Line 1: Line 1:
#REDIRECT [[Rodinia:A Benchmark Suite For Heterogeneous Computing]]
+
A vision of heterogeneous computer systems that incorporate diverse accelerators and automatically select the best computational unit for a particular task is widely shared among
 +
researchers and many industry analysts; however, there are no agreed-upon benchmarks to support the research needed in the development of such a platform. There are many benchmark suites for parallel computing on general-purpose CPU architectures, but accelerators fall into a gap that is
 +
not covered by current benchmark suites or benchmark development.
 +
 
 +
===The Rodinia Benchmark Suite===
 +
 
 +
The Rodinia applications are designed for heterogeneous computing infrastructures, and, using
 +
OpenMP and CUDA, target both GPUs and multicore CPUs. The suite currently consists of six applications and seven kernels. They have been parallelized with OpenMP for multicore CPUs and with CUDA for GPUs. We have been preparing for the OpenCL release.
 +
 
 +
Current Rodinia applications:
 +
 
 +
<TABLE border="1">
 +
<TR><TH>Applications<TH>Dwarves<TH>Domains
 +
<TR><TD>[[Leukocyte | Leukocyte*]]<TD>Structured Grid<TD>Medical Imaging
 +
<TR><TD>[[Heart Wall | Heart Wall*]]<TD>Structured Grid<TD>Medical Imaging
 +
<TR><TD>[[MUMmerGPU]]<TD>Graph Traversal<TD>Bioinformatics
 +
<TR><TD>[[CFD Solver]]<TD>Unstructured Grid<TD>Fluid Dynamics
 +
<TR><TD>[[LU Decomposition | LU Decomposition*]]<TD> Dense Linear Algebra<TD>Linear Algebra
 +
<TR><TD>[[HotSpot]]<TD>Structured Grid<TD>Physics Simulation
 +
<TR><TD>[[Back Propagation]]<TD>Unstructured Grid<TD>Pattern Recognition
 +
<TR><TD>[[Needleman-Wunsch]]<TD>Dynamic Programming<TD>Bioinformatics
 +
<TR><TD>[[K-Means | Kmeans]]<TD>Dense Linear Algebra<TD>Data Mining
 +
<TR><TD>[[Graph traversal | Breadth-First Search]]<TD>Graph Traversal<TD>Graph Algorithms
 +
<TR><TD>[[SRAD]]<TD>Structured Grid<TD>Image Processing
 +
<TR><TD>[[Streamcluster]]<TD>Dense Linear Algebra<TD>Data Mining
 +
<TR><TD>[[Particle Filter]]<TD>Structured Grid<TD>Medical Imaging
 +
</TABLE>
 +
 
 +
Applications with the CUDA implementations only:
 +
 
 +
<TABLE border="1">
 +
<TR><TH>Applications<TH>Dwarves<TH>Domains
 +
<TR><TD>[[SQL Database]]<TD>Map Reduce<TD>Relational Database
 +
<TR><TD>[[Nearest Neighbor]]<TD>Dense Linear Algebra<TD>Data Mining
 +
<TR><TD>[[Gaussian Elimination]]<TD>Dense Linear Algebra<TD>Linear Algebra
 +
<TR><TD>[[Cell]]<TD>Structured Grid<TD>Cellular Automation
 +
<TR><TD>[[Shortest Path | PathFinder]]<TD>Dynamic Programming<TD>Grid Traversal
 +
<TR><TD>[[Hybrid Sort]]<TD>Sorting<TD>Sorting Algorithms
 +
<TR><TD>[[Myocyte | Myocyte*]]<TD>Structured Grid<TD>Biological Simulation
 +
</TABLE>
 +
 
 +
The applications(*) are relatively hard for compilers to analyze and generate efficient GPU codes.
 +
 
 +
===Application Download===
 +
 
 +
If your use of Rodinia results in a publication, please cite:
 +
 
 +
S. Che, M. Boyer, J. Meng, D. Tarjan, J. W. Sheaffer, S.-H. Lee, and K. Skadron. “Rodinia: A Benchmark Suite for Heterogeneous Computing.” In Proceedings of the IEEE International Symposium on Workload Characterization (IISWC), pp. 44-54, Oct. 2009.([http://www.cs.virginia.edu/~skadron/Papers/rodinia_iiswc09.pdf pdf])
 +
 
 +
* [[Downloads | Download]]
 +
 
 +
<em> This work is supported by NSF grant nos. IIS-0612049,
 +
CNS-0916908 and CNS-0615277, a grant from the SRC
 +
under task no. 1607, and grants from NVIDIA Research and
 +
NEC labs. </em>

Revision as of 20:20, 4 November 2010

A vision of heterogeneous computer systems that incorporate diverse accelerators and automatically select the best computational unit for a particular task is widely shared among researchers and many industry analysts; however, there are no agreed-upon benchmarks to support the research needed in the development of such a platform. There are many benchmark suites for parallel computing on general-purpose CPU architectures, but accelerators fall into a gap that is not covered by current benchmark suites or benchmark development.

The Rodinia Benchmark Suite

The Rodinia applications are designed for heterogeneous computing infrastructures, and, using OpenMP and CUDA, target both GPUs and multicore CPUs. The suite currently consists of six applications and seven kernels. They have been parallelized with OpenMP for multicore CPUs and with CUDA for GPUs. We have been preparing for the OpenCL release.

Current Rodinia applications:

ApplicationsDwarvesDomains
Leukocyte*Structured GridMedical Imaging
Heart Wall*Structured GridMedical Imaging
MUMmerGPUGraph TraversalBioinformatics
CFD SolverUnstructured GridFluid Dynamics
LU Decomposition* Dense Linear AlgebraLinear Algebra
HotSpotStructured GridPhysics Simulation
Back PropagationUnstructured GridPattern Recognition
Needleman-WunschDynamic ProgrammingBioinformatics
KmeansDense Linear AlgebraData Mining
Breadth-First SearchGraph TraversalGraph Algorithms
SRADStructured GridImage Processing
StreamclusterDense Linear AlgebraData Mining
Particle FilterStructured GridMedical Imaging

Applications with the CUDA implementations only:

ApplicationsDwarvesDomains
SQL DatabaseMap ReduceRelational Database
Nearest NeighborDense Linear AlgebraData Mining
Gaussian EliminationDense Linear AlgebraLinear Algebra
CellStructured GridCellular Automation
PathFinderDynamic ProgrammingGrid Traversal
Hybrid SortSortingSorting Algorithms
Myocyte*Structured GridBiological Simulation

The applications(*) are relatively hard for compilers to analyze and generate efficient GPU codes.

Application Download

If your use of Rodinia results in a publication, please cite:

S. Che, M. Boyer, J. Meng, D. Tarjan, J. W. Sheaffer, S.-H. Lee, and K. Skadron. “Rodinia: A Benchmark Suite for Heterogeneous Computing.” In Proceedings of the IEEE International Symposium on Workload Characterization (IISWC), pp. 44-54, Oct. 2009.(pdf)

This work is supported by NSF grant nos. IIS-0612049, CNS-0916908 and CNS-0615277, a grant from the SRC under task no. 1607, and grants from NVIDIA Research and NEC labs.