您好我正在学习OpenCL和下面的一本书的例子,并尝试做以下的OpenCL的VisualStudio 2012错误设置
//Obtain the GPU data (platform, device and context)
PlatformDevice gpu = retrieveDevice(CL_DEVICE_TYPE_GPU);
assert(gpu.allDat![enter image description here][1]aPresent());
const char * kernalSource = "__kernel void multiplication(__global float* GridA, __global float* GridB,__global float* val){int igrid = get_global_id(0);float a = GridA[igrid];float b = GridB[igrid];val[igrid] = a * b;}";
//Create Program
cl_program program = clCreateProgramWithSource(gpu.context,1, (const char**) kernalSource,NULL,&err);
当我到最后一行它产生以下错误
Unhandled exception at 0x53349301 (nvopencl.dll) in OpenCLPracticeSetup.exe: 0xC0000005: Access violation reading location 0x656B5F5F.
我猜它的设置问题,为Visual Studio 2012,但在网上为没有见过的错误与nvopencl.dll 这里是我改变的属性找不到任何
c/C++ 一般 - 我的其他包括目录是:\ NVIDIA GPU计算工具包\ CUDA \ v4.2 \ include \ CL 链接器 一般 - 我的其他库目录是:\ NVIDIA GPU Computing Toolkit \ CUDA \ v4.2 \ lib \ Win32 输入 - OpenCL.lib; kernel32.lib; user32.lib; gdi32.lib; winspool.lib; comdlg32.lib; advapi32.lib; shell32.lib; ole32.lib; oleaut32.lib; uuid.lib ; odbc32.lib; odbccp32.lib;%(AdditionalDependencies)
感谢
你能检查'gpu'的内容吗?上下文是否为非NULL? –
上下文不为空 – bubblebath