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

From Rodinia
Jump to: navigation, search
(The Rodinia Benchmark Suite)
(The Rodinia Benchmark Suite)
Line 20: Line 20:
 
<TABLE border="1">  
 
<TABLE border="1">  
 
<TR><TH WIDTH="150">Applications<TH WIDTH="150">Dwarves<TH WIDTH="150">Domains<TH WIDTH="120">Parallel Model<TH WIDTH="80">Incre. Ver.  
 
<TR><TH WIDTH="150">Applications<TH WIDTH="150">Dwarves<TH WIDTH="150">Domains<TH WIDTH="120">Parallel Model<TH WIDTH="80">Incre. Ver.  
<TR><TD>[[Leukocyte | Leukocyte*]]<TD>Structured Grid<TD>Medical Imaging<TD ALIGN="center">CUDA, OMP<TD ALIGN="center">Y
+
<TR><TD>[[Leukocyte | Leukocyte*]]<TD>Structured Grid<TD>Medical Imaging<TD ALIGN="center">CUDA, OMP<TD ALIGN="center"> &#10004;
 
<TR><TD>[[Heart Wall | Heart Wall*]]<TD>Structured Grid<TD>Medical Imaging<TD ALIGN="center">CUDA, OMP<TD ALIGN="center">
 
<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<TD ALIGN="center">CUDA, OMP<TD ALIGN="center">
 
<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<TD ALIGN="center">CUDA, OMP<TD ALIGN="center">
 
<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<TD ALIGN="center">CUDA, OMP<TD ALIGN="center">Y
+
<TR><TD>[[LU Decomposition | LU Decomposition*]]<TD> Dense Linear Algebra<TD>Linear Algebra<TD ALIGN="center">CUDA, OMP<TD ALIGN="center">&#10004;
 
<TR><TD>[[HotSpot]]<TD>Structured Grid<TD>Physics Simulation<TD ALIGN="center">CUDA, OMP, OCL<TD ALIGN="center">
 
<TR><TD>[[HotSpot]]<TD>Structured Grid<TD>Physics Simulation<TD ALIGN="center">CUDA, OMP, OCL<TD ALIGN="center">
 
<TR><TD>[[Back Propagation]]<TD>Unstructured Grid<TD>Pattern Recognition<TD ALIGN="center">CUDA, OMP<TD ALIGN="center">
 
<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<TD ALIGN="center">CUDA, OMP, OCL<TD ALIGN="center">Y
+
<TR><TD>[[Needleman-Wunsch]]<TD>Dynamic Programming<TD>Bioinformatics<TD ALIGN="center">CUDA, OMP, OCL<TD ALIGN="center">&#10004;
 
<TR><TD>[[K-Means | Kmeans]]<TD>Dense Linear Algebra<TD>Data Mining<TD ALIGN="center">CUDA, OMP, OCL<TD ALIGN="center">
 
<TR><TD>[[K-Means | Kmeans]]<TD>Dense Linear Algebra<TD>Data Mining<TD ALIGN="center">CUDA, OMP, OCL<TD ALIGN="center">
 
<TR><TD>[[Graph traversal | Breadth-First Search]]<TD>Graph Traversal<TD>Graph Algorithms<TD ALIGN="center">CUDA, OMP, OCL<TD ALIGN="center">
 
<TR><TD>[[Graph traversal | Breadth-First Search]]<TD>Graph Traversal<TD>Graph Algorithms<TD ALIGN="center">CUDA, OMP, OCL<TD ALIGN="center">
<TR><TD>[[SRAD]]<TD>Structured Grid<TD>Image Processing<TD ALIGN="center">CUDA, OMP<TD ALIGN="center">Y
+
<TR><TD>[[SRAD]]<TD>Structured Grid<TD>Image Processing<TD ALIGN="center">CUDA, OMP<TD ALIGN="center">&#10004;
 
<TR><TD>[[Streamcluster]]<TD>Dense Linear Algebra<TD>Data Mining<TD ALIGN="center">CUDA, OMP<TD ALIGN="center">
 
<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<TD ALIGN="center">CUDA, OMP<TD ALIGN="center">
 
<TR><TD>[[Particle Filter]]<TD>Structured Grid<TD>Medical Imaging<TD ALIGN="center">CUDA, OMP<TD ALIGN="center">

Revision as of 21:50, 11 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, OMP
Heart Wall*Structured GridMedical ImagingCUDA, OMP
MUMmerGPUGraph TraversalBioinformaticsCUDA, OMP
CFD SolverUnstructured GridFluid DynamicsCUDA, OMP
LU Decomposition* Dense Linear AlgebraLinear AlgebraCUDA, OMP
HotSpotStructured GridPhysics SimulationCUDA, OMP, OCL
Back PropagationUnstructured GridPattern RecognitionCUDA, OMP
Needleman-WunschDynamic ProgrammingBioinformaticsCUDA, OMP, OCL
KmeansDense Linear AlgebraData MiningCUDA, OMP, OCL
Breadth-First SearchGraph TraversalGraph AlgorithmsCUDA, OMP, OCL
SRADStructured GridImage ProcessingCUDA, OMP
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, OCL
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.