内核代码不适用于NVIDIA GPU,但适用于CPU模式

内核代码不适用于NVIDIA GPU,但适用于CPU模式,c,opencl,gpu,C,Opencl,Gpu,最近我尝试运行一个程序,该程序在运行Windows7的AMD Radeon 5670 GPU上正确编译和执行。现在,当我想在NVIDIA GPU特斯拉2500上运行时,它不起作用。但是,当我将设备更改为CPU时,相同的内核代码给出了输出(uising clGetDeviceIds()参数CL\u device\u TYPE\u GPU)。这里我使用的是Ubuntu 10.10 我试着运行英伟达SDK的一些程序,这些程序运行正常,显示了现有GPU和配置的细节。 如果有人遇到过这种问题,请回答这个问

最近我尝试运行一个程序,该程序在运行Windows7的AMD Radeon 5670 GPU上正确编译和执行。现在,当我想在NVIDIA GPU特斯拉2500上运行时,它不起作用。但是,当我将设备更改为CPU时,相同的内核代码给出了输出(uising clGetDeviceIds()参数CL\u device\u TYPE\u GPU)。这里我使用的是Ubuntu 10.10

<>我试着运行英伟达SDK的一些程序,这些程序运行正常,显示了现有GPU和配置的细节。


如果有人遇到过这种问题,请回答这个问题,问题在哪里。

我找到了解决上述问题的方法。。。 首先感谢Eli Bendersky、Zhen和Bart

我面临的问题是由于CLGetDeviceID()失败。这是因为我选择的平台是AMD平台(我有AMD和CUDA,但底层GPU是NVIDIA GPU),所以这个平台找不到底层GPU

最后,在访问CLGetDeviceID()时将平台[0]更改为平台[1]后,我使代码正常工作


:)

你的问题太笼统了。您能识别出的给出不同结果的最小代码片段是什么?您是否使用了clGetProgramBuildLog来检查错误?我们将要看到一些为您展示问题的最小代码部分。尽量缩小范围。没有它,我们只能猜测,如果我们能提出任何建议。谢谢你的建议。我使用clGetProgramBuildLog进行了检查。。问题是CLGetDeviceID()正在失败。。是驱动程序安装不正确的问题吗???我甚至检查了安装正确的NVIDIA Tesla驱动程序。。系统有两个图形卡,这会导致任何问题吗?