# 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:

Applications | Dwarves | Domains |
---|---|---|

Leukocyte* | Structured Grid | Medical Imaging |

Heart Wall* | Structured Grid | Medical Imaging |

MUMmerGPU | Graph Traversal | Bioinformatics |

CFD Solver | Unstructured Grid | Fluid Dynamics |

LU Decomposition* | Dense Linear Algebra | Linear Algebra |

HotSpot | Structured Grid | Physics Simulation |

Back Propagation | Unstructured Grid | Pattern Recognition |

Needleman-Wunsch | Dynamic Programming | Bioinformatics |

Kmeans | Dense Linear Algebra | Data Mining |

Breadth-First Search | Graph Traversal | Graph Algorithms |

SRAD | Structured Grid | Image Processing |

Streamcluster | Dense Linear Algebra | Data Mining |

Particle Filter | Structured Grid | Medical Imaging |

Applications with the CUDA implementations only:

Applications | Dwarves | Domains |
---|---|---|

SQL Database | Map Reduce | Relational Database |

Nearest Neighbor | Dense Linear Algebra | Data Mining |

Gaussian Elimination | Dense Linear Algebra | Linear Algebra |

Cell | Structured Grid | Cellular Automation |

PathFinder | Dynamic Programming | Grid Traversal |

Hybrid Sort | Sorting | Sorting Algorithms |

Myocyte* | Structured Grid | Biological 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. *