- CLHandleType
- CLGetInfoInteger
- CLGetInfoString
- CLContextCreate
- CLContextFree
- CLGetDeviceInfo
- CLProgramCreate
- CLProgramFree
- CLKernelCreate
- CLKernelFree
- CLSetKernelArg
- CLSetKernelArgMem
- CLSetKernelArgMemLocal
- CLBufferCreate
- CLBufferFree
- CLBufferWrite
- CLBufferRead
- CLExecute
- CLExecutionStatus
CLBufferRead
Lê um buffer de OpenCL em uma array e retorna o número de elementos de leitura.
uint CLBufferRead(
|
Existem também versões para trabalhar com matrizes e vetores.
Lê o buffer OpenCL em um array e retorna true se for bem-sucedido.
uint CLBufferRead(
|
Lê o buffer OpenCL no vetor e retorna true se bem-sucedido.
uint CLBufferRead(
|
Parâmetros
buffer
[in] Um manipulador do buffer OpenCL.
data[]
[in] Um array para receber os valores do buffer OpenCL. Passado por referência.
buffer_offset
[in] Um deslocamento no buffer OpenCL em bites, a partir da qual se inicia a leitura. Por padrão, a leitura começa com o início do buffer.
data_offset
[in] O índice do primeiro elemento array para escrever os valores de buffer OpenCL. Por padrão, a escrita dos valores lidos em um array começa a partir do índice zero.
data_count
[in] O número de valores que devem ser lidos. Todo o buffer OpenCL é lido por padrão.
mat
[out] O array para a leitura dos dados do buffer pode ser de qualquer um dos três tipos matrix, matrixf ou matrixc.
vec
[out] O vetor de leitura dos dados do buffer pode ser de qualquer um dos três tipos vector, vectorf ou vectorc.
rows=-1
[in] Se o parâmetro for especificado, o parâmetro cols também deve ser especificado. Se não forem especificadas novas dimensões do array, serão utilizadas as dimensões atuais. Se o valor for -1, o número de linhas não mudará.
cols=-1
[in] Se não for especificado nenhum parâmetro, o parâmetro rows também deve ser omitido. A regra básica para um array é especificar ambos os parâmetros, ou nenhum deles, caso contrário, ocorrerá um erro. Se os dois parâmetros (rows e cols) forem especificados, a matriz será redimensionada. Se o valor for -1, o número de colunas não mudará.
size=-1
[in] Se o parâmetro não for especificado ou o valor for -1, o comprimento do vetor não mudará.
Valor do Retorno
O número de elementos de leitura. 0 (zero) é devolvido em caso de erro. Para obter informações sobre o erro, utilize a função GetLastError().
true quando executado com sucesso ao trabalhar com uma matriz ou vetor, no caso de um erro, ele retorna false.
Observação
Para arrays unidimensionais, o número do elemento, em que a escrita de dados num buffer de OpenCL inicia, é calculado tendo em conta os sinalizadores AS_SERIES.
Um array de duas ou mais dimensões é apresentado como unidimensional. Neste caso, data_offset é o número de elementos que devem ser ignorados na apresentação, e não o número de elementos na primeira dimensão.
Exemplode cálculo do número Pi com a fórmula:
#define _num_steps 1000000000
|