Rodinia benchmarks for CUDA translated to DPC++ using the Intel DPC++ Compatibility Tool. These benchmarks can run in CPU, and NVIDIA/Intel GPUs.
Before to run the benchmarks you have to install some dependencies.
sudo apt-get install freeglut3 freeglut3-dev
sudo apt-get install binutils-goldc
sudo apt-get install libglew1.5
Once you installed all the requirements, you have to edit the file "common/make.config", changing the value of the following variables:
At this point, there are two Makefiles to build the benchmarks, one of them for CUDA benchmarks and another for DPC++ benchmarks.
Move to cuda folder and invoke the make command with the following arguments:
Example:
cd cuda
make time=1
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
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.
The following benchmarks does not work in DPC++:
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.