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 で導入