DPCT1061

メッセージ

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

説明

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

修正方法の提案

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

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


1#define MACRO(x, y) cublasGetAtomicsMode(x, y) 
2void 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) 
6void 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}

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


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