【问题标题】:Does TensorFlow plan to support OpenCL?TensorFlow 是否计划支持 OpenCL?
【发布时间】:2019-06-17 15:18:24
【问题描述】:

我的印象是 TF 只支持 CUDA。根据我的研究,让它支持 OpenCL 和 AMD GPU 的唯一方法是获得一个单独的“适配器”模块,例如 TF Coriander 并遭受性能故障:

来自 GitHub:

对于循环网络,Coriander 比直接使用 NVIDIA® CUDA™ 慢 4 倍左右。

该模块似乎在持续开发中,查看洞察选项卡,但我不确定该有多乐观。那么我是否应该对此感到乐观并期待在几年内获得近乎原生的体验?如果没有,是否计划支持实际上原生解决方案?如果不是这样,AMD 即将推出的 7nm 架构会改变开发者的想法吗?

我意识到这可能有点跑题了。如果是,请告诉我是否可以放在其他任何地方。

【问题讨论】:

  • 你为什么不问问 Tensorflow 的人?
  • @RobertHarvey 好建议,我该怎么做?
  • 以下是他们正在考虑的一些事情:tensorflow.org/community/roadmap
  • 我认为您可以使用 HIP 将 Cuda 代码转换为“通用 C++”,然后将其编译为 OpenCL(然后将在 AMD ROCm 系统上运行)。从未尝试过。见github.com/ROCm-Developer-Tools/HIP

标签: tensorflow opencl


【解决方案1】:

作为 contrib 的一部分,您可以构建带有 SYCL 支持的 Tensorflow。

SYCL 是“单源 OpenCL”,它是 Khronos 的一项新标准,允许人们编写可编译以在 OpenCL 设备上运行的高级 C++ 代码。

CodePlay 软件的人们已经大量参与其中,您可以查看他们关于主题 here 的博文。

简而言之,你不会得到它的 pip 包,你需要自己构建它。由于该项目仍处于早期阶段,因此性能可能不会那么好。

您可以找到有关如何开始使用的教程here。请记住,这使用了 CodePlay 的 SYCL 支持版本,但也许您可以使用诸如 triSYCL 之类的开放实现来使其工作。

【讨论】:

  • 感谢您的回复。这似乎仍然与香菜有一些相同的问题,而且似乎也好不到哪里去。我应该等待 AMD 和/或 CodePlay 的原生集成吗?
  • 我不太确定 RE 香菜的问题,您能详细说明一下吗?对于 SYCL 方法可以说的一件事是,它“正式”是主要 Tensorflow 存储库的一部分。尚无软件包支持,但有隐含的认可。
  • Coriander 是我在问题中提到的模块,很抱歉造成混淆。
  • 对不起,我应该再次检查您的问题。祝您的设置好运,如果您有任何其他问题,我会观看相对安静的 SYCL 和 OpenCL 标签
猜你喜欢
  • 1970-01-01
  • 2015-01-03
  • 2014-03-29
  • 2021-05-05
  • 2012-01-22
  • 1970-01-01
  • 2011-03-16
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多