OpenCL / AMD:深度学习

OpenCL / AMD: Deep Learning

虽然 "googl'ing" 并做了一些研究,但我无法找到 any serious/popular framework/sdk 用于科学 GPGPU 计算和 OpenCLAMD 硬件上。有没有文献and/or我错过的软件?

我尤其对深度学习感兴趣。

据我所知deeplearning.net推荐NVIDIA硬件和CUDA框架.此外,我知道的所有大型深度学习框架,例如 CaffeTheanoTorchDL4J, ...专注于CUDA,不打算支持OpenCL/AMD.

此外,对于基于 CUDA 的深度学习任务,人们可以找到大量的科学论文和相应的文献,但对于 OpenCL/AMD[= 几乎没有41=] 基于解决方案。

新的或现有的科学框架是否有可能在 2015/16 年出现用于基于 OpenCL/AMD 的解决方案?

深度学习OpenCL/AMD的良好开端是什么?有文献吗?教程?其他来源?

编辑 1 查看 答案 - Amazon 现在是前进的方向,您可以从他们那里获得 "rent" 计算能力。

编辑 2 我创建了一个关于如何使用 theano 为深度学习设置 Amazon EC2 实例的 series of guides。它 比 运行 在个人计算机上更方便。

编辑 3 似乎 TensorFlow 现在比 theano 被更广泛地接受,所以我相应地更新了指南。

我遇到过和你一样的情况,因为我有一台配备 Intel Iris 显卡的 MacBook Pro。我花了一周的大部分时间查看所有可能的解决方法,我非常欢迎我提供的替代方法。

我目前最好的解决方案是:

  1. 安装 pythontensorflow 并利用现有的 GPU 支持并继续更新到最新的开发版本。
  2. 使用 theano - and use 类似于 tensorflow
  3. 购买 NVIDIA 显卡并在 PC 上使用它
  4. 如果您绝对需要 OpenCL 中的解决方案并且您愿意从高层次的理解(无教程)开始编写所有代码,请查看 DeepCL and possibly pyOpenCl

我发现任何使用 OpenCL 的解决方案,例如pyOpenCl,还没有深度学习的用户友好界面,即用替代方法编码比快速编码和 运行 在 CPU 上编码需要更长的时间。尽管如此,以下是用于深度学习的最佳替代 OpenCL 库:

开发中

请查看 https://01.org/intel-deep-learning-framework - 英特尔® 深度学习框架 (IDLF) 为加速深度卷积神经网络的英特尔® 平台提供统一框架。它是开源的,因此您也可以将它移植到 AMD 硬件上。很酷的事情:它可以 运行 在配备 Intel Iris 显卡的 MacBook Pro 上。

另一种方法是在 Amazon Web Services 上使用 GPU 实例。 您可以找到已安装常用深度学习包的 AMI。例如:

提示:使用 Spot 实例可以获得更便宜的价格(g2.2xlarge 大约 10 cents/hour)。

--- 2017 年 8 月更新 AMD 方面发生了很酷的新事情 ---

现在实际上可以 运行 大多数 AMD 硬件上的任何库 Check Here

截至 2015 年 10 月 25 日

AMD 和其他公司似乎已经开始着手开发几个用于深度学习的 OpenCL 加速框架。是的,深度学习现在支持 OpenCL :)

这是 OpenCL 加速框架或工具的列表,这些框架或工具的开发主要考虑深度学习。我希望他们能在未来几年得到更新

我们现在(2015 年 10 月 25 日)知道有三种深度学习框架非常受研究人员欢迎,并且已经出现了一些商业产品

  1. Theano

  2. 咖啡

  3. 手电筒


caffe对OpenCL的支持非常好,因为amd开发了caffe的完整版本,几乎支持caffe的所有特性,而且正在积极开发中。它被命名为 OpenCL Caffe。这是存储库

OpenCL Caffe

如果您正在考虑性能,那么根据该站点(我自己还没有对它进行基准测试)它每秒提供大约 261 张图像或在 AMD R9 Fury 硬件(训练)中每天提供 2250 万张图像。与日处理4000万张图像的nvidia K40相比。所以根据该网站,它可以用六分之一的钱提供一半的性能。(考虑到 k40 是 3000 美元的卡,而 r9 fury 大约是 600 美元)。然而,使用任何消费卡都会给你带来内存(vram)的问题,这在深度学习中非常重要。


最近几天的 Torch 似乎也有不错的 OpenCL 支持。然而,它是由一个人维护的。它声称完全支持 torch 的所有功能。然而,它并没有给出关于性能的想法。这是存储库。它得到积极维护。

cltorch


目前似乎没有适合 theano 框架的 opencl 后端,但工作正在进行中。简单的程序可以用当前版本完成。


还有一些其他用于深度学习的 opencl 框架。需要一些时间来整理它们,看看它们是否正常工作。

TensorFlow 现在在 roadmap.

上支持 OpenCL

参见:Github issue

希望离工作版本不远。

我正在为 Tensorflow 编写 opencl 1.2 支持。 https://github.com/hughperkins/tensorflow-cl目前支持:

  • blas 矩阵乘法
  • 渐变
  • 本征运算,例如:归约、argmin/argmax、逐元素运算(二元和一元)

PlaidML (https://github.com/plaidml/plaidml) is a fully open source deep learning runtime that runs on top of OpenCL and integrates with Keras to provide a familiar user-facing API. The README in the repo has more detailed status, currently convnet inference on Linux is well supported but we (http://vertex.ai) 正在努力尽快扩展完整性和平台支持。我们的持续集成机器包括各种 AMD 和 NVIDIA GPU,目前全部 Linux,但我们也在努力添加 Mac 和 Windows。

查看由AMD驱动的ROCm platform。这是第一个独立于编程语言的 GPU 计算开源 HPC/Hyperscale-class 平台。

具体来说: