エラー処理

エラー処理#

oneMKL のエラー処理は、C++ の例外メカニズムに関連しています。エラーが発生すると、標準の C++ エラー処理メカニズムによってキャッチされ、関数呼び出しに伝搬されます。

例外の分類#

oneMKL の例外分類は、C++ 標準ライブラリーの分類と一致しています。oneMKL は、oneMKL 例外クラスの階層に基本クラスを定義するクラスを導入します。すべての oneMKL ルーチンは、基本クラスから継承される例外をスローします。

oneMKL 例外階層では、oneapi::mkl::exceptionstd::exception クラスから継承された基本クラスです。他のすべての oneMKL 例外クラスは、この基本クラスから派生しています。

oneMKL 例外の階層

oneMKL 例外の階層#

すべての oneMKL 問題固有の例外が次の表にリストされています。

例外クラス

説明

oneapi::mkl::unsupported_device

特定のデバイスでルーチンがサポートされていない場合に問題を報告します

oneapi::mkl::host_bad_alloc

ホストのメモリー割り当てで発生した問題を報告します

oneapi::mkl::device_bad_alloc

特定のデバイスのメモリー割り当てで発生した問題を報告します

oneapi::mkl::unimplemented

指定されたパラメーターに対して特定のルーチンが実装されていない場合に問題を報告します

oneapi::mkl::invalid_argument

ルーチンへの引数が拒否されたときの問題を報告します

oneapi::mkl::uninitialized

ハンドル (記述子) が初期化されていない場合に問題を報告します

oneapi::mkl::computation_error

oneMKL ルーチン内で発生した計算エラーを報告します

oneapi::mkl::batch_error

oneMKL ルーチン内で発生したエラーを報告します