Rodinia:Accelerating Compute-Intensive Applications with Accelerators

From Rodinia
Revision as of 16:39, 22 September 2011 by Sc5nf (Talk | contribs) (The Rodinia Benchmark Suite)

Jump to: navigation, search

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.
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 Solver1Unstructured GridFluid DynamicsCUDA, OMP, OCL
LU Decomposition* Dense Linear AlgebraLinear AlgebraCUDA, OMP
HotSpotStructured GridPhysics SimulationCUDA, OMP, OCL
Back PropagationUnstructured GridPattern RecognitionCUDA, OMP, OCL
Needleman-WunschDynamic ProgrammingBioinformaticsCUDA, OMP, OCL
KmeansDense Linear AlgebraData MiningCUDA, OMP, OCL
Breadth-First Search1Graph TraversalGraph AlgorithmsCUDA, OMP, OCL
SRADStructured GridImage ProcessingCUDA, OMP, OCL
Streamcluster1Dense Linear AlgebraData MiningCUDA, OMP, OCL
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, OCL
Hybrid SortSortingSorting AlgorithmsCUDA
Myocyte*Structured GridBiological SimulationCUDA, OMP

New Rodinia applications coming soon:

ApplicationsDwarvesDomainsParallel Model
LavaMD2Structured GridMolecular DynamicsCUDA, OMP

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

1Ana Lucia Varbanescu and Jianbin Fang, Delft University of Technology contributed the OpenCL version.

2Collaboration with Lawrence Livermore National Laboratory.

Application Download

Please read the license file.

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

[1] 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.

[2] S. Che, J. W. Sheaffer, M. Boyer, L. G. Szafaryn, L. Wang, and K. Skadron.
A Characterization of the Rodinia Benchmark Suite with Comparison to Contemporary
CMP Workloads. In Proceedings of the IEEE International Symposium on Workload
Characterization, Dec. 2010.

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 AMD, NEC labs, and NVIDIA Research.