我有一个算术运算,其结果为double类型,但需要转换为uint类型。我正在使用OpenCL(确切地说是使用Cloo的OpenClTemplate)在GPU上执行此操作。 但是我遇到了构建错误。从double转换为uint的正确方法是什么?谢谢。
private static string _vecScale = @"
kernel void
uintVectorScale(global uint* result,
global double* utmCoords,
global double* offset,
global double* scalingFactor,
global int* data)
{
// Vector element index
int i = get_global_id(0);
int j = get_global_id(1);
result[i * data[0] + j] = convert_uint((utmCoords[i * data[0] + j] - offset[j]) / scalingFactor[j]);
}";