Thursday, November 11th 2021
AMD ROCm 4.5 Drops "Polaris" Architecture Support
AMD's ROCm compute programming platform—a competitor to NVIDIA's CUDA, dropped support for the "Polaris" graphics architecture, with the latest version 4.5 update. Users on the official ROCm git raised this as an issue assuming it was a bug, to which an official AMD support handle confirmed that the Radeon RX 480 graphics card of the original poster is no longer supported. Another user tested his "Polaris 20" based RX 570, and it isn't supported, either. It's conceivable that the "Polaris 30" based RX 590, a GPU launched in November 2018, isn't supported either. Cutting out a 3-year old graphics architecture from the compute platform sends the wrong message, especially to CUDA users who AMD wants to win over with ROCm. With contemporary GPUs priced out of reach, IT students are left with used older-generation graphics cards, such as those based on "Polaris." NVIDIA CUDA supports GPUs as far back as "Maxwell" (September 2014).
Source:
boxerab (Github)
52 Comments on AMD ROCm 4.5 Drops "Polaris" Architecture Support
Honestly, the problem is that GPUs assembly languages keep changing. NVidia solved this problem by inventing PTX, a recompilable, portable assembly language that recompiles every time a new GPU comes out.
Intel solves this problem on the SIMD-side by simply always supporting older assembly language statements. Intel CPUs still boot in realmode IIRC (8086 compatible), and have a complicated bootup process to enable 16-bit 80286, then 32-bit 80386, and finally 64-bit modes.
-----------
I don't know if this is really that big a deal IMO. ROCm 4.5 will continue to work for the Polaris 580x. Your code will continue to run as written. In fact, most people on Polaris saw a bug on ROCm 3.8+, so I'm pretty sure most Polaris-users were sticking with ROCm 3.3 instead. "Officially" cutting support on 4.5 isn't a big deal since most ROCm / Polaris users are already just staying on 3.3 ya know?
Edit: link
We'll probably get a decent open API for number crunching some day, but for the time being that's an uphill battle.
Funny how shit works when they have your money.
And finally, ROCm was (still is in my opinion) a fairly experimental platform, expecting perfect and indefinite support from it is insane. And their ISA is proprietary and undisclosed, which means only Nvidia can optimize something to the utmost level, creating a false impression that CUDA libraries made by them are faster because CUDA is faster.
en.wikipedia.org/wiki/List_of_OpenCL_applications
All indications are that this is a bug which slipped in while we were reworking the build/packaging/install logic for 4.5 as part of unifying the ROCm and AMDGPU-PRO stacks.
But CDNA seems like a "temporary" measure to me. Its an extension to the venerable GCN language, including some pretty nifty tricks (Tensors, Matrix Multiplication). But RDNA has other tricks (Raytracing) that the GPGPU crowd wants (aka: Visual Effects are slowly moving to GPU-raytracing for test footage... and maybe shorts, tv-shows and movies if the technology matures a bit more).
I'd have to imagine that the future is on RDNA. But I've been wrong in predicting the direction of AMD before.
ROCm 4.5 is saying that Vega10 support is being dropped soon.
RDNA is supported, Polaris has had limited support for some time and the current 4.5 install guide does not even list it.
Using the ROCk driver is with ROCm-openCL is not the same as being fully compatible with the framework and deep learning.
If you need OpenCL support... Just install the ROCm-OpenCL And make a sym link to bin for OpenCL as for some reason it doesn't do it (note in 4.4, not tried 4.5 yet)
rocmdocs.amd.com/en/latest/Installation_Guide/Installation_new.html
AMD support will get better, but the documentation and current support is pretty frustrating. They have $200M from Frontier and El Capitan dedicated to software development.