診断リファレンス#

このトピックでは、すべての診断リファレンス番号、メッセージ、詳細なヘルプ、およびエラーを修正するための提案を提供します。

ID

メッセージ

DPCT1000

エラーを処理する if-stmt が検出されましたが、書き換えることができませんでした。詳細は、結果ファイルのコメントを参照してください。

DPCT1001

文を削除できませんでした。

DPCT1002

特別なケースのエラーを処理する if-stmt が検出されました。このコードを書き直す必要があるかもしれません。

DPCT1003

移行された API はエラーコードを返しません。(*, 0) が挿入されます。このコードを書き直す必要があるかもしれません。

DPCT1004

削除されました。

互換性のある SYCL* コードを生成できませんでした。

DPCT1005

SYCL* デバイスバージョンが CUDA Compute Compatibility と異なります。このコードを書き換える必要があります。

DPCT1006

SYCL* は、統合 GPU デバイスとディスクリート GPU デバイスを区別するための標準 API を提供していません。

DPCT1007

<API name> の移行はサポートされていません。

DPCT1008

<function name> 関数は SYCL* では定義されていません。これは、ハードウェア固有の機能です。代替関数については、ハードウェア・ベンダーにお問い合わせください。

DPCT1009

SYCL* はエラーの報告に例外を使用するため、エラーコードは使用していません。元のコードはコメントアウトされ、警告文字列が挿入されました。このコードを書き換える必要があります。

DPCT1010

SYCL* はエラーの報告に例外を使用するため、エラーコードは使用していません。呼び出しは 0 に置き換えられます。このコードを書き換える必要があります。

DPCT1011

ツールは、組込みベクトル型のオーバーロードされた演算子を検出しましたが、これは SYCL* 2020 の標準演算子と競合する可能性があります (詳細は、「4.14.2.1 ベクトル・インターフェイス」を参照)。競合を回避するため、名前空間が挿入されました。代わりに、SYCL* 2020 の標準演算子を使用してください。

DPCT1012

カーネル実行時間の測定パターンを検出し、SYCL* で時間測定を行うための初期コードを生成しました。要件に応じて、時間の測定方法を変更できます。

DPCT1013

丸めモードを指定できなかったため、生成されたコードはオリジナルコードと異なる精度である可能性があります。正確性を確認します。SYCL* 数学組込み関数の丸めモードは、OpenCL* C 1.2 標準と一致しています。

DPCT1014

フラグオプションとプライオリティー・オプションは SYCL* キューではサポートされていません。出力パラメーターは 0 に設定されます。

DPCT1015

出力を調整する必要があります。

DPCT1016

削除されました。

<API name> は移行されませんでした。 <parameter name a><parameter name b> を評価できなかったか、<parameter name a><parameter name b> と等しくありません。このコードを手動で書き換えてください。

DPCT1017

<CUDA API name> 呼び出しの代わりに <SYCL API name> 呼び出しが使用されます。この 2 つの呼び出しは同じ機能を提供するものではありません。生成されたコードの潜在的な精度やパフォーマンスの問題を確認してください。

DPCT1018

<API name> は移行されましたが、生成されたコードのパフォーマンスは、以下の <reason> により最適ではない可能性があります。

DPCT1019

SYCL* の local_mem_size は、CUDA* の <variable name> と完全に等価ではありません。コードを調整する必要があるかもしれません。

DPCT1020

<api name> の移行が __global__ または __device__ 関数から呼び出される場合、サポートされません。代わりにホスト側の <api name> を使うようにコードを再設計する必要があります。この場合、SYCL* キューにこの呼び出しが自動的に送信されます。

DPCT1021

cublasHandle_t の移行が __global__ または __device__ 関数にある場合、サポートされません。コードを再設計する必要があります。

DPCT1022

maxGridSizemax_nd_range のサイズが完全に一致していません。コードの正当性を検証してください。

DPCT1023

SYCL* のサブグループは、<API name> のマスクオプションをサポートしていません。<修正方法の提案>

DPCT1024

オリジナルコードは、プログラムロジックで処理されるエラーコードを返しました。オリジナルコードは、0 に置き換えられました。エラーコードを使用するプログラムを書き直す必要が生じる場合があります。

DPCT1025

SYCL* キューは、フラグオプションとプライオリティー・オプションを無視して作成されました。

DPCT1026

<reason> により、<API name> 呼び出しは削除されました。

DPCT1027

<reason> により、<API name> 呼び出しは 0 に置き換えられました。

DPCT1028

<reason> により、オリジナルの <API name> は移行されませんでした。

DPCT1029

SYCL* は現在、デバイスのリソース制限の取得をサポートしていません。出力パラメーターは 0 に設定されます。

DPCT1030

SYCL* は現在、プロセス間通信 (IPC) 操作をサポートしていません。コードを書き換える必要があります。

DPCT1031

ピアデバイス間のメモリーアクセスは実装固有の機能であり、一部の SYCL* バックエンドおよびコンパイラーではサポートされていない可能性があります。出力パラメーターは 0 に設定されます。-no-dpcpp-extensions=peer_access を指定しない場合、ピアアクセス拡張機能を使用してコードを移行できます。

DPCT1032

異なる乱数ジェネレーターが使用されています。コードを調整する必要があるかもしれません。

DPCT1033

移行したコードは、基本 Sobol ジェネレーターを使用します。oneapi::mkl::rng::sobol ジェネレーターをユーザー定義の方向比で初期化し、スクランブル Sobol ジェネレーターとして使用します。

DPCT1034

移行された API はエラーコードを返しません。ラムダでは 0 が返されます。このコードを書き換える必要があります。

DPCT1035

すべての SYCL* デバイスは、ホストがタスクを送信するのに使用できます。コードを調整する必要があります。

DPCT1036

削除されました。

<reason> により、<type name> は移行されませんでした。

DPCT1037

SYCL* で <library name> を使用してコード書き換えます。

DPCT1038

マクロ引数にカーネル関数名を使用すると、移行の結果が正しくない場合があります。マクロの定義を確認する必要があります。

DPCT1039

生成されたコードでは、<parameter name> がグローバル・メモリー・アドレス空間を指していると仮定しています。ローカル・メモリー・アドレス空間を指している場合は、<function name><function name> に置き換えます。

DPCT1040

コードがデバイス上で使用される場合は、printf の代わりに sycl::stream を使用します。

DPCT1041

SYCL* では、エラーの報告に例外を使用しており、エラーコードは使用していません。<statement name> 文 では、エラーコードの代わりに 0 が使用されます。このコードを書き直す必要があるかもしれません。

DPCT1042

SYCL* カーネルに渡される引数のサイズが、カスタムではない SYCL* デバイスの最小サイズ制限 (1024) を超えています。ハードウェア引数のサイズの上限は、info::device::max_parameter_size で照会できます。引数のサイズがハードウェアの制限を超える場合、このコードを書き換える必要があります。

DPCT1043

バージョン関連の API は、SYCL* では異なります。初期コードが生成されましたが、調整する必要があります。

DPCT1044

<BaseClass2> が C++11 で非推奨になったため、<BaseClass1> は削除されました。クラス定義で、<BaseClass1> から型定義 (typedef) への参照を削除する必要があります。

DPCT1045

この API では、<matrix type> 疎行列タイプの移行のみがサポートされています。コードを調整する必要があるかもしれません。

DPCT1046

削除されました。

<reason>により、<original API name> は移行されませんでした。コードを調整する必要があります。

DPCT1047

<API name><parameter name> の意味が <API name> と異なります。移行したコードを確認する必要があります。

DPCT1048

オリジナル値の <macro name> は、移行したコードでは意味をなさないため、削除されたか、0 に置き換えられました。移行したコードを確認する必要があります。

DPCT1049

SYCL* カーネルに渡される work-group サイズが制限を超えている可能性があります。デバイスの上限値は、info::device::max_work_group_size で照会できます。必要に応じて、work-group サイズを調整します。

DPCT1050

<type> のテンプレート引数を推測できませんでした。このコードを更新する必要があります。

DPCT1051

SYCL は、<property name> と機能的に互換性のあるデバイス・プロパティーをサポートしていません。<migrated token> に移行されました。特定のデバイスの <migrated token>値の調整が必要となる場合があります。

DPCT1052

SYCL* は、volatile 修飾されたベクトルタイプのメンバーアクセスをサポートしていません。volatile 修飾子は削除されました。コードを書き換える必要があります。

DPCT1053

デバイス・アセンブリー・コードの移行はサポートされていません。

DPCT1054

<variable name> のタイプは、デバイスの関数内で <type> という名前で宣言されています。アクセサー宣言時に <type> 宣言が参照できるようにコードを調整します。

DPCT1055

サイズ 1 のベクトル型は、対応する基本型に移行され、継承することはできません。コードを書き換える必要があります。

DPCT1056

デバイスコードの <variable name> の使用を検出できませんでした。この変数がデバイスコードでも使用されている場合は、コードを書き換える必要があります。

DPCT1057

<variable name> は、ホストコードとデバイスコードで使用されていました。<variable name> タイプは SYCL* デバイスコードで使用されるように更新され、新しい <host variable name> は、ホストコードで使用できるように生成されました。新しい <host variable name> を使用するように、手動でホストコードを更新する必要があります。

DPCT1058

<API Name> はコード内で呼び出されていないため、移行されません。

DPCT1059

SYCL* は、4 チャネルのイメージ形式のみをサポートしています。コードを調整します。

DPCT1060

SYCL* レンジは、1D、2D、または 3D ベクトルにのみ移行できます。コードを調整します。

DPCT1061

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

DPCT1062

SYCL* のイメージは、正規化された読み取りモードをサポートしていません。

DPCT1063

アドバイス・パラメーターは、デバイス定義の <additional action> です。調整する必要があります。

DPCT1064

移行した <function name> の呼び出しは、マクロ定義で使用されていますが、すべてのマクロの使用に対して有効ではありません。コードを調整します。

DPCT1065

グローバルメモリーにアクセスしない場合、パフォーマンスを向上するには sycl::<...>::barrier()sycl::<...>::barrier(sycl::access::fence_space::local_space) に置き換えることを検討してください。

DPCT1066

削除されました。

入力/出力の距離は、FWD/BWD_DISTANCE に移行されます。手動でコードを更新する必要があります。

DPCT1067

<parameter name> は移行できませんでした。手動でコードを更新する必要があります。

DPCT1068

削除されました。

<argument type> の値を推測できませんでした。手動で <placeholder> を更新する必要があります。

DPCT1069

カーネル関数の <argument name> に、逆参照できない仮想ポインターが含まれています。usm-level=restricted でコードの移行を試してください。

DPCT1070

<pointer variable name>dpct::dpct_malloc で割り当てられます。ホストコードからポインターにアクセスするには、dpct::get_host_ptr<type>(pointer variable name) を使用します。

DPCT1071

削除されました。

FFT 計算関数のプレースを推測できなかったため、アウトオブプレースとしています。コードを調整する必要があります。

DPCT1072

SYCL* は、現在のデバイスで利用可能なメモリーの取得をサポートしていません。コードを調整する必要があるかもしれません。

DPCT1073

パラメーター <parameter name> のフィールド値を推測できなかったため、呼び出しは移行されませんでした。手動でこのコードを更新する必要があります。

DPCT1074

SYCL* イメージクラスは、オリジナルコードで使用されている一部のフラグをサポートしていません。サポートされないフラグは無視されます。SYCL* イメージから読み取られたデータは、元のコードで指定されるように正規化できませんでした。

DPCT1075

削除されました。

cuFFT 呼び出しの移行は正しくない可能性があります。確認が必要です。

DPCT1076

デバイス属性を認識できませんでした。コードを調整する必要があるかもしれません。

DPCT1077

<macro name> が標準の SYCL* タイプを再定義しているため、競合が発生する可能性があります。

DPCT1078

強力なメモリー順序制限が必要な場合は、正当性のため、memory_order::acq_relmemory_order::seq_cst に置き換えることを検討してください。

DPCT1079

削除されました。

“dpct_placeholder” をダイナミック・ライブラリーのファイルパスに置き換えます。

DPCT1080

可変個引数関数は、SYCL* カーネルやカーネルから呼び出される関数では呼び出すことはできません。コードを調整する必要があります。

DPCT1081

生成されたコードでは、<pointer variable> がグローバル・メモリー・アドレス空間を指していると仮定しています。ローカルまたはプライベート・メモリー・アドレス空間を指す場合、address_space::globaladdress_space::local または address_space::private に置き換えます。

DPCT1082

<type name> の移行はサポートされていません。

DPCT1083

移行したコードの <placeholder> サイズは、オリジナルコードとは異なる場合があります。移行したコードの割り当てメモリーサイズが正しいことを確認してください。

DPCT1084

<function name> 関数呼び出しには、統一できなかった異なるテンプレート・インスタンスの複数の移行結果があります。コードを調整する必要があるかもしれません。

DPCT1085

関数 <function name> は sub-group サイズが <size> である必要がありますが、同じ SYCL* カーネル内のほかの sub-group 関数では異なる sub-group サイズが必要です。コードを調整する必要があるかもしれません。

DPCT1086

__activemask()0xffffffff に置き換えられます。コードを調整する必要があるかもしれません。

DPCT1087

SYCL* は現在、グループ間の同期をサポートしていません。--use-experimental-features=nd_range_barrier を指定すると、dpct ヘルパー関数 nd_range_barrier を使用して <同期 API 呼び出し> を移行できます。

DPCT1088

マクロ定義には、統一できなかったフリークエリー関数の次元の複数の移行結果があります。コードを変更する必要があります。

DPCT1089

sub-group サイズ属性の引数 <argument name> の値を評価できません。dpct_placeholder を整数定数式に置き換えます。

DPCT1090

SYCL* は、<property name> と機能的に互換性のあるデバイス・プロパティーをサポートしていません。そのため移行されません。コードを書き換える必要があります。

DPCT1091

dpct::segmented_reduce 関数は、DPC++ ネイティブバイナリー操作のみをサポートします。“dpct_placeholder” を DPC++ ネイティブバイナリー操作に置き換えます。

DPCT1092

パフォーマンス向上のため、特定のハードウェアでは work-group サイズ 128 を別の値に置き換えることを検討してください。

DPCT1093

<Device ID> のデバイスが意図するものではない可能性があります。必要に応じて、選択デバイスを調整します。

DPCT1094

コンテンツには誤解を招く双方向 Unicode 文字が含まれています。

DPCT1095

識別子 <Identifier A> は、別の識別子 <Identifier B> と混同される可能性があります。

DPCT1096

この関数を呼び出す SYCL* カーネルで使用される work-group の右端の次元は、<value of kernel sub-group size attribute> (カーネル sub-group サイズ属性値) 未満である可能性があります。関数 <help function name> は、CPU デバイス上で予期しない結果を返す可能性があります。work-group サイズを変更して、右端の次元の値が <value of kernel sub-group size attribute> (カーネル sub-group サイズ属性値) の倍数になるようにします。

DPCT1097

関数 <backward function name> には、関数 <forward function name> からの中間結果を保存するためにワークスペースが必要になる場合があります。デフォルトでは、engine_ext のワークスペースがソースデータのポインターに従って選択されますが、これは正しくない可能性があり、ワークスペースのデータ競合を引き起こす可能性があります。コードを修正する必要があります。

DPCT1098

<expression text> 式は、<function name> 呼び出しの代わりに使用されます。この 2 つの式は同じ機能を提供するものではありません。生成されたコードに精度やパフォーマンスの潜在的な問題がないか確認してください。

DPCT1099

関数 <function name> で使用される方向と配置のデフォルト値、関連する計算関数呼び出しと一致しているかどうかを確認します。

DPCT1100

現在、インテル® oneAPI マス・カーネル・ライブラリー (oneMKL) の DFT 外部ワークスペース機能は、GPU デバイスでのみサポートされています。コードを GPU デバイス以外で実行する必要がある場合、内部ワークスペースを使用します。

DPCT1101

<expression text> は値に置き換えられました。コメントで示される元の式が正しい場合、その式を使用するようにコードを変更します。

DPCT1102

SYCL* デバイスコードでは、ゼロレングスの配列は許されていません。

DPCT1103

<expression text> は動的ライブラリーである必要があります。動的ライブラリーは、ラップされたカーネル関数を提供しなければなりません。

DPCT1104

<expression text> は、メモリーにロードされた動的ライブラリーを指す必要があります。動的ライブラリーは、ラップされたカーネル関数を提供しなければなりません。

DPCT1105

Mcg59 乱数ジェネレーターが使用されています。後続の引数 <expression> は無視されます。移行を検証する必要があります。

DPCT1106

<function name> は、すべてのコンパイラーまたはランタイムでサポートされない可能性があるデバイス情報向けのインテル拡張機能で移行されました。コードを調整する必要があるかもしれません。

DPCT1107

<API name> オーバーロードの移行はサポートされていません。

DPCT1108

<original API> は、実験的な機能 <feature name> と共に移行されましたが、これはすべてのコンパイラーでサポートされるわけではありません。コードを調整する必要があるかもしれません。

DPCT1109

<language feature> は SYCL* デバイスコードでは呼び出すことができません。コードを調整する必要があります。

DPCT1110

デバイス関数 <function name> で宣言されたローカス変数の合計サイズが 128 バイトを超えているため、レジスター・プレッシャーが高くなる可能性があります。ハードウェア・ベンダーに問い合わせて、利用可能な合計レジスターサイズを調べてコードを調整するか、小さな sub-group サイズを使用してレジスタープレッシャーを回避します。

DPCT1111

<migrated API> の入力引数をターゲット関数 <kernel function name> に基づいて確認します。

DPCT1112

フィルターモードが linear に設定されていると、イメージの “リード” 動作は、元のコードの tex1Dfetch とは異なる可能性があります。コードを調整する必要があるかもしれません。

DPCT1113

<function name> が多次元カーネルで呼び出される場合、sycl::nd_item::barrier(sycl::access::fence_space::local_space)sycl::nd_item::barrier() に置き換えることを検討してください。

DPCT1114

元のコードではソースのホストメモリーがページング可能なメモリーであることを想定して、cudaMemcpy は非同期 memcpy に移行されます。メモリーがページング可能でない場合、memcpy API がイベントを返すと wait() を呼び出すことで同期動作を保証します。

DPCT1115

sycl::ext::oneapi::group_local_memory_for_overwrite は、work-group のデータ並列カーネルの非カーネル・ファンクター・スコープでグループのローカルメモリーを割り当てる際に使用されます。コードを調整する必要があるかもしれません。

DPCT1116

<original API> はパフォーマンス向上にため <migrated API> に移行され、<expression>(UINT_MAX + 1) / ('<argument>' + 1) で計算されます。この移行では <value> の初期値を <expression> を乗算してスケーリングする必要があり、アトミック関数の外部で <value> の値を使用するには <expression> を除算してスケーリングする必要があります。

DPCT1117

<argument 2> には atomicInc/Dec 操作があり、<argument 2> の値はパフォーマンス向上のため移行によってスケーリングされました。DPCT1116 を参照してください。<argument 2> から <argument 1> の値を使用する場合も、<expression> を除算または乗算することでスケーリングする必要があります。コードを調整する必要があるかもしれません。

DPCT1118

SYCL* グループ関数とアルゴリズムは、収束制御フローで検出される必要があります。