- CLHandleType
- CLGetInfoInteger
- CLGetInfoString
- CLContextCreate
- CLContextFree
- CLGetDeviceInfo
- CLProgramCreate
- CLProgramFree
- CLKernelCreate
- CLKernelFree
- CLSetKernelArg
- CLSetKernelArgMem
- CLSetKernelArgMemLocal
- CLBufferCreate
- CLBufferFree
- CLBufferWrite
- CLBufferRead
- CLExecute
- CLExecutionStatus
CLBufferRead
Lit le tampon OpenCL au tableau et rend la quantité d'éléments lus.
uint CLBufferRead(
|
Il existe d'autres versions pour l'utilisation de matrices et vecteurs.
Lit le buffer OpenCL et l'écrit dans la matrice et retourne true en cas de succès.
uint CLBufferRead(
|
Lit le buffer OpenCL et l'écrit dans le vecteur et retourne true en cas de succès.
uint CLBufferRead(
|
Paramètres
buffer
[in] Le handle du tampon OpenCL.
data[]
[in] Le massif pour la réception des valeurs du tampon OpenCL. est transmis selon la référence.
buffer_offset
[in] Le décalage dans le tampon OpenCL en octets, par lequel commence la lecture. Par défaut la lecture commence par le début du tampon.
data_offset
[in] L'index du premier élément du massif pour l'inscription des valeurs du tampon OpenCL. Par défaut la lecture l'inscription des valeurs lues au tableau commence par index nul.
data_count
[in] Le nombre de valeurs, lesquelles il faut lire. Tout le tampon OpenCL est lu par défaut.
mat
[out] La matrice pour les lire les données du buffer peut être de 3 types : matrix, matrixf ou matrixc.
vec
[out] Le vecteur pour les lire les données du buffer peut être de 3 types : vector, vectorf ou vectorc.
rows=-1
[in] Si le paramètre est spécifié, le paramètre cols doit également être spécifié. Si les dimensions de la nouvelle matrice ne sont pas spécifiées, les dimensions courantes seront utilisées. Si la valeur est -1, alors le nombre de lignes ne changera pas.
cols=-1
[in] Si le paramètre n'est pas spécifié, le paramètre rows doit être spécifié également. La matrice adhère à la règle suivante : soit les 2 paramètres sont spécifiés, soit aucun, ou sinon une erreur est générée. Si les 2 paramètres (rows et cols) sont spécifiés, la taille de la matrice sera changée. Si -1, le nombre de colonnes ne sera pas changé.
size=-1
[in] Si le paramètre n'est pas spécifié ou si sa valeur est -1, la longueur du vecteur ne changera pas.
La valeur rendue
Le nombre d'éléments lus, en cas de l'erreur 0 se revient. Pour recevoir l'information sur l'erreur, utilisez la fonction GetLastError().
true si une matrice ou un vecteur est géré avec succès, sinon false.
Note
Pour les tableaux unidimentionnels le numéro de l'élément, auquel commence l'inscription des données du tampon OpenCL, est calculé en prenant en compte le drapeau AS_SERIES.
Le tableau avec la dimension deux et plus est présenté comme unidimentionnel. Dans ce cas data_offset c'est une quantité d'éléments, qu'il faut manquer dans la représentation, et non le nombre d'éléments dans une première dimension.
Exemple de calcul de Pi en utilisant l'équation :
#define _num_steps 1000000000
|