我的印象是 TF 仅支持 CUDA。根据我的研究,让它支持 OpenCL 和 AMD GPU 的唯一方法是获得一个单独的“适配器”模块,例如 TF Coriander并遭受性能故障:
来自 GitHub:
for the recurrent networks, Coriander is around 4 times slower than using NVIDIA® CUDA™ directly.
该模块似乎确实在不断开发,检查见解选项卡,但我不确定有多乐观。那么我是否应该对此持乐观态度并期望在几年内获得近乎原生的体验?如果没有,是否正在计划对 native 解决方案提供支持?如果不是,AMD 即将推出的 7nm 架构会改变开发人员的想法吗?
我意识到这可能有点偏离主题。如果是,请告诉我是否可以放在其他地方。
最佳答案
作为 contrib 的一部分,您可以构建具有 SYCL 支持的 Tensorflow。
SYCL 是“单一源 OpenCL”,是 Khronos 的一项新标准,允许编写可编译在 OpenCL 设备上运行的高级 C++ 代码。
CodePlay 软件的人员积极参与其中,您可以看到他们关于该主题的博文 here .
简而言之,您不会获得它的 pip 包,您需要自己构建它。而且性能可能不会那么好,因为该项目仍处于早期阶段。
您可以找到有关如何入门的教程 here 。请记住,这使用了 CodePlay 的 SYCL 调解版本,但也许您可以使其与开放实现(例如 triSYCL)一起使用。
关于tensorflow - TensorFlow 计划支持 OpenCL 吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54337313/