Rocm state in f37

What is rocm status in fedora 37?

I’ve tried installing rocm-runtime, rocm-opencl in toolbox and on native host.
Got this error:

rocm-clinfo
mesa: CommandLine Error: Option 'h' registered more than once!
LLVM ERROR: inconsistency in registered CommandLine options
fish: Job 1, 'rocm-clinfo' terminated by signal SIGABRT (Abort)

Should i use installer script / CentOS repos from here?
https://docs.amd.com/bundle/ROCm_Installation_Guidev5.0/page/How_To_Install_ROCm.html

1 Like

I have it running successfully by installing those packages on host. Unsure what that error could be though.

1 Like

I’ve done more research.
This error can be caused by linking to different version of LLVM.

sudo dnf list installed | grep llvm
llvm.x86_64                                                   15.0.4-1.fc37                               @updates
llvm-libs.i686                                                15.0.4-1.fc37                               @updates
llvm-libs.x86_64                                              15.0.4-1.fc37                               @updates
llvm13-libs.x86_64                                            13.0.1-2.fc37                               @fedora

Removed llvm13-libs.x86_64, but it has fixed nothing(

Here is amd issue:

This is an interesting thread. I think it would be great is someone knowledgeable could answer the title question. I had a working setup with a 6800XT, but when I swapped that for a 7900 ROCm OpenCL didn’t work. I was able to get it working with some extra rocm pkgs from AMD repo, but system was highly unstable. I was shocked that I needed any such packages. I was sure none of them were necessary. So, this question about Fedora + AMD remains very confusing. It seems like Fedora is trying to support some functions, but not others??? is that right? No one seems to know what is supposed to work and what isn’t or how.

Hope it will be fixed in f38:(

I think I said that about F30. :frowning:

ROCm has always been a bit of a hit-or-miss, in my opinion. If you look at the official documentation, it’s really only the workstation cards that are supported; not the consumer GPUs. But since they are largely the same, it has worked sometimes. That being said, ROCm has been slower to adopt new architectures since the workstation cards usually come out a bit later than the consumer cards. Currently RDNA3 isn’t supported at all so it’s not surprising that the 7000 series consumer cards aren’t working at all.

https://docs.amd.com/bundle/ROCm-Installation-Guide-v5.4.3/page/Prerequisites.html

It’s having different error after update:)

: CommandLine Error: Option 'use-dbg-addr' registered more than once!
LLVM ERROR: inconsistency in registered CommandLine options
fish: Job 1, 'rocm-clinfo' terminated by signal SIGABRT (Abort)
``

It’s working in GitHub - RadeonOpenCompute/ROCm-docker: Dockerfiles for the various software layers defined in the Radeon Open Compute Platform, so it’s not a GPU problem

Currently RDNA3 isn’t supported at all

Ah, crap. Thanks for this. I didn’t realize ROCm was so disconnected from their hardware offerings. I don’t understand why anyone would expect that. They’re not helping MESA do it any more, so, WTF? Is ROCm not how it works on Windows?

Btw it should work with RDNA3 with some hacks:

Yeah, I’m doing some reading, too. Ran across the same hints. It’s still not clear what exactly is missing. How OpenCL depends on ROCm sub-components is a complete mystery.

People are complaining on Phoronix forums, but more than one of the articles says very positive things at launch time about ROCm + 7900. Check out this quote:

Here’s to hoping that ROCm on the Radeon RX 7900 series will be in good shape in full soon and not having to wait for any Radeon Pro hardware based on RDNA3. But at least we know already HIP seems to be in good shape with the Blender 3.4 support in order, OpenCL is working, and I’ll be working to evaluate other ROCm components in the coming days to see how it goes with the Radeon RX 7900 series.
Source:Radeon ROCm 5.4.1 Released - Phoronix

Best I can tell, the consumer cards were always “unsupported”, at some level, for ROCm. It’s not clear why gfx10 cards ever received “official” support on the lists. So, the fact that there is this “unsupported” state DOES NOT mean it doesn’t work. My sense is, it’s always been like this, the OSS team is doing their best, as usual, as we have come to know life on Linux. But, it usually works, doesn’t it? I’m less sure than I was before @Yosuke’s post, but I’m still not 100 % sure 7900 it doesn’t work now.

ROCm worked fine for me on F37 so far. Installed the official amdgpu RPM for RHEL 9.1 and then everything related to rocm via dnf in a toolbox. Stable Diffusion runs pretty smooth on my 6900 XT (RDNA2).

I would recommend to run everything in a toolbox and keep the host as clean as possible to prevent overlapping versions.

You need to uninstall mesa-libOpenCL and make sure you only have rocm-opencl installed. Then it works:

$ clinfo
Number of platforms                               1
  Platform Name                                   AMD Accelerated Parallel Processing
  Platform Vendor                                 Advanced Micro Devices, Inc.
  Platform Version                                OpenCL 2.1 AMD-APP (3513.0)
  Platform Profile                                FULL_PROFILE
  Platform Extensions                             cl_khr_icd cl_amd_event_callback 
  Platform Extensions function suffix             AMD
  Platform Host timer resolution                  1ns
2 Likes

Yeah, I hear you. That’s true. MESA OCL doesn’t work, and only gets in the way. You should not have it installed for any AMDGPU newer than GCN, meaning RDNA and newer.

But, I new that. That’s not the only problem on my 7900, but I haven’t had a chance to try again.

@rathann Are you saying you have 7900 and it’s working for you, now? Or just saying generally for AMD+ROCm+OpenCL?

Okay, so, I made some time to try to fix my 7900 and it was super easy. I don’t know what I messed up, before, but I now have OpenCL working with no AMD repo pkgs. Just as I thought it should work from the get go. (I reiterate: NO AMD RHEL9/el9 pkgs or anything other than fedora 37 repos!)

What is really the problem is that fan control is totally broken, which I think is much more unexpected. But, that’s for another thread.

All I’ll say about this topic is that, as best I can tell, OpenCL was working on RDNA3 gfx11 from day one. And, I think that is pretty cool. I don’t think that was always the case, but I’m not sure. The “supported” full suite of ROCm tools may not yet be available for OSS, but I’m convinced that is not the full story, and functionality may exist before it is declared and published because the entire line of consumer grade cards are not really “officially” supported, anyway. So, if you are waiting for that, you are going to be disappointed. Plus, as others have reported, there is talk about ROCm 5.5 delivering on the other components which is expected shortly. So, no much longer to wait, at least.

I actually have a 6700 and yes, it’s working now.