set_mode#
mode パラメーターに従って VM 関数の新しいモードを設定し、以前の VM モードを返します。
説明#
set_mode 関数は、new_mode パラメーターに従って VM 関数の新しいモードを設定し、以前の VM モードを返します。モードの変更は、キュー内のすべての VM 機能でグローバルに影響します。
oneMKL VM モード・パラメーターは、数学関数の精度と oneMKL VM ストライド API の動作を制御します。特定のキューに設定されたモードは、VM 関数呼び出しのローカル・モード・パラメーターによってローカルに上書きできます。
モード値は、次の表に示す値のビット単位の OR (|) の組み合わせです。
値 |
説明 |
|---|---|
精度制御 |
|
|
VM 関数の高精度バージョン。(デフォルト) |
|
VM 関数の低精度バージョン。 |
|
VM 関数のパフォーマンス強化精度バージョン。 |
スライス引数のチェック |
|
|
無効な引数の場合、 |
|
無効な引数は、呼び出しを「no-op (ノー・オペレーション)」にします。VM ステータスは |
スライス・インデックス制御 |
|
|
等しくないスライスサイズは無効とみなされます。(デフォルト) |
|
すべてのスライスサイズの最小値によって評価数が決まります。 |
|
出力スライスのサイズによって評価数が決まります。入力スライスは最初から折り返されます。 |
デフォルトのローカルモード |
|
|
VM モードが定義されていません。これには効果がありません。 |
VM モードが定義されていない場合、または VM モード値が mode::not_defined に設定されている場合のデフォルト値は (mode::badarg_exception | mode::slice_normal | mode::ha) です。
API#
構文#
uint64_t set_mode(queue& exec_queue, uint64_t new_mode )set_mode は次のデバイスをサポートします: CPU と GPU。
入力パラメーター#
- exec_queue
ルーチンが実行されるキュー。
- new_mode
設定する VM モードを指定します。
出力パラメーター#
- 戻り値 (ステータス)
以前の VM モードを指定します。
例#
oldmode = set_mode (exec_queue , mode::la);
oldmode = set_mode (exec_queue , mode::ep | mode::ftzdazon);