首页 文章

OpenCL / AMD:深度学习

提问于
浏览
54

虽然"googl'ing"并做了一些研究,但我无法在AMD硬件上找到科学GPGPU计算和OpenCL的 any 严重/流行框架/ sdk . 我错过了哪些文献和/或软件?

特别是我对 deep learning 感兴趣 .

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

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

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

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

8 回答

  • 16

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

  • 5

    Edit 1 请参阅Mikael Rousson's回答 - 亚马逊现在是前进的方式,因为你可以从他们那里获得计算能力 .

    Edit 2 我创建了series of guides,了解如何使用 theano 设置用于深度学习的Amazon EC2实例 . 它比在个人计算机上运行方便得多 .

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

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

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

    • 安装 pythontensorflow并利用GPU支持并继续更新到最新的开发版本 .

    • 使用theano - 并使用existing GPU supporttensorflow 类似

    • 购买NVIDIA显卡并在PC上使用

    • 如果您绝对需要OpenCL中的解决方案,并且您愿意从高级别的理解(没有教程)编写所有内容,请查看DeepCL和可能的pyOpenCl .

    我发现使用OpenCL的任何解决方案,例如pyOpenCl,还没有用于深度学习的用户友好界面,即在另一种方法中编写代码需要更长的时间,而不是快速编写代码并在CPU上运行 . 尽管如此,这里有深度学习的最佳替代OpenCL库:

    开发中

  • 1

    TensorFlow 现在roadmap上有OpenCL支持 .

    见:Github issue .

    希望不要离工作版本那么远 .

  • 4

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

    特别:

  • 27

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

    • blas矩阵乘法

    • 渐变

    • 特征操作,例如:reduction,argmin / argmax,每元素操作(二元和一元)

  • 9

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

  • 1

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

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

  • 7

    --- 2017年8月更新AMD方面发生的酷炫新事---

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

    截至2015年10月25日

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

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

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

    • Theano

    • Caffe

    • 火炬


    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框架 . 需要一些时间来整理它们以确定它们是否正常工作 .

相关问题