ドキュメンテーション

最新のリリースでは、このページがまだ翻訳されていません。 このページの最新版は英語でご覧になれます。

CUDAKernel

GPU 上で実行可能なカーネル

コンストラクター

parallel.gpu.CUDAKernel

説明

CUDAKernel オブジェクトは GPU 上で実行可能な CUDA カーネルを表します。GPU での CUDA または PTX コードの実行で説明されているように、PTX または CU コードをコンパイルする際にこのカーネルを作成します。

メソッド

existsOnGPUGPU で gpuArray または CUDAKernel が使用可能かどうかを判別する
fevalGPU 上のカーネルを評価する
setConstantMemoryGPU に定数メモリを設定する

プロパティ

CUDAKernel オブジェクトには以下のプロパティがあります。

プロパティ名説明
ThreadBlockSizeカーネルにあるスレッドのブロック サイズ。これには長さ 1、2 または 3 の整数ベクトルを指定できます (スレッド ブロックは最大 3 次元のため)。ThreadBlockSize の要素の積はこのカーネルの MaxThreadsPerBlock を超えてはならず、また、ThreadBlockSize のいずれの要素も GPUDevice のプロパティ MaxThreadBlockSize の対応する要素を超えることはできません。
MaxThreadsPerBlockこの CUDA カーネルの単一ブロックで許可されるスレッドの最大数。ThreadBlockSize の要素の積はこの値を超えてはなりません。
GridSizeグリッドのサイズ (実際上は、GPU によって個別に起動されるスレッド ブロックの数)。これは長さ 3 の整数ベクトルです。このベクトルのいずれの要素も、GPUDevice オブジェクトの MaxGridSize プロパティのベクトルの対応する要素を超えることはできません。
SharedMemorySize各スレッド ブロックが使用できる動的な共有メモリの量 (バイト単位)。各スレッド ブロックには使用可能な共有メモリ領域があります。この領域のサイズは現在のカードでは 16 kB 以下に制限されており、マルチプロセッサ上のレジスタと共有されています。すべてのメモリと同じく、これもカーネルの起動前に割り当てる必要があります。この共有メモリ領域のサイズをスレッド ブロックのサイズに関連付けることも、一般に行われます。カーネル上でこの値を設定することで、ブロック内の各スレッドがこの使用可能な共有メモリ領域にアクセスできるようになります。
EntryPoint(読み取り専用) このカーネルで呼び出す PTX コード内の実際のエントリ ポイント名を含む文字ベクトル。例は '_Z13returnPointerPKfPy' のようになります。
MaxNumLHSArguments(読み取り専用) このカーネルでサポートされる左辺引数の数の上限。これは右辺引数の数を超えることはできず、また、定数またはスカラーの入力がある場合にはこの数より少なくなります。
NumRHSArguments(読み取り専用) このカーネルを呼び出すのに必要な右辺引数の数。すべての入力で、入力のスカラー値、ベクトル入出力の要素または出力引数のサイズのいずれかを定義する必要があります。
ArgumentTypes(読み取り専用) 文字ベクトルの cell 配列。長さは NumRHSArguments と同じです。各文字ベクトルでは、この入力に必要な MATLAB の型 (uint8singledouble などの数値型に scalar または vector の語が続き、参照と値のいずれで渡すかを示す) が指定されます。また、引数がカーネルへの入力専用の場合には、その先頭に in が付きます。入出力兼用の場合は、その先頭に inout が付きます。これにより、MATLAB 配列と gpuArray の両方を使用してカーネルを効率的に呼び出す方法を決め、どのカーネル入力を出力として扱うかを確認できます。

R2011b で導入