- CLHandleType
- CLGetInfoInteger
- CLGetInfoString
- CLContextCreate
- CLContextFree
- CLGetDeviceInfo
- CLProgramCreate
- CLProgramFree
- CLKernelCreate
- CLKernelFree
- CLSetKernelArg
- CLSetKernelArgMem
- CLSetKernelArgMemLocal
- CLBufferCreate
- CLBufferFree
- CLBufferWrite
- CLBufferRead
- CLExecute
- CLExecutionStatus
CLBufferRead
Liest den OpenCL-Puffer in ein Array und gibt die Anzahl der gelesenen Elemente zurück.
uint CLBufferRead(
|
Es gibt auch Versionen für die Verarbeitung von Matrizen und Vektoren.
Lesen der OpenCL-Puffer in die Matrix und gibt bei Erfolg true zurück.
uint CLBufferRead(
|
Einlesen des OpenCL-Puffers in den Vektor und Rückgabe von true bei Erfolg.
uint CLBufferRead(
|
Parameter
buffer
[in] Handle auf den OpenCL-Puffer.
data[]
[in] Array, um die Werte aus dem OpenCL-Puffer zu empfangen. Wird als Referenz übergeben.
buffer_offset
[in] Offset im OpenCL-Puffer, mit dem Lesung beginnt, in Bytes. Standardmäßig startet die Lesung am Anfang des Puffers.
data_offset
[in] Der Index des ersten Elements des Arrays, um Werte des OpenCL-Puffers zu schreiben. Standardmäßig startet die Schreibung von gelesenen Werten in ein Array mit dem Null-Index.
data_count
[in] Die Anzahl der Werte zu lesen. Standardmäßig wird der gesamte OpenCL-Puffer gelesen.
mat
[out] Die Matrix zum Lesen von Daten aus dem Puffer kann einer der drei Typen sein: matrix, matrixf oder matrixc.
vec
[out] Der Vektor zum Lesen von Daten aus dem Puffer kann von einem der drei Typen sein: vector, vectorf oder vectorc.
rows=-1
[in] Wenn der Parameter angegeben wird, sollte auch der Parameter cols (Spalten) angegeben werden. Wenn die neuen Matrixdimensionen nicht angegeben werden, werden die aktuellen verwendet. Ist der Wert -1, so ändert sich die Anzahl der Zeilen nicht.
cols=-1
[in] Wenn der Parameter nicht angegeben wird, sollte auch der Parameter rows (Zeilen) übersprungen werden. Die Matrix hält sich an die Regel: entweder sind beide Parameter angegeben, oder keiner, sonst tritt ein Fehler auf. Werden beide Parameter (rows und cols) angegeben, wird die Größe der Matrix geändert. Im Falle von -1 ändert sich die Anzahl der Spalten nicht.
size=-1
[in] Wird der Parameter nicht angegeben oder ist sein Wert -1, ändert sich die Vektorlänge nicht.
Rückgabewert
Anzahl der gelesenen Elemente. Im Falle eines Fehlers wird 0 zurückgegeben. Um Informationen über den Fehler zu erhalten, rufen Sie die Funktion GetLastError().
true, wenn eine Matrix oder ein Vektor erfolgreich verarbeitet wurde, ansonsten false.
Hinweis
Für eindimensionale Arrays, wird die Nummer des Elements, in das Schreiben von Daten aus dem OpenCL-Puffer beginnt, unter Berücksichtigung der Flagge AS_SERIES ausgerechnet.
Ein Array von zwei oder mehr Dimensionen wird als eindimensional dargestellt. In diesem Fall ist data_Offset die Anzahl der Elemente, die in der Darstellung angegeben werden soll, nicht die Anzahl der Elemente in der ersten Dimension.
Beispiel zur Berechnung von Pi anhand der Gleichung:
#define _num_steps 1000000000
|