ChatGPT解决这个技术问题 Extra ChatGPT

OpenCL / AMD:深度学习 [关闭]

关闭。这个问题需要更加集中。它目前不接受答案。想改进这个问题?更新问题,使其仅通过编辑此帖子专注于一个问题。 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 进行深度学习的良好开端是什么?有文献吗?教程?各种来源?

深度学习框架使用 CUDA 而不是 OpenCL 是有原因的——其中之一就是性能。为像 Nvidia 这样的单一供应商调整它更容易。虽然我不知道确切的答案,但几乎没有机会为 AMD 找到那种软件。
感谢您的输入。这或多或少是我迄今为止所期望和发现的。正如我已经提到的,即使是谷歌也没有提供很多结果:(真的没有官方来源,没有文献,没有教程,没有尝试吗?
Theano 似乎通过 GpuArray 提供了某种 OpenCL 支持:deeplearning.net/software/theano/tutorial/…
另请参阅 Comparison of deep learning software 维基百科页面。

A
Alexander McFarlane

编辑 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


感谢您的回答并支持它,谢谢!但是,我会等待几天的赏金,也许更广泛的答案会出现更多的官方资料,甚至是关于该主题的科学论文/文献。
我意识到我实际上并没有列出我在原始编辑中提到的使用 OpenCL 的库 - 现在更新了。我还添加了更多关于开发阶段库的信息。同样,我希望有人能提供解决我所有 OpenCL 问题的答案,因为我目前正在考虑将我的笔记本电脑换成 NVIDIA 图形版本,这将是费力且昂贵的!
谢谢!我也有同样的情况。台式机是基于 AMD 的,笔记本电脑是基于 Intel 的,而 NVIDIA 硬件并不以便宜或在 GPU 计算方面具有良好的性价比而闻名,尤其是在双精度操作方面:/
更新:OpenCL 与 Theano 一起使用的两个声明:herehere 我没有检查,因为我对我的论文项目很感兴趣,但如果其他人有时间,我会离开这里。 official github issue 声明 OpenCL当前不可用,并且问题堆栈支持
更新:目前许多库和框架通过其 GPU 开放计划支持 AMD 硬件。那里正在发生一些很酷的事情,例如在 AMD 和 Nvidia 上运行的跨平台代码,没有任何深刻的变化。在链接 stackoverflow.com/a/33330306/2442649 中查看我的答案
4
4 revs, 3 users 93%

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

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

截至 2015 年 10 月 25 日

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

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

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

Theano 咖啡火炬

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

OpenCL Caffe

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

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

cltorch

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

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


M
Mikael Rousson

另一种方法是在 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 美分/小时)。


这是迄今为止最好的解决方案!我自己目前正在使用它,因为您可以正常安装所有软件并使用它们的计算能力。我认为他们也有折扣。我将编辑我的答案以链接到您的答案,因为人们可能不会阅读,直到它获得更多选票
C
Choong Ng

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


嗨@Choong Ng!是否可以为 armv7-a 平台交叉编译 PlaidML?使用 PlaidML 是否需要任何最低 OpenCL 版本?
@Akhilesh 是的,我们(Vertex.AI)确实在 armv7-a 平台(Cortex A15)上测试 PlaidML,OpenCL 1.2 是最低要求,尽管我认为我们过去已经使 1.1 工作。
感谢回复。我访问了您的 (vertex.AI) 网站和 PlaidML (github.com/plaidml/plaidml),看起来很有希望。实际上,大多数深度学习框架都需要最低 OpenCL 1.2。但我有 OpenCL 1.1 EP。请您确认是否可以为 OpenCL 1.1 EP 交叉编译 PlaidML。
@Akhilesh 谢谢,我看到您的票证提到了 1.1 EP 和 GC2000 GPU(link 供后续人员使用)。我希望您能够使其工作,但它可能需要对 PlaidML 进行一些小的修改以支持 EP 和该芯片的任何怪癖,以及如果您在他们的驱动程序中发现重大错误,请与 Vivante 合作。
@ChoongNg,感谢您的回复。在查看以下线程时,来自 PlaidML 团队的 github.com/plaidml/plaidml/issues/137 flaub 声称他们在 GC2000 Vivante 上进行了尝试,但由于驱动程序问题而失败。还值得我们尝试吗?
H
Hugh Perkins

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

blas矩阵乘法

渐变

特征操作,例如:归约、argmin/argmax、每个元素的操作(二元和一元)


s
salle55

TensorFlow 现在在 roadmap 上支持 OpenCL。

请参阅:Github issue

希望离工作版本不远。


R
Robert Ioffe

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


当您说英特尔® 平台时,您是指具有英特尔® 编译器的平台、具有英特尔® GPU 的平台,还是两者都需要?
英特尔(R) 平台是指带有或不带有英特尔(R) 处理器图形和英特尔(R) 加速器(如英特尔(R) Xeon Phi)的英特尔(R) 处理器。
A
AmitB

查看由 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


关注公众号,不定期副业成功案例分享
关注公众号

不定期副业成功案例分享

领先一步获取最新的外包任务吗?

立即订阅