我正在进行OpenCL编程的第一步。我非常喜欢它。
但我现在有一个小问题,我想要解决。我正在尝试使用clGetDeviceInfo (currentDevice,CL_DEVICE_MAX_CLOCK_FREQUENCY,sizeof(clockFrequency),clockFrequency,NULL)获得我的中央处理器和图形处理器的时钟速度;如果我理解正确的话,这是正确的方式。现在我想打印它,使用printf(“时钟频率是%d MHz\n",clockFrequency);
但这并不管用。到目前为止我已经尝试过:%d,%ld,%lld (你永远不会知道:P) %u,%lu,%llu,%i,%li,%lli,但都不工作。在我们亲爱的朋友谷歌上也找不到太多关于它的信息。
这条语句在一个循环中,在这个循环中,我还获得了currentDevice的名称。这是有效的,所以我想这在循环中不是问题。
小编辑: clGetDeviceInfo返回一个cl_uint,属性clockFrequency当然是
pfffft,另一个编辑:问题是,无论我做什么,它总是打印0。
第100次编辑:嘿,它给出了一个与实际参数4不匹配的C4022指针。所以我猜clockFrequency有什么问题?但是什么呢?我将其声明为cl_uint clockFrequency = 0;
发布于 2011-10-18 01:25:32
param_value是一个指针,所以你必须传递一个指针:
&clockFrequency
https://stackoverflow.com/questions/7794194
复制相似问题