在AMD GPU上使用Python+Theano和OpenCL

16

我正在尝试使用Python和Theano来加速一些OpenCL代码。我按照说明安装了libgpuarraypygpu,且没有出现任何错误。安装程序检测到已安装OpenCL运行时。

我无法运行Theano的OpenCL示例,主要是因为我不知道如何指定我的GPU。根据inxi的说法,我的GPU是Radeon HD 5340/5450/5470。在Theano文档中的所有代码都使用device=cuda0,而唯一提到OpenCL的地方是说device=openclN,其中N是一个数字。

我尝试过device=opencl0,但得到了一个pygpu错误,说正确的格式是opencl<int>: <int>。此后,我试过了各种组合(如opencl0:0等),总是会出现GpuArrayException: 未知错误

我的系统是Ubuntu 14.04 x64,硬件是Toshiba Satellite,15寸。我用pip安装了Theano,随后按照其网站上的说明安装了libgpuarray

我做错了什么?


Ubuntu 14.04,至于编译器,我不知道,我直接使用Python中的Theano。我想它应该会选择正确的编译器吧? - Alejandro Piad
Theano是如何编译的?PyGPU是如何编译的?你是如何在你的机器上安装它们的? - Noob Saibot
我只是下载了libgpuarray,并执行了makemake install等操作。 - Alejandro Piad
让我们在聊天中继续这个讨论 - Alejandro Piad
我真的没有更多的信息可以提供给你了。只是想让你为其他偶然看到这篇文章的人提供更多的信息。从我的猜测来看,你的编译器是GCC某个版本,在一个移动版的Ubuntu上运行,使用的是AMD处理器,没有GPU。你明白我的意思吗?请编辑你的问题并提供正确的细节。 - Noob Saibot
显示剩余4条评论
1个回答

10

opencl0:0是正确的。您能确认pyopencl是否正常工作吗?您可能有opencl(或驱动程序/ cl编译器)的问题。

然而,我认为Theano目前与OpenCL不太兼容。目前的情况是有部分支持,足以运行“hello world”,但不足以运行任何重要的代码。

请参见:

https://github.com/Theano/Theano/issues/2189

https://github.com/Theano/Theano/issues/1471

https://github.com/Theano/Theano/issues/2190

https://github.com/Theano/Theano/pull/1732

总之,大部分东西都没有移植(包括常见操作Elemwise)。我真的很想看到Theano在OpenCL上运行。这将是AMD参与其中的一件大事。很快就会实现:)


3
如果是这种情况,那么在更多的东西移植完成之前继续尝试就没有意义了。感谢提示。 - Alejandro Piad
2
Theano和pyopencl的最新版本在我使用的AMD Radeon HD 7750显卡上与最新版本的驱动程序、libgpuarray在Ubuntu 14.04 64位系统中良好运行。 - hobs
2
尝试了Theano+OpenCL,发现目前Lasagne不支持OpenCL。 - HeikoG

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接