OpenCL / AMD:深度学习

时间:2015-06-03 14:20:13

标签: sdk opencl neural-network gpgpu deep-learning

在“googl'ing”进行一些研究时,我无法在上找到任何严重/流行的框架/ sdk用于科学GPGPU计算和 OpenCL > AMD 硬件。我错过了哪些文献和/或软件?

特别是我对深度学习感兴趣。

据我所知, deeplearning.net 建议 NVIDIA 硬件和 CUDA 框架。另外我知道所有重要的深度学习框架,例如 Caffe Theano Torch DL4J ,...专注于 CUDA ,并且不打算支持 OpenCL / AMD

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

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

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

8 个答案:

答案 0 :(得分:28)

修改1 请参阅Mikael Rousson's回答 - 亚马逊现在是前进的方式,因为您可以"租用"来自他们的计算能力。

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

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

我和你自己的情况一样,因为我有一台带有Intel Iris显卡的MacBook Pro。我花了一周的时间来查看所有可能的解决方法,我非常欢迎使用我提供的替代方案。

我目前拥有的最佳解决方案是:

  1. 安装pythontensorflow并利用GPU支持并继续更新到最新的开发版本。
  2. 使用theano - 并使用与tensorflow
  3. 类似的existing GPU support
  4. 购买NVIDIA显卡并在PC上使用
  5. 如果您绝对需要OpenCL中的解决方案,并且您愿意从高水平的理解(没有教程)编写所有内容,请查看DeepCLpyOpenCl
  6. 我发现任何使用OpenCL的解决方案,例如pyOpenCl,还没有用于深度学习的用户友好界面,即使用替代方法对其进行编码需要更长的时间,而不是仅仅快速编码并在CPU上运行。尽管如此,这里有深度学习的最佳替代OpenCL库:

    在开发中

答案 1 :(得分:16)

--- 2017年8月在AMD方面更新了酷炫的新事物---

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

截至2015年10月25日

似乎AMD和其他人已经开始致力于开发几个用于深度学习的OpenCL加速框架。所以,现在OpenCL支持现在已经存在了深度学习:)

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

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

  1. Theano

  2. 来自Caffe

  3. 火炬

  4. caffe具有相当不错的OpenCL支持,因为amd开发了完整版本的caffe,它几乎支持caffe的所有功能,并且正在积极开发。它被命名为OpenCL Caffe。这是存储库

    OpenCL Caffe

    如果您正在考虑性能,那么根据该网站(我自己没有对其进行过标记)它在AMD R9 Fury硬件(培训)中每秒提供大约261张图像或每天2250万张图像。与nvidia K40相比,它可以每天处理4000万张图像。因此,根据网站,它可以用六分之一的钱给出一半的表现。(考虑到k40是3000美元卡而r9愤怒是600美元左右)。但是使用任何消费卡会给你一个关于记忆的问题(vram),这在深度学习中非常重要。

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

    cltorch

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

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

答案 2 :(得分:9)

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

提示:使用现货实例获得更便宜的价格(g2.2x大约10美分/小时)。

答案 3 :(得分:7)

PlaidML(https://github.com/plaidml/plaidml)是一个完全开源的深度学习运行时,它运行在OpenCL之上,并与Keras集成以提供熟悉的面向用户的API。 repo中的README具有更详细的状态,目前Linux上的convnet推断得到了很好的支持,但我们(http://vertex.ai)正在努力尽快扩展完整性和平台支持。我们的持续集成机器包括各种AMD和NVIDIA GPU,现在都是Linux,但我们也在努力添加Mac和Windows。

答案 4 :(得分:5)

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

  • blas矩阵乘法
  • 梯度
  • 特征操作,例如:reduction,argmin / argmax,每元素操作(二元和一元)

答案 5 :(得分:4)

TensorFlow 现在roadmap支持OpenCL。

请参阅:Github issue

希望离工作版本不远。

答案 6 :(得分:1)

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

答案 7 :(得分:1)

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

具体做法是: