DPCT1061
目次
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}