DPCT1106
目次
DPCT1106#
メッセージ#
<function name> は、すべてのコンパイラーまたはランタイムでサポートされない可能性があるデバイス情報向けのインテル拡張機能で移行されました。ソースコードの調整が必要な場合があります。
詳細な説明#
CUDA* 関数 <function name> (例えば、cudaMemGetInfo
や cuMemGetInfo
) は、すべてのコンパイラーまたはランタイムでサポートされない可能性があるデバイス情報向けのインテル拡張機能で移行されました。ソースコードの調整が必要な場合があります。
例えば、以下のオリジナル CUDA* コードについて考えてみます。
1 void foo() {
2 size_t free_mem, total_mem;
3 cudaMemGetInfo(&free_mem, &total_mem);
4 }
このコードは、以下の SYCL* コードに移行されます。
1 void foo() {
2 size_t free_mem, total_mem;
3 /*
4 DPCT1106:0: 'cudaMemGetInfo' was migrated with the Intel extensions for device
5 information which may not be supported by all compilers or runtimes.You may
6 need to adjust the code.
7 */
8 dpct::get_current_device().get_memory_info(free_mem, total_mem);
9 }
このコードは次のように書き換えられます。
1 void foo() {
2 size_t free_mem, total_mem;
3 dpct::get_current_device().get_memory_info(free_mem, total_mem);
4 // free_mem は調整する必要があります
5 free_mem = /* 実装定義 */;
6 }
修正方法の提案
ソースコードの調整が必要な場合があります。