DPCT1061#

メッセージ#

<macro name> の呼び出しは、SYCL* では不要なコードのみを含んでいたため、削除されました。

詳細な説明#

マクロ定義にコードのみが含まれ、移行中にコードが削除されると、インテル® DPC++ 互換性ツールはマクロ自体も削除します。

修正方法の提案

コードを確認して、マクロ定義が必要ない場合は削除します。

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


1  #define MACRO(x, y) cublasGetAtomicsMode(x, y) 
2  void foo(cublasHandle_t h, cublasAtomicsMode_t *am) { 
3   MACRO(h, am); 
4   ...
5  }

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


1  /* 
2   DPCT1026:0: The call to cuInit was removed because this call is redundant in 
3   SYCL.
4  */ 
5  #define MACRO(x, y) 
6  void foo(dpct::queue_ptr h, int *am) { 
7  /* 
8   DPCT1061:1: Call to MACRO macro was removed because it only contains code, 
9   which is unnecessary in SYCL.
10 */ 
11  ... 
12 }

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


1  void foo(dpct::queue_ptr h, int *am) { 
2    ... 
3  }