在使用OpenCL編程中,需要對GPU設備的底層理解,這樣才能更好的進行代碼優化。
比如計算單元CU數量,每個CU的執行單元PE數量,每個CU中的共享內存大小等等。只有了解了這些才能更好的使用共享內存,設計核函數的運行參數等。
1.clGetDeviceInfo
OpenCL使用clGetDeviceInfo函數獲取設備具體,函數原型如下:
cl_int clGetDeviceInfo (
cl_device_id device, //設備id號
cl_device_info param_name, //枚舉變量,要獲取的設備信息名稱
size_t param_value_size, //參數類型大小
void *param_value, //參數值
size_t *param_value_size_ret //參數類型大小
);
這個函數需要調用兩次,第一次獲取參數類型大小,第二次獲取參數。
2.代碼實例
2.1 tool.h 與tool.cpp
見:http://www.cnblogs.com/xudong-bupt/p/3582780.html