DPCT1051
目次
DPCT1051#
メッセージ#
SYCL は、<property name> と機能的に互換性のあるデバイス・プロパティーをサポートしていません。<migrated token> に移行されました。特定のデバイスの <migrated token>値の調整が必要となる場合があります。
詳細な説明#
SYCL* は現在、すべての CUDA* デバイス・プロパティーと機能的に互換性があるわけではありません。このようなプロパティーが検出され、整数タイプは -1 に移行されます。ブールタイプは、コンテキストに応じて false または true に変換されます。
修正方法の提案#
ロジックを確認して、手動で調整してください。
ヘルプが必要な場合は、SYCL* への移行フォーラム (英語) にアクセスしてください。
例えば、以下のオリジナル CUDA* コードについて考えてみます。
1 void foo(cudaDeviceProp deviceProp) {
2 size_t a = deviceProp.totalConstMem;
3 ...
4 }
このコードは、以下の SYCL* コードに移行されます。
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 }
このコードは次のように書き換えられます。
1 void foo(dpct::device_info deviceProp) {
2 size_t a = deviceProp.get_global_mem_size();
3 ...
4 }