This repository now builds with CMake. Legacy Makefile-based builds and configs have been removed.
- CMake 3.20+
- C/C++ compiler (GCC, Clang, or Intel oneAPI)
- OpenMP runtime for OpenMP and OpenCL benchmarks
- OpenCL SDK (headers + libs) for OpenCL benchmarks
- CUDA toolkit for CUDA benchmarks
- OpenGL (GL/GLU) for the mummergpu benchmarks
cmake -S . -B build
cmake --build buildBinaries are placed under build/bin by default, grouped per backend:
build/bin/ompbuild/bin/openclbuild/bin/cuda
You can override the output root:
cmake -S . -B build -DRODINIA_OUTPUT_ROOT=/path/to/binEnable or disable backends as needed:
cmake -S . -B build \
-DRODINIA_ENABLE_OPENMP=ON \
-DRODINIA_ENABLE_OPENCL=ON \
-DRODINIA_ENABLE_CUDA=OFFCUDA-specific configuration:
CMAKE_CUDA_ARCHITECTUREScontrols GPU architectures (recommended).RODINIA_CUDA_SAMPLES_INCLUDE_DIRsets the CUDA samples include directory (needed forcuda/cfdandcuda/hybridsortwhich includehelper_cuda.h).RODINIA_ENABLE_CUDA_BACKEND=OFFskips buildingcuda/benchmarks while still enabling CUDA for OpenMPmummergpu.
Example:
cmake -S . -B build \
-DRODINIA_ENABLE_CUDA=ON \
-DCMAKE_CUDA_ARCHITECTURES=80 \
-DRODINIA_CUDA_SAMPLES_INCLUDE_DIR=/usr/local/cuda/samples/common/incInput datasets are downloaded on demand into data/ (ignored by git). Run:
scripts/generate_data.shThe script fetches the full data bundle from the upstream Rodinia data
repository; override with RODINIA_DATA_URL or --url. See data/README.md
for details.
- OpenCL benchmarks include
omp.hin several places; OpenMP must be available. - If a dependency is missing, CMake will skip the corresponding backend or target and print a warning during configuration.
- CUDA 12+ toolkits are supported; CUDA benchmarks no longer rely on legacy texture references.