你好,所以我在GPU上以双精度运行了几个openCL内核,定义如下:
#ifndef GPU_AMD
#pragma OPENCL EXTENSION cl_khr_fp64: enable
#else
#pragma OPENCL EXTENSION cl_amd_fp64 : enable
#endif
现在我想以双精度运行相同的openCL内核,而不是在CPU上,我想知道我是否需要上面的扩展?或者在cpu中使用double之前我必须启用另一个openCL扩展吗?
感谢
答案 0 :(得分:1)
您应该能够使用cl_khr_fp64
扩展程序。 cl_amd_fp64
扩展名实际上只是AMD GPU的cl_khr_fp64
扩展名的一个子集。
现在有些AMD GPU实际上会支持完整的cl_khr_fp64
扩展,因此请检查(或许使用CLInfo)以查看是否有可能。
有关详细信息,请参阅this question。