- CLHandleType
- CLGetInfoInteger
- CLGetInfoString
- CLContextCreate
- CLContextFree
- CLGetDeviceInfo
- CLProgramCreate
- CLProgramFree
- CLKernelCreate
- CLKernelFree
- CLSetKernelArg
- CLSetKernelArgMem
- CLSetKernelArgMemLocal
- CLBufferCreate
- CLBufferFree
- CLBufferWrite
- CLBufferRead
- CLExecute
- CLExecutionStatus
CLBufferRead
Legge un buffer OpenCL in un array e restituisce il numero di elementi letti.
uint CLBufferRead(
|
Ci sono anche versioni per la gestione di matrici e vettori.
Legge il buffer OpenCL nella matrice e restituisce true in caso di esito positivo.
uint CLBufferRead(
|
Legge il buffer OpenCL nel vettore e restituisce true in caso di esito positivo.
uint CLBufferRead(
|
Parametri
buffer
[in] Un handle del buffer OpenCL .
data[]
[in] Un array per ricevere valori dal buffer OpenCL. Passato per riferimento.
buffer_offset
[in] Un offset nel buffer OpenCL in byte, da cui inizia la lettura. Per default, la lettura inizia proprio dall'inizio inizio, del buffer.
data_offset
[in] L'indice del primo elemento della matrice per scrivere i valori del buffer OpenCL. Per default, la scrittura dei valori letti in un array inizia dall'indice zero.
data_count
[in] Il numero di valori che devono essere letti. L'intero buffer OpenCL viene letto per impostazione predefinita.
mat
[out] La matrice per la lettura dei dati dal buffer può essere uno qualsiasi dei tre tipi: matrix, matrixf o matrixc.
vec
[out] Il vettore per la lettura dei dati dal buffer può essere di uno qualsiasi dei tre tipi — vector, vectorf or vectorc.
rows=-1
[in] Se il parametro è specificato, è necessario specificare anche il parametro cols. Se non vengono specificate le nuove dimensioni della matrice, vengono utilizzate quelle correnti. Se il valore è -1, il numero di righe non cambia.
cols=-1
[in] Se il parametro non è specificato, anche il parametro rows deve essere ignorato. La matrice rispetta la regola: o sono specificati entrambi i parametri o nessuno, altrimenti si verificherà un errore. Se vengono specificati entrambi i parametri (rows e cols), la dimensione della matrice viene modificata. In caso di -1, il numero di colonne non cambia.
size=-1
[in] Se il parametro non è specificato o il suo valore è -1, la lunghezza del vettore non cambia.
Valore restituito
Il numero di elementi di lettura. 0 viene restituito in caso di errore. Per ulteriori informazioni sull'errore, utilizzare la funzione GetLastError().
true se una matrice o un vettore vengono gestiti correttamente, altrimenti false.
Nota
Per array uni-dimensionali, il numero dell'elemento, in cui la scrittura di dati in un inizio di buffer OpenCL, viene calcolata tenendo conto delle flags AS_SERIES.
Un array di due o più dimensioni è presentata come uni-dimensionale. In questo caso, data_offset è il numero di elementi che devono essere saltati nella presentazione, non il numero di elementi nella prima dimensione.
Esempio calcolo di Pi utilizzando l'equazione:
#define _num_steps 1000000000
|