Cloo 中的 OpenCL 扩展
Posted
技术标签:
【中文标题】Cloo 中的 OpenCL 扩展【英文标题】:OpenCL extensions in Cloo 【发布时间】:2011-07-18 10:31:16 【问题描述】:我尝试在我的 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】:调试此类问题的第一件事是使用带有 CL_PROGRAM_BUILD_LOG 的 clGetProgramBuildInfo 获取构建日志。在那里,您应该看到有关该问题的一些信息。你也试过 cl_amd_fp64 吗?
【讨论】:
以上是关于Cloo 中的 OpenCL 扩展的主要内容,如果未能解决你的问题,请参考以下文章