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  }