DPCT1028#
Message#
The <API name> was not migrated because <reason>.
Detailed Help#
SYCLomatic was not able to recognize the parameter value used as a CUDA* device attribute.
Suggestions to Fix#
Redesign the code logic to remove use of the device attribute.
For example, this original CUDA code:
1 void foo(int *result, CUdevice device) {
2 cuDeviceGetAttribute(result, CU_DEVICE_ATTRIBUTE_GPU_OVERLAP, device);
3 }
results in the following migrated SYCL* code:
1 void foo(int *result, int device) {
2 /*
3 DPCT1028:0: The cuDeviceGetAttribute was not migrated because parameter
4 CU_DEVICE_ATTRIBUTE_GPU_OVERLAP is unsupported.
5 */
6 cuDeviceGetAttribute(result, CU_DEVICE_ATTRIBUTE_GPU_OVERLAP, device);
7 }
which is rewritten to:
1 void foo(int *result, int device) {
2 // Assume the HW supports copy memory and execute a kernel concurrently
3 *result = 1;
4 }