DPCT1051#

Message#

SYCL does not support a device property functionally compatible with <property name>. It was migrated to <migrated token>. You may need to adjust the value of <migrated token> for the specific device.

Detailed Help#

Not all CUDA* device properties currently have functionally compatible equivalents in SYCL*. If such a property is detected and it is the integer type, it will be migrated to -1. If it is the Boolean type, it will be migrated to false or true depending on the context.

Suggestions to Fix#

Review the logic and adjust it manually.

Visit the Migrating to SYCL forum for additional help.

For example, this original CUDA code:

1 void foo(cudaDeviceProp deviceProp) {
2   size_t a = deviceProp.totalConstMem;
3   ...
4 }

results in the following migrated SYCL code:

1 void foo(dpct::device_info deviceProp) {
2   /*
3   DPCT1051:0: SYCL does not support a device property functionally compatible
4   with totalConstMem. It was migrated to get_global_mem_size. You may need to
5   adjust the value of get_global_mem_size for the specific device.
6   */
7   size_t a = deviceProp.get_global_mem_size();
8   ...
9 }

which is rewritten to:

1 void foo(dpct::device_info deviceProp) {
2   size_t a = deviceProp.get_global_mem_size();
3   ...
4 }