unisa-hpc / sycl-bench

SYCL Benchmark Suite
BSD 3-Clause "New" or "Revised" License
56 stars 31 forks source link

Problem in compilation stage with. computecpp 2.0.0 #45

Open ruialves7 opened 2 years ago

ruialves7 commented 2 years ago

Hi,

I tried compile the sycl-bench, using the computecpp 2.0.0, gcc 9.3.0 and ubuntu error, but the cmake tool return me a error: #include<CL/sycl.hpp> not found.

cmake command: cmake .. -DSYCL_IMPL=ComputeCpp -D COMPUTECPP_RUNTIME_LIBRARY=/opt/ComputeCPP/include -DComputeCpp_INFO_EXECUTABLE=/opt/ComputeCPP -D COMPUTECPP_RUNTIME_LIBRARY_DEBUG=/opt/ComputeCPP

What could I be doing wrong?

Rui

illuhad commented 2 years ago

Hi,

I don't have experience with ComputeCpp 2.0. Does the CL/sycl.hpp header exist in your ComputeCpp install directory?

If ComputeCpp 2.0 supports already SYCL 2020, it is possible that we need to change the include to #include <sycl/sycl.hpp>, although <CL/sycl.hpp> should still be available for backwards-compatibility purposes (but is maybe not available by default?). The name of the SYCL header was changed with SYCL 2020, but SYCL-Bench still mainly targets SYCL 1.2.1.

ruialves7 commented 2 years ago

Hi, I used this command in cmakecmake .. -D SYCL_IMPL=ComputeCpp -D ComputeCpp_INCLUDE_DIRS=/opt/ComputeCPP/include/ -DCOMPUTECPP_RUNTIME_LIBRARY=/opt/ComputeCPP/bin/ -DComputeCpp_INFO_EXECUTABLE=/opt/ComputeCPP/ -D COMPUTECPP_RUNTIME_LIBRARY_DEBUG=/opt/ComputeCPP/lib/

But after your suggestion i change the include and this fact solved my first problem, but now i have other: when i tried do a make using the cmake command above, the make command return a following error: ompute++: error: unable to execute command: Executable "/usr/bin/spirv-ll-tool" doesn't exist! compute++: error: spirv-ll-tool command failed with exit code 1 (use -v to see invocation)

I suspect I passed some error value in cmake flags but I'm not sure. Any suggestion?

Rui

illuhad commented 2 years ago

I'm not an expert on ComputeCpp and how it wants to be integrated with cmake - let's ask the experts from Codeplay. Pinging @rodburns as a first guess :)