DPCT1043#

メッセージ#

バージョン関連の API は、SYCL* では異なります。初期コードが生成されましたが、調整する必要があります。

詳細な説明#

生成されたコードは sycl::info::device::version を使用しており、オリジナルコードとは異なる情報を提供し、異なるタイプを使用しています。

修正方法の提案#

生成されたコードを調整します。

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


1   void foo() { 
2     int version; 
3     cudaDriverGetVersion(&version); 
4     if (version >= 12000) { 
5       code path 1 
6     } else { 
7       code path 2 
8     } 
9   }

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


1   void foo() { 
2   int version; 
3   /* 
4   DPCT1043:0: The version-related API is different in SYCL. An initial code was 
5   generated, but you need to adjust it.
6   */ 
7   version = dpct::get_current_device().get_major_version(); 
8   if (version >= 12000) { 
9     ... 
10  } else { 
11    ... 
12   
13  }

このコードは次のように書き換えられます。


1   void foo() { 
2     code path 1 
3   }