Is there any chance to get the ComputeCpp working under Ubuntu 18.04? I’ve installed all Intel OCL stuff. The clinfo
returns two devices, the CPU and GPU, the `computecpp_info returns two devices too
GLIBC version: 2.27
GLIBCXX: 20160609
This version of libstdc++ is supported.Device Info:
Discovered 2 devices matching:
platform :
device type :Device 0:
Device is supported : UNTESTED - Untested OS
CL_DEVICE_NAME : Intel(R) Gen9 HD Graphics NEO
CL_DEVICE_VENDOR : Intel(R) Corporation
CL_DRIVER_VERSION : 19.16.12873
CL_DEVICE_TYPE : CL_DEVICE_TYPE_GPUDevice 1:
Device is supported : UNTESTED - Untested OS
CL_DEVICE_NAME : Intel(R) Xeon(R) CPU E3-1505M v6 @ 3.00GHz
CL_DEVICE_VENDOR : Intel(R) Corporation
CL_DRIVER_VERSION : 18.1.0.0920
CL_DEVICE_TYPE : CL_DEVICE_TYPE_CPU
Looks like Untested OS
is worth giving it a shot.
then I ran the HelloSYCL
example.
The code as following:
sycl::float4 a = {1.0, 2.0, 3.0, 4.0};
sycl::float4 b = {4.0, 3.0, 2.0, 1.0};
sycl::float4 c = {0.0, 0.0, 0.0, 0.0};
sycl::cpu_selector device_selector;
sycl::queue queue(device_selector);
std::cout << "Running on "
<< queue.get_device().get_info<sycl::info::device::name>() << "\n";
sycl::buffer<sycl::float4, 1> a_sycl(&a, sycl::range<1>(1));
sycl::buffer<sycl::float4, 1> b_sycl(&b, sycl::range<1>(1));
sycl::buffer<sycl::float4, 1> c_sycl(&c, sycl::range<1>(1));
queue.submit([&](sycl::handler& cgh) {
auto a_acc = a_sycl.get_access<sycl::access::mode::read>(cgh);
auto b_acc = b_sycl.get_access<sycl::access::mode::read>(cgh);
auto c_acc = c_sycl.get_access<sycl::access::mode::discard_write>(cgh);
cgh.single_task<class vector_addition>(
[=]() { c_acc[0] = a_acc[0] + b_acc[0]; });
});
which fails in submitting the kernel, in create_program_for_kernel
when checking if (detail::kernel_info<kernelT>::name == nullptr && !c.is_host())
Is there anything that can be easily fixed to get it working?