メインコンテンツ

setConstantMemory

GPU に定数メモリを設定する

説明

setConstantMemory(kern,sym,val) は、val のデータを入れるためにシンボル名 sym の定数メモリを CUDA カーネル kern に設定します。val は、gpuArray を含め、任意の数値配列とすることができます。指名されたシンボルが存在しないか、または小さくて指定のデータが入らない場合、この関数はエラーとなります。定数を部分的に入れることはできます。

定数メモリ用にデータ型が自動変換されることはないため、定数メモリのシンボルに対し、入力するデータが正しい型であることを確認する必要があります。

setConstantMemory(kern,sym1,val1,sym2,val2,...) は複数の定数シンボルを設定します。

すべて折りたたむ

KERN が CUDA カーネルを表し、その CU ファイルに以下のインクルードと定数の定義が含まれるとします。

#include "tmwtypes.h"
__constant__ int32_t N1;
__constant__ int N2; // Assume 'int' is 32 bits
__constant__ double CONST_DATA[256];

これらには次のコマンドを実行して MATLAB® データを設定できます。

KERN = parallel.gpu.CUDAKernel(ptxFile,cudaFile);
setConstantMemory(KERN,'N1',int32(10));
setConstantMemory(KERN,'N2',int32(10));
setConstantMemory(KERN,'CONST_DATA',1:10);

あるいは、次のコマンドを実行できます。

setConstantMemory(KERN,'N1',int32(10),'N2',int32(10),'CONST_DATA',1:10);

入力引数

すべて折りたたむ

CUDA カーネル。parallel.gpu.CUDAKernel オブジェクトとして指定します。

CUDA カーネルの定数メモリのシンボル名。文字ベクトルとして指定します。指名されたシンボルが存在しないか、または小さくて指定のデータが入らない場合、この関数はエラーとなります。

特定の定数メモリに代入するデータ。数値配列または gpuArray オブジェクトとして指定します。

バージョン履歴

R2012a で導入