mxGPUArray
MATLAB gpuArray の型
説明
mxGPUArray は不透明な C 言語の型で、MEX 関数が MATLAB gpuArray の要素にアクセスできるようにします。mxGPU API を使用することで、MATLAB gpuArray に対して計算を実行して、gpuArray の結果を MATLAB に返すことができます。
すべての MEX 関数は mxArray として入力を受け取り、出力を渡します。MATLAB の gpuArray は、GPU に格納される配列を表す、特別な種類の mxArray です。MEX 関数では、mxGPUArray オブジェクトを使用して GPU に格納されている配列にアクセスしますが、これらのオブジェクトは MATLAB の gpuArray に対応します。
mxGPU API には mxGPUArray
オブジェクトを操作する関数があります。これらの関数により、入力の mxArray から mxGPUArray を抽出する、出力の mxGPUArray を mxArray としてラップして MATLAB に返す、配列特性を決定する、基になる要素のポインターを取得することができます。計算を実行するには、作成する CUDA 関数か外部ライブラリで使用可能な CUDA 関数にポインターを渡します。
GPU MEX 関数の基本的な構造は、以下のとおりです。
mxInitGPU
を呼び出して、MathWorks GPU ライブラリを初期化します。どの
mxArray
入力に GPU データが含まれているかを判別します。入力
mxArray
引数からmxGPUArray
オブジェクトを作成し、デバイス上の入力要素のポインターを取得します。出力を格納する
mxGPUArray
オブジェクトを作成し、デバイス上の出力要素のポインターを取得します。CUDA 関数を呼び出し、デバイスのポインターに渡します。
MATLAB に返すため、出力の
mxGPUArray
をmxArray
としてラップします。作成した
mxGPUArray
オブジェクトを破棄します。
この型を含むヘッダー ファイルは mxGPUArray.h
です。これをインクルードするには、次の行を使用します。
#include "gpu/mxGPUArray.h"
バージョン履歴
R2013a で導入