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' は、すべてのコンパイラーまたはランタイムでサポートされない
5可能性があるデバイス情報向けのインテル拡張機能で移行されました。開発者が
6 コードを調整する必要があります。
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 }
修正方法の提案
コードを調整する必要があります。