【发布时间】:2013-12-19 13:48:49
【问题描述】:
我是 OpenCL 的初学者。为了了解该库的基础知识,我尝试在以下 URL 执行第一个程序:
https://www.olcf.ornl.gov/tutorials/opencl-vector-addition/
我之前链接了 NVIDIA GPU Computing SDK 中的 openCL 包含和库,当然程序的编译是可以的。但是,如果我运行它,clCreateContext 函数内的执行将失败。
// Bind to platform
err = clGetPlatformIDs(1, &cpPlatform, NULL);
// Get ID for the device
err = clGetDeviceIDs(cpPlatform, CL_DEVICE_TYPE_GPU, 1, &device_id, NULL);
// Create a context
context = clCreateContext(0, 1, &device_id, NULL, NULL, &err);
问题来自之前的方法clGetDeviceIDs,它似乎感觉不到device_id 变量(如果在函数clGetDeviceIDs 中替换标志CL_DEVICE_TYPE_GPU 由CL_DEVICE_TYPE_CPU 程序完美运行)。不过,我的显卡驱动程序已经更新。根据执行情况,我的计算机上似乎没有任何 GPU 设备。这很奇怪。您是否认为我的驱动程序不正确并且缺少依赖项?我真的迷路了。有人可以帮帮我吗?
非常感谢您的帮助。
【问题讨论】:
标签: opencl