Hi there,
i am currently using clang/clang++ to compile the CUDA part of the rodinia benchmarksuite [0]. Besides some already known bugs regarding the use of texture memory [1],[2] i have found another problem. It is only occurring for the CUDA version of the streamcluster application.
Here is how the application is compiled:
clang++ --cuda-path=/opt/cuda-8.0 -lcudart -I/opt/cuda-8.0/include -O3 streamcluster_cuda_cpu.cpp streamcluster_cuda.cu streamcluster_header.cu -o sc_gpu
This leads to several errors with the new and delete operator defines in the cuda_wrapper of clang (see attachment).
There is a workaround though. Compiling the source files in separate objects and linking them afterwards works just fine. Therefore i am not sure if this might be a bug.
What do you think?
Regards
Lorenz
[0] https://www.cs.virginia.edu/~skadron/wiki/rodinia/index.php/Main_Page
[1] 30250 – tex1Dfetch fails to compile
[2] 26400 – [CUDA] cannot find matching tex2D
compilation_log.txt (3.68 KB)