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 }