- CLHandleType
- CLGetInfoInteger
- CLGetInfoString
- CLContextCreate
- CLContextFree
- CLGetDeviceInfo
- CLProgramCreate
- CLProgramFree
- CLKernelCreate
- CLKernelFree
- CLSetKernelArg
- CLSetKernelArgMem
- CLSetKernelArgMemLocal
- CLBufferCreate
- CLBufferFree
- CLBufferWrite
- CLBufferRead
- CLExecute
- CLExecutionStatus
CLBufferRead
OpenCL バッファを配列に読み込んで読まれた要素の数を返します。
uint CLBufferRead(
|
行列とベクトルを処理するためのバージョンもあります。
OpenCLバッファの値を行列に読み込み、成功した場合は true を返します。
uint CLBufferRead(
|
OpenCLバッファの値をベクトルに読み込み、成功した場合は true を返します。
uint CLBufferRead(
|
パラメータ
buffer
[in] OpenCL バッファハンドル
data[]
[in] OpenCL バッファから値を受け取る配列。参照で引き渡されます。
buffer_offset
[in] OpenCL バッファ内のバイト単位での読み込みが始まるオフセット。デフォルトでは読み込みはバッファの一番初めから始まります。
data_offset
[in] OpenCLのバッファの値を書き込むための最初の配列要素のインデックス。デフォルトでは、配列への読み込み値の書き込みはゼロインデックスから始まります。
data_count
[in] 読まれる値の数。デフォルトでは OpenCL バファ全体が読まれます。
mat
[out] バッファにデータを書き込む行列は、matrix、matrixf、matrixc の 3 つのタイプのいずれかです。
vec
[out] バッファにデータを書き込むベクトルは、vector、vectorf、vectorc の 3 つのタイプのいずれかです。
rows=-1
[in] パラメータが指定されている場合、colsパラメータも指定する必要があります。新しい行列の次元が指定されていない場合は、現在の次元が使用されます。値が -1 の場合、行数は変わりません。
cols=-1
[in] パラメータが指定されていない場合、rowsパラメータもスキップする必要があります。行列は次のルールに従います。両方のパラメータが指定されているか、何も指定されていない場合、エラーが発生します。両方のパラメータ(rows と cols)が指定されている場合、行列のサイズが変更されます。-1の場合、列数は変わりません。
size=-1
[in] パラメータが指定されていない場合、またはその値が -1 の場合、ベクトルの長さは変わりません。
戻り値
読まれた要素の数。エラーの場合 0 。エラー情報を取得するには、GetLastError() 関数が呼ばれます。
行列またはベクトルが正常に処理された場合は true、それ以外の場合は false。
注意事項
1 次元配列では OpenCL バッファへの書き入れが始まる要素の番号はAS_SERIES フラグを考慮して計算されます。
2 次元以上の配列は1 次元として提示されます。この場合 data_offset は、1 次元目の要素の数ではなく、抜かされるべき要素の数です。
式を使用した Pi の計算の例
#define _num_steps 1000000000
|