RX 580 for Machine Learning review
by Mathieu Poliquin
The RX580 is one of the cheapest 8 GB ML card on the market, is worth it?
|P106-100 (6 GB)
|RX580 (8 GB)
|PPO2 Atari Pong
|Host to Device
I also ran a benchmark script provided by Lamda Labs:
Note: You will need to remove references to nvidia-smi in their script if you are testing it on an AMD Card
git clone https://github.com/lambdal/lambda-tensorflow-benchmark.git --recursive
I took the GTX 1080ti numbers from their blog post so you can compare
|RX580 (8 GB)
- Ubuntu 18.10 Cosmic Cuttlefish
- Tensorflow-rocm 1.11
- MaxSun RX 580 8GB
- Intel Xeon E5-2667 v3 ES (20MB, 8C/16T)
- Asus x99-e WS motherboard
- 32GB DDR4 ram 2400Mhz
If you have an AMD RX card already install for ML, the RX580 should work right away without further installation. If not you need to install ROCm. Quick ROCm Install guide
As you can see from the table the performance is quite good for standard benchmarks but when it comes to OpenAI’s PPO2 it delivers half the performance. I did not have the time to use AMD’s gpu profiler yet to figure out where is the bottleneck, will post it here when I do
One of the potential reasons is that ROCm is still in active development and not quite mature yet, also they get the latest Tensoflow optims and features later than for Nvidia’s cuda
Bandwidth was tested with
sudo apt-get install rocm_bandwidth_test
Host to Device is around 9 GB/s. For a PCIE 3.0 16x card this is on the low side, In comparaison the GTX 1060 is 11 GB/s. It’s hard to know if this a hardware or software issue. Considering ROCM is in early stage of development I would think it’s the later
Temperatures and stability
Temperatures are quite stable and cool at around 66C when GPU is at 100%
As for stability I got three freezes so far out of maybe 60 hours of training. However, it might because of Ubuntu 18.10 Cosmic Cuttlefish, I will try with 18.04 and post the results here.
This is the one of the cheapest 8GB card on the market and delivers good performance on standard benchmarks. That said on OpenAI baselines implementation of PPO2 it delivers less the half the performance of a P106-100. If you absolutely need 8GB it’s a good choice, if not the P106-100 offers better value for the money.
Moreover make sure your ML algo and training scenario doesn’t fall in edge case not well supported by the current state of ROCm. You should definetly try it on a cloud first, like gpueater.
For now I would still suggest NVIDIA if you want peace of mind but I really do wish ROCm gets better so NVIDIA can finally have fierce competition, it will be a win for all customers.
Note: There is also the AMD RX 470, RX 480, RX 570, RX 590 that have 8 GB versions with a cheap price relative to NVDIA’s 8 GB offerings, althought I haven’t tested those, a guesstimate based on specs would be that they deliver 80%, 90%, 90% and 110% performance of the rx 580 respectively. As for the RX 580 I would srongly recommend borrowing one and testing your specific use case on it first before purchase.
EDIT 2021: Seems starting with ROCm 4.0, AMD is not officially supporting the RX 580. While it still works, it means this card is not future proof and its better look elsewhere, more details here:
tags: rx580 - maxsun - gpu - rocm - machine learning - review