診断のリファレンス¶
このトピックでは、すべての診断リファレンス番号、メッセージ、詳細なヘルプ、およびエラーを修正するための提案を提供します。
ID |
メッセージ |
---|---|
エラーを処理する |
|
文を削除できませんでした。詳細は、結果ファイルのコメントを参照してください。 |
|
特別なケースのエラーを処理する |
|
移行した API はエラーコードを返さないため、 |
|
互換性のある DPC++ コードを生成できませんでした。 |
|
SYCL* デバイスバージョンが CUDA Compute Compatibility と異なります。このコードを書き換える必要があります。 |
|
DPC++ は、統合 GPU デバイスとディスクリート GPU デバイスを区別するための標準 API を提供していません。 |
|
この API の移行は、インテル® DPC++ 互換性ツールではサポートされていません。 |
|
DPC++ では、クロック関数は定義されていません。これは、ハードウェア固有の機能です。代替関数については、ハードウェア・ベンダーにお問い合わせください。 |
|
SYCL* では、エラーの報告に例外を使用しており、エラーコードは使用していません。オリジナルコードはコメントアウトされ、警告文字列が挿入されました。このコードを書き換える必要があります。 |
|
SYCL* では、エラーの報告に例外を使用しており、エラーコードは使用していません。呼び出しは 0 に置き換えられました。このコードを書き換える必要があります。 |
|
ツールは、組込みベクトル型のオーバーロードされた演算子を検出しましたが、これは SYCL* 1.2.1 標準演算子と競合する可能性があります (詳細は、「4.10.2.1 ベクトル・インターフェイス」を参照)。競合を回避するため、名前空間が挿入されました。代わりに、SYCL* 1.2.1 標準演算子を使用してください。 |
|
カーネル実行時間の測定パターンを検出し、SYCL* で時間測定を行うための初期コードを生成しました。要件に応じて、時間の測定方法を変更できます。 |
|
丸めモードを指定できなかったため、生成されたコードはオリジナルコードと異なる精度である可能性があります。正当性を検証してください。SYCL* 数学組込み関数の丸めモードは、OpenCL* C 1.2 標準と一致しています。 |
|
フラグオプションとプライオリティー・オプションは SYCL* キューではサポートされていません。出力パラメーターは 0 に設定されます。 |
|
出力の調整が必要です。 |
|
<API 名> は移行されませんでした。パラメーター <パラメーター名 a>/<パラメーター名 b> を評価できなかったか、<パラメーター名 a> が <パラメーター名 b> と等しくありません。このコードを手動で書き換えてください。 |
|
<CUDA API 名> 呼び出しの代わりに <DPC++ API 名> 呼び出しが使用されます。この 2 つの呼び出しは同じ機能を提供するものではありません。生成されたコードの潜在的な精度やパフォーマンスの問題を確認してください。 |
|
<API 名> は移行されましたが、生成されたコードのパフォーマンスは、以下の理由により最適ではない可能性があります。
|
|
SYCL* の |
|
<API 名> の移行は、 |
|
|
|
|
|
DPC++ のサブグループは、<API 名> のマスクオプションをサポートしていません。 |
|
オリジナルコードは、プログラムロジックで処理されるエラーコードを返しました。オリジナルコードは 0 に置き換えられました。エラーコードを処理するプログラムロジックを書き直す必要があります。 |
|
SYCL* キューは、フラグオプションとプライオリティー・オプションを無視して作成されました。 |
|
<理由> により、<API 名> 呼び出しは削除されました。 理由 は次のいずれかです。
|
|
<理由> により、<API 名> 呼び出しは 0 に置き換えられました。 理由 は次のいずれかです。
|
|
<パラメーター名> はサポートされていないため、<API 名> は移行されませんでいた。 |
|
DPC++ は現在、デバイスのリソース制限の取得をサポートしていません。出力パラメーターは 0 に設定されます。 |
|
DPC++ は現在、プロセス間通信 (IPC) 操作をサポートしていません。コードを書き換える必要があります。 |
|
DPC++ は現在、ピアデバイス間のメモリーアクセスをサポートしていません。出力パラメーターは 0 に設定されます。 |
|
異なる乱数ジェネレーターが使用されています。コードを調整する必要があります。 |
|
移行したコードは、基本 Sobol ジェネレーターを使用します。 |
|
移行した API はエラーコードを返しません。ラムダでは 0 が返されます。このコードを書き換える必要があります。 |
|
ホストは、タスクを送信するため、すべての DPC++ デバイスを使用できます。コードを調整する必要があります。 |
|
移行が <API 呼び出し> に依存しているため、<型名> 型は移行されませんでした。 |
|
このコードを DPC++ で <ライブラリー名> を使用して書き換えます。 |
|
マクロ引数にカーネル関数名を使用すると、移行の結果が正しくない場合があります。マクロの定義を確認する必要があります。 |
|
生成されたコードでは、 |
|
コードがデバイス上で使用される場合は、 |
|
SYCL* では、エラーの報告に例外を使用しており、エラーコードは使用していません。<文> では、エラーコードの代わりに 0 が使用されます。このコードを書き換える必要があります。 |
|
SYCL* カーネルに渡される引数のサイズが、カスタムではない SYCL* デバイスの最小サイズ制限 (1024) を超えています。ハードウェア引数のサイズの上限は、 |
|
バージョン関連の API は、SYCL* では異なります。初期コードが生成されましたが、調整する必要があります。 |
|
|
|
この API では、一般疎行列タイプの場合にのみ移行がサポートされています。コードを調整する必要があります。 |
|
<理由> により、<オリジナルの API 名> は移行されませんでした。コードを調整する必要があります。これは、以下のいずれかが原因であると考えられます。
|
|
<API 名> の <パラメーター名> の意味が <API 名> と異なります。移行したコードを確認する必要があります。 |
|
オリジナルの値の <マクロ名> は、移行したコードでは意味をなさないため、削除されたか、0 に置き換えられました。移行したコードを確認する必要があります。 |
|
SYCL* カーネルに渡されるワークグループ・サイズが制限を超えている可能性があります。デバイスの制限を取得するには、 |
|
<型> のテンプレート引数を推測できませんでした。このコードを更新する必要があります。 |
|
DPC++ は、<プロパティー名> と機能的に互換性のあるデバイス・プロパティーをサポートしていません。<移行したトークン> に移行されました。コードを書き換える必要があります。 |
|
DPC++ は、volatile 修飾されたベクトル型のメンバーアクセスをサポートしていません。volatile 修飾子は削除されました。コードを書き換える必要があります。 |
|
デバイス・アセンブリー・コードの移行はサポートされていません。 |
|
<変数名> の型は、デバイスの関数内で <型> という名前で宣言されています。アクセサー宣言時に <型> 宣言が見えるようにコードを調整します。 |
|
サイズ 1 のベクトル型は、対応する基本型に移行され、継承することはできません。コードを書き換える必要があります。 |
|
インテル® DPC++ 互換性ツールは、デバイスコードで使用されている <変数名> を検出しませんでした。この変数がデバイスコードでも使用されている場合は、コードを書き換える必要があります。 |
|
<変数名> は、ホストコードとデバイスコードで使用されていました。インテル® DPC++ 互換性ツールは、<変数名> 型を SYCL* デバイスコードで使用するように更新し、ホストコードで使用する <ホスト変数名> を生成しました。新しい <ホスト変数名> を使用するように、手動でホストコードを更新する必要があります。 |
|
<API 名> は、コード内で呼び出されていないため、移行されません。 |
|
SYCL* は、4 チャネルのイメージ形式のみをサポートしています。コードを調整します。 |
|
SYCL* のレンジは 1D、2D、または 3D ベクトルのみです。コードを調整します。 |
|
<マクロ名> の呼び出しは、DPC++ では不要なコードのみを含んでいたため、削除されました。 |
|
SYCL* のイメージは、正規化された読み取りモードをサポートしていません。 |
|
アドバイス・パラメーターはデバイス定義です。調整する必要があります。 |
|
移行した <関数名> の呼び出しは、マクロ定義で使用されていますが、すべてのマクロの使用に対して有効ではありません。コードを調整します。 |
|
グローバルメモリーへのアクセスがない場合のパフォーマンスを向上させるため、 |
|
入力/出力の距離は、FWD/BWD_DISTANCE に移行されます。手動でコードを更新する必要があります。 |
|
<パラメーター名> は移行できませんでした。手動でコードを更新する必要があります。 |
|
<引数型> の値を推測できませんでした。手動で <プレースホルダー> を更新する必要があります。 |
|
カーネル関数の <引数名> に、逆参照できない仮想ポインターが含まれています。 |
|
<ポインター変数名>は、 |
|
FFT 計算関数のプレースを推測できなかったため、アウトオブプレースとしています。コードを調整する必要があります。 |
|
DPC++ は現在、現在のデバイスで利用可能なメモリーの取得をサポートしていません。コードを調整する必要があります。 |
|
パラメーター |
|
SYCL* イメージクラスは、オリジナルコードで使用されている一部のフラグをサポートしていません。サポートされていないフラグは無視されました。SYCL* イメージから読み取ったデータは、オリジナルコードで指定されている通りに正規化できませんでした。 |
|
cuFFT 呼び出しの移行は正しくない可能性があります。確認が必要です。 |
|
デバイス属性が、インテル® DPC++ 互換性ツールで認識されませんでした。コードを調整する必要があります。 |
|
<マクロ名> が標準の SYCL 型を再定義しているため、競合が発生する可能性があります。 |
|
強力なメモリー順序制限が必要な場合は、正当性のため、 |
|
「プレースホルダー」をダイナミック・ライブラリーのファイルパスに置き換えます。 |
|
可変個引数関数は、SYCL* カーネルやカーネルから呼び出される関数では呼び出すことはできません。コードを調整する必要があります。 |
|
生成されたコードでは、<ポインター変数> がグローバル・メモリー・アドレス空間を指していると仮定しています。ローカルまたはプライベート・メモリー・アドレス空間を指している場合、 |
|
インテル® DPC++ 互換性ツールがこの型の移行をサポートしていないため、<型名> は移行されませんでした。 |
|
移行したコードのローカルメモリーのサイズは、オリジナルコードとは異なる場合があります。移行したコードの割り当てメモリーサイズが正しいことを確認してください。 |
|
関数呼び出しには、統一できなかった異なるテンプレート・インスタンスの複数の移行結果があります。コードを調整する必要があります。 |
|
関数 %0 はサブグループ・サイズを %1 にする必要がありますが、同じ DPC++ カーネルのほかのサブグループ関数は異なるサブグループ・サイズを必要とします。コードを調整する必要があります。 |
|
__activemask の移行はサポートされていません。代わりに 0xffffffff を使用するか、コードを調整する必要があります。 |
|
DPC++ は現在、グループ間の同期をサポートしていません。「-use-experimental-features=nd_range_barrier」を指定すると、dpct ヘルパー関数 nd_range_barrier を使用して <グリッド型の変数名>.sync() を移行できます。 |
|
マクロ定義には、統一できなかったフリークエリー関数の次元の複数の移行結果があります。コードを変更する必要があります。 |
|
サブグループ・サイズ属性引数 ‘%0’ の値は、インテル® DPC++ 互換性ツールで評価できません。"dpct_placeholder" を整数定数式に置き換えてください。 |