我在寻找一个可以探索机器学习/人工智能的库时遇到了些困难。我有一对R9 290x显卡,但似乎找不到一个适合它们的库。
首先我尝试了array-fire,它在CPU上的性能非常好,但在机器学习方面的GPU性能很差,这一点在machine_learning样本文件夹的基准测试中得到了证明。
我研究了rocm和MIOpen,尝试了支持hip的tensorflow,但发现它不支持290x系列。我还发现有人在为tensorflow开发llvm-amdgpu支持,但看起来还不够成熟。
我还研究了haskell的accelerate,发现了一个关于amdgpu后端的问题,但它看起来也还不成熟。
也许我搜索得还不够广泛?但据我所知,几乎所有东西都运行在cuda上,而我目前无法负担购买新的GPU。
回答:
在您提出问题时,AMD的rocm驱动和计算堆栈不支持Hawaii系列GPU。此后,这些较旧的GPU已获得支持。
AMD已经移植了一个tensorflow版本,它的安装和使用与CUDA tensorflow(amd的移植版本)相同。然而,它不支持gfx803之前的任何版本(如Fiji,R9 Fury)。
我有一张R9 290,它可以与AMD仓库中的最新rocm驱动一起工作,但不兼容AMD的tensorflow移植版。我得到的错误信息如下:
2018-08-16 12:10:58.529311: I tensorflow/core/common_runtime/gpu/gpu_device.cc:1532] Ignoring visible gpu device (device: 0, name: Hawaii PRO [Radeon R9 290], pci bus id: 0000:01:00.0) with AMDGPU ISA gfx701. The minimum required AMDGPU ISA is gfx803.