DPCT1093

メッセージ

<Device ID> のデバイスが意図するものではない可能性があります。必要に応じて、選択デバイスを調整します。

詳細な説明

cudaSetDevice 関数は、コードを実行するデバイスを設定します。SYCL* 並行すると、デバイス選択のロジックを変更する必要が生じることがあります。

例えば、以下のオリジナル CUDA* コードについて考えてみます。


1 int main( int argc, char** argv) { 
2 cudaSetDevice(1);// Device 1 is the best choice in the original code.
3 foo(argc, argv); 
4 }

このコードは、以下の SYCL* コードに移行されます。


1 int main( int argc, char** argv) { 
2 /* DPCT1093 */ 
3 dpct::dev_mgr::instance().select_device(1); // Device 1 maybe not the best choice in SYCL. 
4 foo(argc, argv); 
5 }

このコードを以下のように手動で調整します。


1 int main( int argc, char** argv) { 
2 dpct::dev_mgr::instance().select_device(0); 
3 foo(argc, argv); 
4 }

修正方法の提案

必要に応じて、デバイスの選択ロジックを確認して調整します。