- CLHandleType
- CLGetInfoInteger
- CLGetInfoString
- CLContextCreate
- CLContextFree
- CLGetDeviceInfo
- CLProgramCreate
- CLProgramFree
- CLKernelCreate
- CLKernelFree
- CLSetKernelArg
- CLSetKernelArgMem
- CLSetKernelArgMemLocal
- CLBufferCreate
- CLBufferFree
- CLBufferWrite
- CLBufferRead
- CLExecute
- CLExecutionStatus
CLExecute
Bir OpenCL programını çalıştırır. Fonksiyonun 3 versiyonu bulunmaktadır:
1. Tek bir kernel kullanarak, Kernel fonksiyonlarını çalıştırır
bool CLExecute(
|
2. Görev alanı açıklaması ile birkaç kernel (OpenCL fonksiyonu) kopyasını çalıştırır
bool CLExecute(
|
3. Görev alanı açıklaması ile, grubun yerel görevler alt-kümesinin büyüklüğünü belirterek, birkaç kernel (OpenCL fonksiyonu) kopyasını çalıştırır
bool CLExecute(
|
Parametreler
kernel
[in] OpenCL kernelinin tanıtıcı değeri.
work_dim
[in] Görev alanının boyutu.
global_work_offset[]
[in] Görev alanındaki başlangıç konumu.
global_work_size[]
[in] Görevler alt-kümesinin büyüklüğü.
local_work_size[]
[in] Grubun yerel görevler alt-kümesinin büyüklüğü.
Dönüş değeri
Başarı durumunda 'true', aksi durumda 'false' dönüşü yapar. Hata hakkında bilgi almak için GetLastError() fonksiyonunu kullanın.
Not
Aşağıdaki örnekte yer alan parametre kullanımını göz önüne alın:
- work_dim, görevi tanımlayan work_items[] dizisini belirtir. work_dim=3 ise, üç boyutlu dizi kullanılır work_items[N1, N2, N3] is used.
- global_work_size[], work_items[] dizisinin büyüklüğünü ayarlayan değerler içerir. work_dim=3 ise, global_work_size[3] dizisi {40, 100, 320} olabilir. Böylece work_items[40, 100, 320] dizisini elde ederiz. Yani görevlerin toplam sayısı: 40 х 100 х 320 = 1 280 000.
- local_work_size[] OpenCL programının belirtilen kerneli tarafından çalıştırılacak görevlerin alt-kümesini ayarlar. Bunun boyutu work_items[] dizisinin boyutuna eşittir ve görevler alt kümesinin daha küçük alt kümelere bçlünmesine izin verir. work_items[] global görevler kümesinin daha küçük alt-kümelere bölünebilmesi için local_work_size[] dizisi seçilmelidir. local_work_size[3]={10, 10, 10} mevcut örneğe uyacaktır; work_items[40, 100, 320] dizisi, herhangi bir aşım olmadan local_items[10, 10, 10] dizisinden toplanabilir.