MATLAB ヘルプ センター
GPU 上のカーネルを評価する
feval(kern,x1,...,xn)
[y1,...,ym] = feval(kern,x1,...,xn)
feval(kern,x1,...,xn) は、引数 x1,...,xn を使用して CUDA カーネル kern を評価します。入力引数の数 n は kern の NumRHSArguments プロパティの値と一致しなければならず、また、入力引数の型は kern の ArgumentTypes プロパティの記述と一致しなければなりません。入力データには通常の MATLAB® データ、GPU 配列、またはその両方を指定できます。
kern
x1,...,xn
n
NumRHSArguments
ArgumentTypes
[y1,...,ym] = feval(kern,x1,...,xn) はカーネルの評価結果から複数の出力引数を返します。各出力引数は、CUDA カーネルの実行後における、CUDA カーネルの非定数ポインター入力の値に対応します。GPU でカーネルを実行する feval の出力は、入力がすべてホスト メモリに保存されている場合でも、常に gpuArray になります。出力引数の数 m は、kern の MaxNumLHSArguments プロパティの値を超えてはなりません。
y1,...,ym
feval
gpuArray
m
MaxNumLHSArguments
例
すべて折りたたむ
CU ファイル内の CUDA カーネルに次のシグネチャがある場合を考えます。
void myKernel(const float * pIn, float * pInOut1, float * pInOut2)
この場合、MATLAB 内の対応するカーネル オブジェクトは以下のプロパティをもちます。
MaxNumLHSArguments: 2 NumRHSArguments: 3 ArgumentTypes: {'in single vector' ... 'inout single vector' 'inout single vector'}
このカーネル (KERN) に対し、feval を次の構文で使用します。
KERN
[y1, y2] = feval(KERN,x1,x2,x3)
3 つの入力引数 x1、x2 および x3 は CUDA 関数に渡される 3 つの引数に対応します。出力引数 y1 および y2 は gpuArray オブジェクトで、CUDA カーネルの実行後における pInOut1 と pInOut2 の値に対応します。
x1
x2
x3
y1
y2
pInOut1
pInOut2
parallel.gpu.CUDAKernel
CUDA カーネル。parallel.gpu.CUDAKernel オブジェクトとして指定します。
カーネルの評価に使用する引数。MATLAB データ、gpuArray オブジェクトまたは両者の組み合わせとして指定します。これらの引数の数は kern 引数の NumRHSArguments プロパティの値と一致しなければならず、また、引数の型は kern 引数の ArgumentTypes プロパティの記述と一致しなければなりません。
CUDA カーネルの評価結果からの出力。gpuArray オブジェクトとして返されます。これらの引数の数は、kern 入力引数の MaxNumLHSArguments プロパティの値を超えてはなりません。
R2010b で導入
CUDAKernel | gpuArray
CUDAKernel
You clicked a link that corresponds to this MATLAB command:
Run the command by entering it in the MATLAB Command Window. Web browsers do not support MATLAB commands.
Web サイトの選択
Web サイトを選択すると、翻訳されたコンテンツにアクセスし、地域のイベントやサービスを確認できます。現在の位置情報に基づき、次のサイトの選択を推奨します:
また、以下のリストから Web サイトを選択することもできます。
最適なサイトパフォーマンスの取得方法
中国のサイト (中国語または英語) を選択することで、最適なサイトパフォーマンスが得られます。その他の国の MathWorks のサイトは、お客様の地域からのアクセスが最適化されていません。
南北アメリカ
ヨーロッパ
アジア太平洋地域
最寄りの営業オフィスへのお問い合わせ