Could not find function SetThreadDescription in Kernel32.dll

Hello,

After installing Codeplay on my machine (Windows 7 64bit, Nvidia GTX 1060), I would like to test some of the samples given in your Github.

Once cloned, cmake works perfectly with the given instructions on your website :

cmake .. -G "Visual Studio 16 2019" -A x64 -DComputeCpp_DIR="C:\Program Files\Codeplay\ComputeCpp"

I am able to build every projects with Visual Studio 2019, but I can’t launch any executables. I get the following message :

The procedure entry point SetThreadDescription could not be located in the dynamic library KERNEL32.dll
Exit status : -1073741511

Is there a problem with my installation ? I have also tried adding the following flag in the cmake command : -DCOMPUTECPP_BITCODE=ptx64 but i get the same error.

Thanks.

Nvidia GPU support is no longer officially supported by ComputeCpp, we have focused our efforts on adding CUDA support to DPC++, see the page here.

I have to admint I’ve never seen the error you are reporting, it could be driver related. What does computecpp_info output?

Oh ok I tought it was still experimental judging by this website’s graph : https://www.khronos.org/sycl/. So on the other hand OneAPI doesn’t support AMD’s GPU if I understand correctly ?

Here’s the return from computecpp_info :
cmd_ckYM6jF1lh|690x452

It is still strictly speaking experimental, but we are not officially supporting it which means we won’t guarantee fixing any issues. It looks like everything is set up correctly from the computecpp_info output. If you run some code on the host (CPU) does it work ok? You would need to use a host device selector to check this. This guide explains about selecting the host_selector.

Hello rod,

Sorry for the delay. I have switched to Windows 10 and the kernel32.dll is now correctly loaded at runtime. So it seems to be an driver error from Windows 7 as you expected.

But now it doesn’t found ComputeCpp_d.dll. So I copied and moved the lib directory to the executable location, and after lauching it, I have a std::bad_array_new_length at the beginning. I don’t understand why Visual Studio can’t find the folder ComputeCpp ; COMPUTECPP_ROOT_DIR is correctly set, cmake doesn’t output something weird.

I also report a strange behavior with Visual Studio on Windows 10 this time : when I try to create a new project based on the template ComputeCpp_SYCL_template, Visual Studio doesn’t found it.

Any idea of what’s going on ? Thank you.

Hi, can I check you are running in release mode? There was a problem which was meant to be resolved that occured in debug mode, it would be good to check it is not that manifesting itself again. Thanks!

It seems to work well in Release mode, i have added two screenshots to prove it :

Summary


I will add more details to this existing issue if it can helps you :

It looks like the debug issue is still present for you. Thanks for helping us with more information.

No problem, tell me if you need more informations. For now, I’ll try DPC++ as you suggest. Thanks.

Quick note for the original question: SetThreadDescription is not available in Windows 7, ComputeCpp only supports Windows 10.

Note here that the Windows debug issue will be fixed in v 2.8.0 which will be available soon.

Ah what was the error ? Anyway thanks again for the extra infos, I’ll give a feedback when the new version will be released.