Wiki

Clone wiki

clprog / Home

Rodinia implementation details

Specifics of each application implementation are collected in a separate page Rodinia applications descriptions.

Getting started

The top level Makefile default target builds and runs the harness executing every benchmark application on every platform and device for each input 5 times.

The harness application redirects the stdout of each benchmark to charts/build/run-XXX.out and the stderr to charts/build/run-XXX.err file. The number XXX is incremented automatically so that the existing run* files are not overwritten. The '*.out' file contains the profiling information for the executed benchmarks.

Rodinia modifications

The modifications of Rodinia benchmarks are contained under rodinia/opencl subdirectory. A new subdirectory rodinia/opencl/utils contains the code common to all benchmarks. This code is factorization of routines that help to setup OpenCL data structures.

  • rodinia/opencl/utils/
    • CLHelper.h wrapper functions to OpenCL API.
    • harness.cpp harness application.
    • util.h utility functions.

The benchmarks modified to accept extra command line arguments, in addition to the ones the programs normally accept. The extra arguments are -p <platform number> and -d <device number>.

Updated