关闭。这个问题需要更加集中。它目前不接受答案。想改进这个问题?更新问题,使其仅通过编辑此帖子专注于一个问题。 3年前关闭。改进这个问题
在“搜索”并进行一些研究时,我无法在 AMD 硬件上找到任何用于科学 GPGPU 计算和 OpenCL 的严肃/流行框架/sdk。有没有我错过的文献和/或软件?
特别是我对深度学习感兴趣。
据我所知,deeplearning.net 推荐使用 NVIDIA 硬件和 CUDA 框架。此外,我所知道的所有大型深度学习框架,例如 Caffe、Theano、Torch、DL4J ……都专注于 CUDA,并且不打算支持 OpenCL/AMD。
此外,人们可以找到大量有关基于 CUDA 的深度学习任务的科学论文和相应的文献,但对于基于 OpenCL/AMD 的解决方案几乎没有。
新的或现有的科学框架是否有可能在 2015/16 年出现在基于 OpenCL/AMD 的解决方案中?
使用 OpenCL/AMD 进行深度学习的良好开端是什么?有文献吗?教程?各种来源?
GpuArray
提供了某种 OpenCL 支持:deeplearning.net/software/theano/tutorial/…
编辑 1 请参阅 Mikael Rousson's 答案 - 亚马逊现在是前进的方向,因为您可以从他们那里“租用”计算能力。
编辑 2 我创建了一个series of guides,介绍如何使用 theano
设置 Amazon EC2 实例以进行深度学习。这比在个人机器上运行要更多方便。
编辑 3 似乎 TensorFlow 现在比 theano
更被广泛接受,所以我相应地更新了指南。
我和你的情况一样,因为我有一台配备 Intel Iris 显卡的 MacBook Pro。我花了一周的大部分时间研究所有可能的解决方法,我非常欢迎我提供的替代方法。
我目前拥有的最佳解决方案是:
安装 python 库 tensorflow 并利用现有的 GPU 支持并继续更新到最新的开发版本。使用 theano - 并使用与 tensorflow 类似的现有 GPU 支持购买 NVIDIA 显卡并在 PC 上使用它可能还有 pyOpenCl。
我发现任何使用 OpenCL 的解决方案,例如 pyOpenCl,都还没有用于深度学习的用户友好界面,也就是说,用另一种方法对其进行编码要比快速编码并在 CPU 上运行需要更长的时间。尽管如此,这里有一些用于深度学习的最佳替代 OpenCL 库:
Python-DeepCL
Jonathan 的 Torch7 实用程序库 - C++
开发中
一旦对 Eigen 和其他依赖项的改进完成,tensorflow 将添加 OpenCL 支持
theano 正在通过 clBLAS 添加对 OpenCL 的支持
Caffe 正处于添加 OpenCL 支持的开发阶段,但似乎有点落后于 theano
--- 2017 年 8 月更新 AMD 方面发生了很酷的新事情 ---
现在实际上可以在大多数 AMD 硬件上运行任何库 Check Here
截至 2015 年 10 月 25 日
似乎 AMD 和其他公司已经在开发几个用于深度学习的 OpenCL 加速框架上伸出了手。所以,是的,深度学习现在已经存在 OpenCL 支持 :)
这是一个 OpenCL 加速框架或工具的列表,这些框架或工具的开发主要考虑了深度学习。我希望他们能在未来几年得到更新
我们知道现在(2015 年 10 月 25 日)有三个深度学习框架非常受研究人员欢迎,并且已经看到了一些商业产品
Theano 咖啡火炬
caffe 有很好的 OpenCL 支持,因为 amd 开发了一个完整的 caffe 版本,它支持几乎所有的 caffe 特性,并且正在积极开发中。它被命名为 OpenCL Caffe。这是存储库
如果您正在考虑性能,那么根据该站点(我自己没有对其进行基准测试)它在 AMD R9 Fury 硬件(培训)中每秒提供大约 261 张图像或每天 2250 万张图像。与 nvidia K40 相比,它一天可以处理 4000 万张图像。所以根据网站的说法,它可以用六分之一的钱提供一半的性能。(考虑到 k40 是 3000 美元的卡,而 r9 fury 大约是 600 美元)。但是,使用任何消费卡都会给您带来关于内存(vram)的问题,这在深度学习中非常重要。
最近几天,Torch 似乎也有不错的 OpenCL 支持。然而,它由一个人维护。它声称完全支持torch的所有功能。但是,它并没有给出关于性能的想法。这是存储库。它得到积极维护。
目前,theano 框架似乎没有像样的 opencl 后端,但工作正在进行中。简单的程序可以用当前版本完成。
还有一些其他用于深度学习的 opencl 框架。需要一些时间来整理它们,看看它们是否正常工作。
另一种方法是在 Amazon Web Services 上使用 GPU 实例。您可以找到已安装常用深度学习包的 AMI。例如:
火炬:https://github.com/torch/torch7/wiki/Cheatsheet#ec2-public-ami
Theano+Caffe:https://www.kaggle.com/forums/f/208/getting-started/t/11505/an-aws-ami-mainly-for-deep-learning
提示:使用 Spot 实例可以获得更便宜的价格(g2.2xlarge 大约 10 美分/小时)。
PlaidML (https://github.com/plaidml/plaidml) 是一个完全开源的深度学习运行时,它在 OpenCL 之上运行并与 Keras 集成以提供熟悉的面向用户的 API。 repo 中的 README 有更详细的状态,目前 Linux 上的 convnet 推理得到很好的支持,但我们 (http://vertex.ai) 正在努力尽快扩展完整性和平台支持。我们的持续集成机器包括各种 AMD 和 NVIDIA GPU,目前都是 Linux,但我们也在努力添加 Mac 和 Windows。
armv7-a
平台交叉编译 PlaidML
?使用 PlaidML
是否需要任何最低 OpenCL 版本?
我正在为 Tensorflow 编写 opencl 1.2 支持。 https://github.com/hughperkins/tensorflow-cl 目前支持:
blas矩阵乘法
渐变
特征操作,例如:归约、argmin/argmax、每个元素的操作(二元和一元)
请查看 https://01.org/intel-deep-learning-framework - 英特尔® 深度学习框架 (IDLF) 为加速深度卷积神经网络的英特尔® 平台提供了一个统一框架。它是开源的,因此您也可以将其移植到 AMD 硬件。很酷的事情:它可以在配备 Intel Iris 显卡的 MacBook Pro 上运行。
查看由 AMD 驱动的 ROCm platform。这是第一个独立于编程语言的 GPU 计算开源 HPC/超大规模级平台。
具体来说:
深度学习见 https://rocm.github.io/dl.html
对于 OpenCL,请参见:https://rocm.github.io/QuickStartOCL.html https://gpuopen.com/opencl-rocm1-6/
https://rocm.github.io/QuickStartOCL.html
https://gpuopen.com/opencl-rocm1-6/
有用的教程可以在这里找到:https://rocm.github.io/tutorials.html