vault backup: 2023-04-17 20:45:27
This commit is contained in:
@@ -157,10 +157,16 @@ this->kernel.setArg(6, clBlueHistogram);
|
|||||||
|
|
||||||
## 10. 執行 kernel 並設定工作組大小
|
## 10. 執行 kernel 並設定工作組大小
|
||||||
```cpp
|
```cpp
|
||||||
auto err = queue.enqueueNDRangeKernel(this->kernel, cl::NullRange, cl::NDRange(imageWidth, imageHeight));
|
auto err = queue.enqueueNDRangeKernel(this->kernel, cl::NullRange, cl::NDRange(imageWidth, imageHeight), cl::NullRange);
|
||||||
if (err != CL_SUCCESS) {
|
if (err != CL_SUCCESS) {
|
||||||
printf("OpenCL kernel error. err = %d\n", err);
|
printf("OpenCL kernel error. err = %d\n", err);
|
||||||
}
|
}
|
||||||
```
|
```
|
||||||
|
第一個參數是[[OpenCL#6. 建立 kernel]]所建立的kernel。
|
||||||
|
第二個參數是偏移量,我們假設它在所有維度上都是 0。`cl::NullRange` 對象將滿足該 0 規範。
|
||||||
|
**第三個參數是全局大小,它指定希望執行與內核對象K**關聯的內核源代碼中指定的工作項
|
||||||
|
第四個參數是本地大小,它指定應將多少工作項分組到一個工作組中。
|
||||||
|
|
||||||
|
重點在於第三個參數,因為 GPU 可以平行運算,這裡指定說我們的資料需要幾個
|
||||||
|
|
||||||
## 11. 讀回資料
|
## 11. 讀回資料
|
||||||
Reference in New Issue
Block a user