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

From Rodinia
Jump to: navigation, search
(The Rodinia Benchmark Suite)
Line 18: Line 18:
 
Current Rodinia applications:
 
Current Rodinia applications:
  
<TABLE border="1">
+
<TABLE border="1">  
<TR><TH>Applications<TH>Dwarves<TH>Domains
+
<TR><TH>Applications<TH>Dwarves<TH>Domains<TH>Parallel Model<TH>Incre. Ver.
<TR><TD>[[Leukocyte | Leukocyte*]]<TD>Structured Grid<TD>Medical Imaging
+
<TR><TD>[[Leukocyte | Leukocyte*]]<TD>Structured Grid<TD>Medical Imaging<TD ALIGN="center">CUDA, OMP<TD ALIGN="center">SOON
<TR><TD>[[Heart Wall | Heart Wall*]]<TD>Structured Grid<TD>Medical Imaging
+
<TR><TD>[[Heart Wall | Heart Wall*]]<TD>Structured Grid<TD>Medical Imaging<TD ALIGN="center">CUDA, OMP<TD ALIGN="center">
<TR><TD>[[MUMmerGPU]]<TD>Graph Traversal<TD>Bioinformatics
+
<TR><TD>[[MUMmerGPU]]<TD>Graph Traversal<TD>Bioinformatics<TD ALIGN="center">CUDA, OMP<TD ALIGN="center">
<TR><TD>[[CFD Solver]]<TD>Unstructured Grid<TD>Fluid Dynamics
+
<TR><TD>[[CFD Solver]]<TD>Unstructured Grid<TD>Fluid Dynamics<TD ALIGN="center">CUDA, OMP<TD ALIGN="center">
<TR><TD>[[LU Decomposition | LU Decomposition*]]<TD> Dense Linear Algebra<TD>Linear Algebra
+
<TR><TD>[[LU Decomposition | LU Decomposition*]]<TD> Dense Linear Algebra<TD>Linear Algebra<TD ALIGN="center">CUDA, OMP<TD ALIGN="center">Y
<TR><TD>[[HotSpot]]<TD>Structured Grid<TD>Physics Simulation
+
<TR><TD>[[HotSpot]]<TD>Structured Grid<TD>Physics Simulation<TD ALIGN="center">CUDA, OMP<TD ALIGN="center">
<TR><TD>[[Back Propagation]]<TD>Unstructured Grid<TD>Pattern Recognition
+
<TR><TD>[[Back Propagation]]<TD>Unstructured Grid<TD>Pattern Recognition<TD ALIGN="center">CUDA, OMP<TD ALIGN="center">
<TR><TD>[[Needleman-Wunsch]]<TD>Dynamic Programming<TD>Bioinformatics
+
<TR><TD>[[Needleman-Wunsch]]<TD>Dynamic Programming<TD>Bioinformatics<TD ALIGN="center">CUDA, OMP<TD ALIGN="center">SOON
<TR><TD>[[K-Means | Kmeans]]<TD>Dense Linear Algebra<TD>Data Mining
+
<TR><TD>[[K-Means | Kmeans]]<TD>Dense Linear Algebra<TD>Data Mining<TD ALIGN="center">CUDA, OMP<TD ALIGN="center">
<TR><TD>[[Graph traversal | Breadth-First Search]]<TD>Graph Traversal<TD>Graph Algorithms
+
<TR><TD>[[Graph traversal | Breadth-First Search]]<TD>Graph Traversal<TD>Graph Algorithms<TD ALIGN="center">CUDA, OMP<TD ALIGN="center">
<TR><TD>[[SRAD]]<TD>Structured Grid<TD>Image Processing
+
<TR><TD>[[SRAD]]<TD>Structured Grid<TD>Image Processing<TD ALIGN="center">CUDA, OMP<TD ALIGN="center">Y
<TR><TD>[[Streamcluster]]<TD>Dense Linear Algebra<TD>Data Mining
+
<TR><TD>[[Streamcluster]]<TD>Dense Linear Algebra<TD>Data Mining<TD ALIGN="center">CUDA, OMP<TD ALIGN="center">
<TR><TD>[[Particle Filter]]<TD>Structured Grid<TD>Medical Imaging
+
<TR><TD>[[Particle Filter]]<TD>Structured Grid<TD>Medical Imaging<TD ALIGN="center">CUDA, OMP<TD ALIGN="center">
 
</TABLE>
 
</TABLE>
  
Line 38: Line 38:
  
 
<TABLE border="1">
 
<TABLE border="1">
<TR><TH>Applications<TH>Dwarves<TH>Domains
+
<TR><TH>Applications<TH>Dwarves<TH>Domains<TH>Parallel Model
<TR><TD>[[SQL Database]]<TD>Map Reduce<TD>Relational Database
+
<TR><TD>[[SQL Database]]<TD>Map Reduce<TD>Relational Database<TD ALIGN="center">CUDA
<TR><TD>[[Nearest Neighbor]]<TD>Dense Linear Algebra<TD>Data Mining
+
<TR><TD>[[Nearest Neighbor]]<TD>Dense Linear Algebra<TD>Data Mining<TD ALIGN="center">CUDA, OMP
<TR><TD>[[Gaussian Elimination]]<TD>Dense Linear Algebra<TD>Linear Algebra
+
<TR><TD>[[Gaussian Elimination]]<TD>Dense Linear Algebra<TD>Linear Algebra<TD ALIGN="center">CUDA
<TR><TD>[[Cell]]<TD>Structured Grid<TD>Cellular Automation
+
<TR><TD>[[Cell]]<TD>Structured Grid<TD>Cellular Automation<TD ALIGN="center">CUDA
<TR><TD>[[Shortest Path | PathFinder]]<TD>Dynamic Programming<TD>Grid Traversal
+
<TR><TD>[[Shortest Path | PathFinder]]<TD>Dynamic Programming<TD>Grid Traversal<TD ALIGN="center">CUDA
<TR><TD>[[Hybrid Sort]]<TD>Sorting<TD>Sorting Algorithms
+
<TR><TD>[[Hybrid Sort]]<TD>Sorting<TD>Sorting Algorithms<TD ALIGN="center">CUDA
<TR><TD>[[Myocyte | Myocyte*]]<TD>Structured Grid<TD>Biological Simulation
+
<TR><TD>[[Myocyte | Myocyte*]]<TD>Structured Grid<TD>Biological Simulation<TD ALIGN="center">CUDA, OMP
 
</TABLE>
 
</TABLE>
  
Line 51: Line 51:
  
 
<TABLE border="1">
 
<TABLE border="1">
<TR><TH>Applications<TH>Dwarves<TH>Domains
+
<TR><TH>Applications<TH>Dwarves<TH>Domains<TH>Parallel Model
<TR><TD>[[LavaMD | LavaMD*]]<TD>Structured Grid<TD>Molecular Dynamics
+
<TR><TD>[[LavaMD | LavaMD*]]<TD>Structured Grid<TD>Molecular Dynamics<TD ALIGN="center">CUDA, OMP
 
</TABLE>
 
</TABLE>
  

Revision as of 02:00, 4 May 2011

A vision of heterogeneous computer systems that incorporate diverse
accelerators and automatically select the best computational unit for
a particular task is widely shared amongresearchers 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
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

Rodinia is designed for heterogeneous computing infrastructures, and,
using OpenMP and CUDA, targets both GPUs and multicore CPUs.
The suite currently consists of 6 applications and 7 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:

ApplicationsDwarvesDomainsParallel ModelIncre. Ver.
Leukocyte*Structured GridMedical ImagingCUDA, OMPSOON
Heart Wall*Structured GridMedical ImagingCUDA, OMP
MUMmerGPUGraph TraversalBioinformaticsCUDA, OMP
CFD SolverUnstructured GridFluid DynamicsCUDA, OMP
LU Decomposition* Dense Linear AlgebraLinear AlgebraCUDA, OMPY
HotSpotStructured GridPhysics SimulationCUDA, OMP
Back PropagationUnstructured GridPattern RecognitionCUDA, OMP
Needleman-WunschDynamic ProgrammingBioinformaticsCUDA, OMPSOON
KmeansDense Linear AlgebraData MiningCUDA, OMP
Breadth-First SearchGraph TraversalGraph AlgorithmsCUDA, OMP
SRADStructured GridImage ProcessingCUDA, OMPY
StreamclusterDense Linear AlgebraData MiningCUDA, OMP
Particle FilterStructured GridMedical ImagingCUDA, OMP

Other applications (some with CUDA only):

ApplicationsDwarvesDomainsParallel Model
SQL DatabaseMap ReduceRelational DatabaseCUDA
Nearest NeighborDense Linear AlgebraData MiningCUDA, OMP
Gaussian EliminationDense Linear AlgebraLinear AlgebraCUDA
CellStructured GridCellular AutomationCUDA
PathFinderDynamic ProgrammingGrid TraversalCUDA
Hybrid SortSortingSorting AlgorithmsCUDA
Myocyte*Structured GridBiological SimulationCUDA, OMP

New Rodinia applications coming soon:

ApplicationsDwarvesDomainsParallel Model
LavaMD*Structured GridMolecular DynamicsCUDA, OMP

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

Application Download

Please read the license file.

Also, 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.