DPCT1028
目次
DPCT1028#
メッセージ#
<reason> により、オリジナルの <API name> は移行されませんでした。
詳細な説明#
インテル® DPC++ 互換性ツールは、CUDA* デバイス属性として使用されるパラメーター値を認識できませんでした。
修正方法の提案#
コードロジックを再設計して、デバイス属性を削除します。
例えば、以下のオリジナル CUDA* コードについて考えてみます。
1 void foo(int *result, CUdevice device) {
2 cuDeviceGetAttribute(result, CU_DEVICE_ATTRIBUTE_GPU_OVERLAP, device);
3 }
このコードは、以下の SYCL* コードに移行されます。
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 }
このコードは次のように書き換えられます。
1 void foo(int *result, int device) {
2 // Assume the HW supports copy memory and execute a kernel concurrently
3 *result = 1;
4 }