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   }