Announcement

Collapse
No announcement yet.

How to get OpenCL working again for GCN 1, 2, and 3 cards in Ubuntu and Arch Linux?

Collapse
X
 
  • Filter
  • Time
  • Show
Clear All
new posts

  • How to get OpenCL working again for GCN 1, 2, and 3 cards in Ubuntu and Arch Linux?

    Have tried so many drivers snd AUR packages my head hurts. I can see the devices in clinfo, but then clinfo freezes. ocl code fails to execute. When installed with complete bundles rocminfo shows the cards as available even when they are not.

    W/bunches of belinuxed users here - maybe someone has found the answer.

    (Have the correct modprobe.d items to use amdgpu)
    (Tried legacy 5.4.042 and 5.4.071 kernels in Ubuntu 18.04 and 20.04 with the latest driver package, wiped and reinstalled with the 20.45 then again with 20.30 bundles)
    (On Arch, tried every combo of package available. Then manually used debtap and the same packages with the LTS Kernel repository 5.4 builds…. Still to no avail)

    Specifically: I am trying to get a rig with 2x W7100, 2x W7000 and 1x W5100 up and running again. Have tried forced 1x speed via modprobe, forced PCIE2.

    TLR does anyone have the special sauce to make mesa +Vulkan+OpenCL all work either on legacy kernels, modern, or both with GCN 1, 2, and 3 cards and specifically while modprobe.d /amdgpu.conf and radeon.conf are correctly set up to disallow the SI and CIK cards, then blacklist radeon, whitelist amdgpu, AND load amdgpu before radeon)

    Re: GCN 3 not sure why it and GCN 4 do not simply have full HIP support in Windows and Linux. Old Pro cards-cum-render stations would be simply lovely. What would it take to get that up and running?
    ​​​
    Last edited by Eirikr1848; 27 July 2022, 03:06 PM.

  • #2
    If it helps, the ROCm stack has never supported SI/"GCN1" and only had partial support for CI/"GCN2". I believe you will need to use Orca (legacy) OpenCL paths for everything up to Polaris AFAIK.

    I am not 100% sure if we are still including/testing Orca/legacy OpenCL paths in the packaged drivers but I think we are... what I don't remember is if we are claiming support for SI/CI in the latest drivers at all. I thought that was dropped a year or so ago but need to go look. If that is the case then best bet might be to find an older OpenCL userspace for those parts.

    EDIT - took a quick look. AFAICS for the W7000 the latest driver is 21Q2 from about a year ago, which I believe will need to run on something like 20.04 LTS with the generic kernel rather than the hwe kernel:

    https://www.amd.com/en/support/profe.../firepro-w7000



    Looks like the same driver is also the latest for the W7100 and W5100. Strictly speaking you only need the OpenCL userspace, although if you are running apps that use GL/CL interop I think you would have more success using the OpenGL userspace as well. Still not 100% sure about that though.

    IIRC the packages a year ago had the ability to install open source userspace plus OpenCL... if I get time I'll go check that and do another edit.
    Last edited by bridgman; 28 July 2022, 12:38 PM.
    Test signature

    Comment


    • #3
      Hey there! Thanks for all the info - helped narrow down what I needed to do.

      -- Re:OS - still had issues with Ubuntu so went back to Manjaro. Found this AUR PKGBUILD for 20.45 drivers -- OpenCL now works fine with Manjaro on their latest 5.15LTS kernel. Easy peasy. (also for those finding this via Google in the feature - I added myself to the render group via (
      Code:
      usermod -a -G render myacctname
      . I then navigated to my preferred folder, made a new PKGBUILD file then created and installed the package with
      Code:
      nano PKGBUILD
      Code:
      makepkg -si
      -- rocminfo still likes to show a gx701 and gfx704 as available devices which seems odd -- speculating perhaps somewhere at some point support was considered -- then never implemented as time kept marching on?

      -- 280X cards were "GCN 3.0"/gfx8xx cards it appears - which I had in my system when first playing around with the rocm sdk -- looks like it is support for those cards and GCN4/Polaris that was dropped?

      ----------

      Time marches forward and resources are always limited. That being said, I guess I "just assumed" that by now in 2022:
      • the amdgpu kernel module would be preferred by default for gfx600/GCN1/CIK and gfx700/GCN2/si for use with mesa radeonsi/radv
      • Compute Solutions HIP/ROCM/OpenMPI/etc do not drop cards over time, but continue to see a primary forward focus with new cards -- yet driver teams that work internally and with the broader community to continue to offer (and to extend) legacy support.
      • For an example: Blender + Crowdrender plugin being used to get older cards set up as a renderfarm as newer cards come in and replace them as primary.
      I just "expected" to be able to move new cards into new machines and repurpose old cards. I wish I had better knowledge in order to provide a solution as to what could be done to "make things better" or to figure out how to provide a "grand unified compute driver for everything"

      I remain hopelessly optimistic



      Originally posted by bridgman View Post
      If it helps, the ROCm stack has never supported SI/"GCN1" and only had partial support for CI/"GCN2". I believe you will need to use Orca (legacy) OpenCL paths for everything up to Polaris AFAIK.

      I am not 100% sure if we are still including/testing Orca/legacy OpenCL paths in the packaged drivers but I think we are... what I don't remember is if we are claiming support for SI/CI in the latest drivers at all. I thought that was dropped a year or so ago but need to go look. If that is the case then best bet might be to find an older OpenCL userspace for those parts.

      EDIT - took a quick look. AFAICS for the W7000 the latest driver is 21Q2 from about a year ago, which I believe will need to run on something like 20.04 LTS with the generic kernel rather than the hwe kernel:

      https://www.amd.com/en/support/profe.../firepro-w7000



      Looks like the same driver is also the latest for the W7100 and W5100. Strictly speaking you only need the OpenCL userspace, although if you are running apps that use GL/CL interop I think you would have more success using the OpenGL userspace as well. Still not 100% sure about that though.

      IIRC the packages a year ago had the ability to install open source userspace plus OpenCL... if I get time I'll go check that and do another edit.
      Last edited by Eirikr1848; 30 July 2022, 12:08 AM.

      Comment

      Working...
      X