fdim#

ベクトル a の要素とベクトル b の要素間の要素ごとの正の差を計算します。

説明#

fdim(a,b) 関数は、最初の要素が大きい場合は最初のベクトル引数と 2 番目のベクトル引数の対応する要素の差を含むベクトルを返し、それ以外の場合は +0 を返します。

引数 1

引数 2

結果

エラーコード

任意

QNAN

QNAN

任意

SNAN

QNAN

QNAN

任意

QNAN

SNAN

任意

QNAN

fdim(a,b) 関数はエラーを生成しません。

API#

構文#

バッファー API

namespace oneapi::mkl::vm { 

sycl::event fdim(sycl::queue & exec_queue, 
      std::int64_t n, 
      sycl::buffer<T> & a, 
      sycl::buffer<T> & b, 
      sycl::buffer<T> & y, 
      oneapi::mkl::vm::mode mode = oneapi::mkl::vm::mode::not_defined); 

}
namespace oneapi::mkl::vm { 

sycl::event fdim(sycl::queue & exec_queue, 
      sycl::buffer<T> & a, 
      oneapi::mkl::slice sa, 
      sycl::buffer<T> & b, oneapi::mkl::slice sb, 
      sycl::buffer<T> & y, 
      oneapi::mkl::slice sy, 
      oneapi::mkl::vm::mode mode = oneapi::mkl::vm::mode::not_defined); 

}

USM API

namespace oneapi::mkl::vm { 

sycl::event fdim(sycl::queue & exec_queue, 
      std::int64_t n, 
      T const * a, 
      T const * b, T * y, 
      std::vector<sycl::event> const & depends = {}, 
      oneapi::mkl::vm::mode mode = oneapi::mkl::vm::mode::not_defined); 

}
namespace oneapi::mkl::vm { 
sycl::event fdim(sycl::queue & exec_queue, 
      T const * a, 
      oneapi::mkl::slice sa, 
      T const * b, 
      oneapi::mkl::slice sb, T * y, oneapi::mkl::slice sy, 
      std::vector<sycl::event> const & depends = {}, 
      oneapi::mkl::vm::mode mode = oneapi::mkl::vm::mode::not_defined); 

}

fdim は次の精度とデバイスをサポートしています。

T

デバイスサポート

sycl::half

GPU

_Float16

CPU

float

CPU および GPU

double

CPU および GPU

入力パラメーター#

バッファー API

exec_queue

ルーチンが実行されるキュー。

n

計算する要素の数を指定します。

a

1 番目の入力ベクトルを含むバッファー。

sa

a のスライスセレクター。oneMKL スライスタイプの説明については、データタイプを参照してください。

b

2 番目の入力ベクトルを含むバッファー。

sb

b のスライスセレクター。oneMKL スライスタイプの説明については、データタイプを参照してください。

sy

y のスライスセレクター。oneMKL スライスタイプの説明については、データタイプを参照してください。

mode

この関数呼び出しのグローバル VM モード設定をオーバーライドします。指定可能な値とその説明については、set_mode 関数を参照してください。これはオプションのパラメーターです。デフォルト値は mode::not_defined です。

USM API

exec_queue

ルーチンが実行されるキュー。

n

計算する要素の数を指定します。

a

最初の入力ベクトルへのポインター。

sa

a のスライスセレクター。oneMKL スライスタイプの説明については、データタイプを参照してください。

b

2 番目の入力ベクトルへのポインター。

sb

b のスライスセレクター。oneMKL スライスタイプの説明については、データタイプを参照してください。

sy

y のスライスセレクター。oneMKL スライスタイプの説明については、データタイプを参照してください。

depends

依存イベントのベクトル (入力データの準備ができるまで待機)。これはオプションのパラメーターです。デフォルトは空のベクトルです。

mode

この関数呼び出しのグローバル VM モード設定をオーバーライドします。指定可能な値とその説明については、set_mode 関数を参照してください。これはオプションのパラメーターです。デフォルト値は mode::not_defined です。

出力パラメーター#

バッファー API

y

出力ベクトルを含むバッファー。

戻り値 (event)

計算終了イベント。

USM API

y

出力ベクトルへのポインター。

戻り値 (event)

計算終了イベント。

#

fdim の使用例は、oneMKL インストール・ディレクトリーの以下の場所にあります。

share/doc/mkl/examples/sycl/vml/source/vfdim.cpp