2013-02-04 68 views
0

您好我正在学习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)

感谢

+0

你能检查'gpu'的内容吗?上下文是否为非NULL? –

+0

上下文不为空 – bubblebath

回答

0

我找到了答案,我的问题,我应该已经引用源。

谢谢