artecs-group / rodinia-dpct-dpcpp

MIT License
4 stars 1 forks source link

Rodinia Benchmarks for DPC++

Rodinia benchmarks for CUDA translated to DPC++ using the Intel DPC++ Compatibility Tool. These benchmarks can run in CPU, and NVIDIA/Intel GPUs.

Requirements

Before to run the benchmarks you have to install some dependencies.

Project Configuration

Once you installed all the requirements, you have to edit the file "common/make.config", changing the value of the following variables:

Compilation

At this point, there are two Makefiles to build the benchmarks, one of them for CUDA benchmarks and another for DPC++ benchmarks.

CUDA Benchmark Compilation

Move to cuda folder and invoke the make command with the following arguments:

Example:

cd cuda
make time=1

DPC++ Benchmark Compilation

Move to dpcpp folder and invoke the make command with the following arguments:

The following example compiles the benchmarks using the LLVM compiler, selects the NVIDIA GPU, and choose to show the GPU time consumption:

cd dpcpp
make DPCPP_ENV=clang DEVICE=NVIDIA_GPU time=1

How to run it?

You can run them one by one, or use the scripts we provide ("time_cuda.sh", "time_dpcpp.sh"), which save the kernel time in a "timing" folder. For that, you had to compile them with the "time=1" argument.

Known Issues

Benchmarks not working in DPC++

The following benchmarks does not work in DPC++:

Publications

Acknowledgements

This work has been supported by the EU (FEDER) and the Spanish MINECO and CM under grants S2018/TCS-4423 and RTI2018-093684-B-I00.