【问题标题】:Using Python+Theano with OpenCL in an AMD GPU在 AMD GPU 中使用 Python+Theano 和 OpenCL
【发布时间】:2015-03-14 08:01:54
【问题描述】:

我正在尝试将 Python 与 Theano 结合使用,以通过 OpenCL 加速某些代码。我按照指示(我认为)安装了libgpuarraypygpu,并且没有出现错误。安装检测到已安装 OpenCL 运行时。

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

我尝试了device=opencl0 并收到pygpu 错误,指出正确的格式是opencl<int>:<int>。从那以后,我尝试了任意数量的数字组合(opencl0:0 等),而且总是GpuArrayException: Unknown error

我的系统是 Ubuntu 14.04 x64,我的硬件是 Toshiba Satellite,15"。我安装了 Theanopip,后来按照他们网站上的说明安装了 libgpuarray

我做错了什么?

【问题讨论】:

  • 您使用的操作系统和编译器是什么?
  • Ubuntu 14.04 和编译器,我不知道,我直接使用 Python 中的 Theano。我想它应该选择正确的编译器?
  • Theano 是如何编译的? PyGPU 是如何编译的?你是如何在你的机器上安装它们的?
  • 我从下载的tar.gz 安装了theanopip,并通过手动下载和编译libgpuarray 安装了pygpu
  • 您使用哪个编译器来执行此操作?在处理此类低级内容时,您通常需要编译器、操作系统和 CPU (GPU) 的详细信息作为任何帮助的先决条件。

标签: python opencl theano


【解决方案1】:

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,这是一个常见的操作)。不过,我真的很想在 OpenCL 上看到 Theano。对于 AMD 来说,这将是一件好事。很快:)

【讨论】:

  • 如果是这种情况,那么在移植更多 sutff 之前进一步尝试是没有意义的。感谢您的提示。
  • 最新版本的 Theano 和 pyopencl 可以在我的 AMD Radeon HD 7750 卡上正常工作,并在 Ubuntu 14.04 64 位中安装了最新的催化剂 libgpuarray。
  • 试过Theano+OpenCL,发现lasagne此时不会和OpenCL合作。
猜你喜欢
  • 2018-05-08
  • 2016-03-22
  • 1970-01-01
  • 2015-03-28
  • 1970-01-01
  • 2015-09-12
  • 2013-08-23
  • 2018-08-06
  • 1970-01-01
相关资源
最近更新 更多