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

(→The Rodinia Benchmark Suite) |
(→The Rodinia Benchmark Suite) |
||

Line 41: | Line 41: | ||

<TR><TD>[[Nearest Neighbor]]<TD>Dense Linear Algebra<TD>Data Mining<TD ALIGN="center">CUDA, OMP, OCL<TD>Compute pattern is similar to Kmeans | <TR><TD>[[Nearest Neighbor]]<TD>Dense Linear Algebra<TD>Data Mining<TD ALIGN="center">CUDA, OMP, OCL<TD>Compute pattern is similar to Kmeans | ||

<TR><TD>[[Gaussian Elimination]]<TD>Dense Linear Algebra<TD>Linear Algebra<TD ALIGN="center">CUDA<TD>This benchmark needs a multithreaded CPU version and valid inputs | <TR><TD>[[Gaussian Elimination]]<TD>Dense Linear Algebra<TD>Linear Algebra<TD ALIGN="center">CUDA<TD>This benchmark needs a multithreaded CPU version and valid inputs | ||

− | <TR><TD>[[Cell]]<TD>Structured Grid<TD>Cellular Automation<TD ALIGN="center">CUDA<TD> | + | <TR><TD>[[Cell | 3D Stencil]]<TD>Structured Grid<TD>Cellular Automation<TD ALIGN="center">CUDA<TD>Will be superseded by a more sophisticated 3D benchmark |

<TR><TD>[[Shortest Path | PathFinder]]<TD>Dynamic Programming<TD>Grid Traversal<TD ALIGN="center">CUDA, OCL<TD>This benchmark needs a multithreaded CPU version | <TR><TD>[[Shortest Path | PathFinder]]<TD>Dynamic Programming<TD>Grid Traversal<TD ALIGN="center">CUDA, OCL<TD>This benchmark needs a multithreaded CPU version | ||

<TR><TD>[[Hybrid Sort]]<TD>Sorting<TD>Sorting Algorithms<TD ALIGN="center">CUDA<TD>This benchmark needs a multithreaded CPU version | <TR><TD>[[Hybrid Sort]]<TD>Sorting<TD>Sorting Algorithms<TD ALIGN="center">CUDA<TD>This benchmark needs a multithreaded CPU version |

## Revision as of 16:39, 27 October 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.

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:

Applications | Dwarves | Domains | Parallel Model | Incre. Ver. |
---|---|---|---|---|

Leukocyte | Structured Grid | Medical Imaging | CUDA, OMP | ✔ |

Heart Wall | Structured Grid | Medical Imaging | CUDA, OMP | |

MUMmerGPU | Graph Traversal | Bioinformatics | CUDA, OMP | |

CFD Solver^{1} | Unstructured Grid | Fluid Dynamics | CUDA, OMP, OCL | |

LU Decomposition | Dense Linear Algebra | Linear Algebra | CUDA, OMP | ✔ |

HotSpot | Structured Grid | Physics Simulation | CUDA, OMP, OCL | |

Back Propagation | Unstructured Grid | Pattern Recognition | CUDA, OMP, OCL | |

Needleman-Wunsch | Dynamic Programming | Bioinformatics | CUDA, OMP, OCL | ✔ |

Kmeans | Dense Linear Algebra | Data Mining | CUDA, OMP, OCL | |

Breadth-First Search^{1} | Graph Traversal | Graph Algorithms | CUDA, OMP, OCL | |

SRAD | Structured Grid | Image Processing | CUDA, OMP, OCL | ✔ |

Streamcluster^{1} | Dense Linear Algebra | Data Mining | CUDA, OMP, OCL | |

Particle Filter | Structured Grid | Medical Imaging | CUDA, OMP |

Other applications (some with CUDA only):

Applications | Dwarves | Domains | Parallel Model | Comment |
---|---|---|---|---|

SQLite Select | Map Reduce | Relational Database | CUDA | This benchmark needs a multithreaded CPU version |

Nearest Neighbor | Dense Linear Algebra | Data Mining | CUDA, OMP, OCL | Compute pattern is similar to Kmeans |

Gaussian Elimination | Dense Linear Algebra | Linear Algebra | CUDA | This benchmark needs a multithreaded CPU version and valid inputs |

3D Stencil | Structured Grid | Cellular Automation | CUDA | Will be superseded by a more sophisticated 3D benchmark |

PathFinder | Dynamic Programming | Grid Traversal | CUDA, OCL | This benchmark needs a multithreaded CPU version |

Hybrid Sort | Sorting | Sorting Algorithms | CUDA | This benchmark needs a multithreaded CPU version |

Myocyte | Structured Grid | Biological Simulation | CUDA, OMP | This benchmark is considered to merge into the main suite |

New Rodinia applications coming soon:

Applications | Dwarves | Domains | Parallel Model | Comment |
---|---|---|---|---|

LavaMD^{2} | Structured Grid | Molecular Dynamics | CUDA, OMP | This benchmark is considered to merge into the main suite |

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

*
^{2}Collaboration 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.
*