2011-07-18 6 views
0

OpenCL 커널에서 배정 밀도 확장을 사용하려고 시도하지만 빌드되지 않습니다.Cloo에서 OpenCL 확장

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); 

나는 나의 하드웨어가 배정 밀도를 지원하는지 확인하고 그것을 수행합니다 (Cloo.BuildProgramFailureComputeException)

여기 내 코드입니다. 그러나 cl_amd_printf 확장을 사용하면 작동합니다. 어떤 아이디어?

답변

0

이런 종류의 문제를 디버깅하기 위해해야 ​​할 일은 CL_PROGRAM_BUILD_LOG와 함께 clGetProgramBuildInfo를 사용하여 빌드 로그를 얻는 것입니다. 문제에 대한 정보가 나타납니다. cl_amd_fp64도 시도해 봤나?