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