New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
RX 470,480,570,580 no longer supports OpenCL on ROCm 4.5 #1659
Comments
AFAIK, we have not removed any code intentionally. But maybe something changed in the stack and we don't validate gfx8 on ROCm, so it might not be working anymore. Anyhow, I am not closing this ticket right now. Let me wait for some time. |
@ROCmSupport the RX 590 was released in 2018. This is way too early to drop support. |
Maybe you mean OpenCL. The MIOpen run succeed only with a small patch. |
@boxerab I solved this issue by using a docker image of certain version for tensorflow-rocm, when I had tried to use a tensorflow with rx570. Here's my repo with a few little scripts that I used to automate this process: https://github.com/kvirikroma/tensorflow-rocm-legacy |
@kvirikroma thank you. I need OpenCL support. That's gone now. |
Is it possible that this commit is the cause? |
This looks exactly like where OpenCL was disabled. Is it difficult to |
I can have a try do patch ROCclr for OpenCL, but I am not familiar with OpenCL, could you show me a demo for testing? |
Here are a few examples: https://rocmdocs.amd.com/en/latest/Programming_Guides/Opencl-programming-guide.html#example |
those examples look good, also there is a |
I am afraid of it is not work, for just revert this commits.
My card is RX580. |
Thanks, so it looks like AMD really did remove support |
And intentionally so. |
Has anyone tried to set |
hmmm, that's an interesting idea |
@ROCmSupport can you comment on Polaris support in recently released ROCm 5.0 ? |
Dear @ROCmSupport,
Nvidia recently dropped Kepler support in CUDA in June 2021, when Kepler was released 2012 April. That's 9 years of support. RX 470 was released June 2016, so ~5 years. A bit over half as much. People who bought an RX 590 (released in 2018 November, easily on shelves throughout 2019) only got 2 years of support. 2 years of support! I'm teaching GPGPU to physicists at university and we have a BYOD policy (teaching OpenCL, HIP/CUDA, SYCL) and easily the students who suffer the most are those sporting AMD hardware (myself included, running an RX 580 laptop). It's increasingly hard to install and run any of these APIs. Everything stems from the spotty gfx803 support moved to "partial support" (whatever that means) way too early. AMD shouldn't release products they won't support. (FWIW even in my professional capacity it's becoming harder to justify recommending CDNA products, due to all of them being gfx9XYZ variants for such a long time. I can't say with a straight face that MI100s/MI200s will not share the same fate as RX 590s, that MI200 successors won't sport a new ISA and gfx9XYZ will be dropped ever so swiftly, being an ancient ISA flavor. Professional Fiji owners have been burned like this before, not just consumer card owners.) My experience trying to get gfx803 working:
The user experience is bad with all APIs. This doesn't incentivize users to upgrade and buy AMD HW. |
I tried that using a self-compiled ROCm 5.0 stack on Fedora but still no dice (same as @MathiasMagnus). However if someone is collecting patches to re-enable Polaris in ROCm, please let me know. Seems like there is no easy solution but maybe it isn't that hard... |
I have OpenCL working in Ubuntu 20.04 with an RX570. Here is what I did :
|
Nice. But I see that only OpenCL 1.2 is supported - used to be 2.x with earlier ROCm versions. Also, do you even need ROCm, as you are getting OpenCL from the amdgpu driver ? |
You're right on both points :
|
I think I used wrong package, after recompile rocm-opencl-runtime, clinfo can display gfx803 device. BTW, My card is RX580, test on ubuntu-20.04 and ROCm-5.0.0. |
Thanks. If you can document what you did to recompile the runtime, we can try it. |
https://github.com/RadeonOpenCompute/ROCm-OpenCL-Runtime#building
|
Did you change any settings or variables before building ? |
Sorry, I haven't tried it in my environment yet. |
I had uploaded patched rocm-opencl-runtime package to github. The patch file: https://github.com/xuhuisheng/rocm-build/blob/feature/build/patch/31.rocm-opencl-runtime-rocclr-gfx803-1.patch The build script: https://github.com/xuhuisheng/rocm-build/blob/feature/build/31.rocm-opencl-runtime.sh And please make sure you are testing on ubuntu-20.04 with ROCm-5.0.0 and gfx803 card.
detail
|
Me and GloriousEggroll tried adding gfx803 to blender 3.4 , it either renders a white image or a red mess , this is blender issue not a hip one as I can compile hip code successfully on my RX 580 |
You think I can use OpenCL 1.2 on FreeBSD 13.1 for my RX-580 GPU? I need to run OpenCV or "Dlib" machine vision frameworks using my GPU for accelerated computations for face recognition. |
Wow, I got it to work using https://github.com/rocm-arch/rocm-arch/blob/master/README.md and |
i dont seen this being a valid response from AMD as a consumer, i never, really, never, seen a driver for a series of cards dropping support for a feature that is marketed in the cards on purpose, so really, fix this ASAP. Community are handling your issues for you, on arch polaris works just fine with a patched package from AUR (https://archlinux.org/packages/community-testing/x86_64/rocm-opencl-runtime/) |
You don't need to patch ROCm anymore, ROC_ENABLE_PRE_VEGA=1 should be enough. |
@CosmicFusion I attempted blender port as well. I have successfully run the 3.3 ROCm build. But when I used the same patches for 3.4 I got the same thing you said, some white and red mess. |
wait do you mean you were able to successfully render on blender using 3.3? |
@redthing1 what is the hardware that you used? |
Gigabyte RX 580 8GB with only the ROC_ENABLE_PRE_VEGA=1, for the record this still works in ROCm 5.4.1 for OpenCL, but i haven't tested HIP since 5.2.3 and blender 3.4 alpha or beta i don't remember, and that was without the HSA OVERRIDE env, I currently have exams so i can't test EDIT : Ohh you are not talking to me lol |
Well funny enough. He used the exact same hardware as me. Gigabyte RX 580 8GB with only the ROC_ENABLE_PRE_VEGA=1 |
@redthing1 what Linux distribution are you using ? And how do you set ROC_ENABLE_PRE_VEGA=1 ? Do you have to set this variable before you install ? |
Yes |
Great! I tried running install script from |
Alright, I admit defeat. Tried to install 5.4.3 on Ubuntu 22 from install script with Fedora 37 works right out of the box, so I will stick with Fedora. Unfortunately, the performance of my cl kernels is 50% of what I used to get with ROCm 3.x |
You need to run this
|
Thanks, I will stick with Fedora, as I prefer it to clunky old Ubuntu. I am assuming that perf won't change between the two distributions. |
As a matter of fact, running my kernels on Fedora 37 with latest packaged ROCm gives same performance as with 3.x ROCm. I am quite happy with the Fedora 37 packages and their support for Polaris cards. |
So we must use Fedora if we want to use our cards for anything compute related? Can these packages be ported over to other distros? |
Some here have got it working for officially supported Ubuntu 22 with AMD packages, unfortunately I only had luck with Fedora. Also I believe there is support on Arch. For other distros I'm not sure. |
I can confirm that rocm-5.4.3 works on Ubuntu 22.04.2 LTS / Python 3.10.6 for stable-diffusion-webui, using a manually compiled pytorch 1.13.1 with |
@tsl0922 Hey, so it seem that with Why is it that TORCH requires to be manually compiled? Why is this not the default for Torch, and do you know if/where this was changed in Torch code? |
cf: #1608
And please don't close this issue until we have a clear answer - has polaris support been intentionally dropped from ROCm
after only 6 years, or is this an error ?
The text was updated successfully, but these errors were encountered: