Cloo中的OpenCL扩展

时间:2011-07-18 10:31:17

标签: opencl cloo

我尝试在我的OpenCL内核中使用双精度扩展,但它不会构建。 (Cloo.BuildProgramFailureComputeException)

这是我的代码:

string kernel = @"
#pragma OPENCL EXTENSION cl_khr_fp64 : enable
kernel void ImgWarp(
    global char* img1,
    global char* img2)
    { }"

ComputeContextPropertyList Properties = new ComputeContextPropertyList(ComputePlatform.Platforms[0]);
ComputeContext context = new ComputeContext(ComputeDeviceTypes.All, Properties, null, IntPtr.Zero);
ComputeProgram program = new ComputeProgram(context, kernel);
program.Build(null, null, null, IntPtr.Zero);

我检查过我的硬件支持双精度,确实如此。但是,使用cl_amd_printf扩展名可以正常工作。有什么想法吗?

1 个答案:

答案 0 :(得分:0)

调试此类问题应该做的第一件事是使用CL_PROGRAM_BUILD_LOG使用clGetProgramBuildInfo获取构建日志。你应该看到有关这个问题的一些信息。您是否尝试过cl_amd_fp64?