OpenCL clgetPlatformID访问冲突

时间:2018-03-31 19:10:08

标签: c++ visual-studio opencl amd

我正在尝试学习一些OpenCL,以便在我的OpenGL项目中使用,以帮助加快一切,但我目前仍在努力让OpenCL启动。当我从Visual Studio 2015启动程序时,代码在clGetPlatformIDs中断,执行位置为0x0000000的访问冲突。

int main(int argc, char **argv) {
    cl_uint numPlatforms;   //the NO. of platforms
    cl_platform_id platform = NULL; //the chosen platform
    cl_int  status = clGetPlatformIDs(0, NULL, &numPlatforms);
}

我有一台配备Intel i7-2670QM和Radeon HD 6490M的Windows 7笔记本电脑。我在此之前安装了AMD APP SDK 3.0

1 个答案:

答案 0 :(得分:1)

首先,对于未来的每个人来说,唯一需要做的就是检查英特尔,AMD和Nvdia的网站,了解他们最新的GPU和CPU驱动程序。无论他们说什么,都应该有驱动程序而不是驱动程序实用程序。驱动程序实用程序会说最新但不存在。找到驱动程序,然后安装它们。您可能需要选择GPU-Z和GPU Caps来检查OpenCL是否已安装并正常工作。一旦完成,一切都应该正常。我也选择使用AMD APP SDK而不是英特尔OpenCL SDK,因为我之前安装过它并且它崩溃了Visual Studio。