- CLHandleType
- CLGetInfoInteger
- CLGetInfoString
- CLContextCreate
- CLContextFree
- CLGetDeviceInfo
- CLProgramCreate
- CLProgramFree
- CLKernelCreate
- CLKernelFree
- CLSetKernelArg
- CLSetKernelArgMem
- CLSetKernelArgMemLocal
- CLBufferCreate
- CLBufferFree
- CLBufferWrite
- CLBufferRead
- CLExecute
- CLExecutionStatus
CLBufferRead
Bir OpenCL tamponunu bir diziye okur ve okunan eleman sayısına dönüş yapar.
uint CLBufferRead(
|
Matrisleri ve vektörleri işlemek için versiyonlar da mevcuttur.
OpenCL arabelleğini matrise okur ve başarılı olursa true değerini geri döndürür.
uint CLBufferRead(
|
OpenCL arabelleğini vektöre okur ve başarılı olursa true değerini geri döndürür.
uint CLBufferRead(
|
Parametreler
buffer
[in] OpenCL tamponu için bir tanıtıcı değer.
data[]
[in] OpenCL tamponunun değerlerini almak için bir dizi. Referans ile geçirilir.
buffer_offset
[in] OpenCL tamponunda okuma işleminin başlayacağı bayt bazındaki konum değeri. Okuma, varsayılan olarak tamponun en başından başlar.
data_offset
[in] OpenCL tamponunun değerlerini yazmak için, ilk dizi elemanının indisi. Okunan elemanların yazımına, varsayılan olarak sıfırdan başlanır.
data_count
[in] Okunması gereken değerlerin sayısı. Varsayılan olarak OpenCL tamponunun tamamı okunur.
mat
[out] Arabellekten veriler alacak matris şu üç türden herhangi biri olabilir: matrix, matrixf veya matrixc.
vec
[out] Arabellekten veriler alacak vektör şu üç türden herhangi biri olabilir: vector, vectorf veya vectorc.
rows=-1
[in] Bu parametre belirtilirse, cols parametresi de belirtilmelidir. Yeni matris boyutları belirtilmezse, mevcut olanlar kullanılır. Değer -1 olarak belirtilirse satır sayısı değişmez.
cols=-1
[in] Bu parametre belirtilmezse, rows parametresi de belirtilmemelidir. Matris şu kurala bağlıdır: ya her iki parametre de belirtilir ya da hiçbiri belirtilmez, aksi takdirde hata meydana gelir. Her iki parametre de (rows ve cols) belirtilirse, matris boyutu değiştirilir. Değer -1 olarak belirtilirse sütun sayısı değişmez.
size=-1
[in] Bu parametre belirtilmezse veya -1 olarak belirtilirse vektör uzunluğu değişmez.
Dönüş değeri
Okunan elemanların sayısı. Hata durumunda 0 dönüşü yapılır. Hata hakkında bilgi almak için GetLastError() fonksiyonunu kullanın.
Matris veya vektör başarıyla işlenirse true, aksi takdirde false geri döndürür.
Not
Tek boyutlu diziler için, OpenCL tamponuna yazılacak elemanların sayısı, AS_SERIES bayrağı hesaba katılarak hesaplanır.
İki veya daha fazla boyuta sahip diziler, tek boyutlu farz edilir. Bu durumda, data_offset parametresi, ilk boyuttaki elemanların sayısı değil, sunulan dizide atlanması gereken elemanların sayısıdır.
Denklem kullanılarak pi sayısının hesaplamasına örnek:
#define _num_steps 1000000000
|