Announcement

Collapse
No announcement yet.

GCC 14 Adds "GFX90C" For OpenMP Offloading To APUs With GFX9/Vega Graphics

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

  • GCC 14 Adds "GFX90C" For OpenMP Offloading To APUs With GFX9/Vega Graphics

    Phoronix: GCC 14 Adds "GFX90C" For OpenMP Offloading To APUs With GFX9/Vega Graphics

    As the last feature patch prior to the GCC 14 compiler code being branched today and GCC 15 opening up on the mainline codebase, AMD GFX90C support was merged for enabling GPU OpenMP device offloading to the numerous AMD SoCs/APUs with the GFX9/Vega graphics...

    Phoronix, Linux Hardware Reviews, Linux hardware benchmarks, Linux server benchmarks, Linux benchmarking, Desktop Linux, Linux performance, Open Source graphics, Linux How To, Ubuntu benchmarks, Ubuntu hardware, Phoronix Test Suite

  • #2
    Dammit. So close. Hope they eventually go back to GFX8. My now 8 year old AMD Bristol Ridge equipped desktop and laptop ( A12-9800 for the desktop and A12-9700 for the laptop ) would appreciate that. Along with the earlier Carrizo APU which only saw light in laptops and the even earlier Kaveri they remain the only AMD Fusion APUs that reached full HSA 1.0 certification. In addition the integrated on die GPU of the Bristol Ridge is named Wani. It’s a weird blend of Volcanic Island and Pirates Island tech. In other words a sprinkling of Tonga (Volcanic Island) and Fiji (Pirates Island). It’s GCN 3.0 and is capable of OpenCL 2.1 and Vulkan 2.1 along with DirectX 12. The 4 CPU cores are the last iteration of the Bulldozer core, specifically Excavator cores. It’s all tied together with a 48bit zero copy memory scheme between the CPU cores and the GPU. It’s just a shame that these Bristol Ridges were relegated to crappy OEM motherboards in budget computers that had broken MMU tables so it made it difficult to implement HSA much less ROCm which at first stated that these APUs would be supported but that went by the wayside with the advent of Ryzen. It’s supposedly possible but no one has this gear anymore nor wants to hassle getting around the MMU issues. Here’s to hoping OpenMP makes it to GFX8 one day.

    Comment


    • #3
      On second thought and reading perhaps this is just the addition of this specific version of GFX. I lost hope of really exploring HSA and doing so by building a small Beowulf like cluster of 4 Bristol Ridge APU equipped desktops or laptops to explore concepts of HSA and OpenMP. Perhaps OpenMP already has GFX8 support and I am unaware seeing as how I have moved on to other things for my spare time and personal enrichment.

      Comment


      • #4
        Originally posted by Jumbotron View Post
        Dammit. So close. Hope they eventually go back to GFX8. My now 8 year old AMD Bristol Ridge equipped desktop and laptop ( A12-9800 for the desktop and A12-9700 for the laptop ) would appreciate that. Along with the earlier Carrizo APU which only saw light in laptops and the even earlier Kaveri they remain the only AMD Fusion APUs that reached full HSA 1.0 certification. In addition the integrated on die GPU of the Bristol Ridge is named Wani. It’s a weird blend of Volcanic Island and Pirates Island tech. In other words a sprinkling of Tonga (Volcanic Island) and Fiji (Pirates Island). It’s GCN 3.0 and is capable of OpenCL 2.1 and Vulkan 2.1 along with DirectX 12. The 4 CPU cores are the last iteration of the Bulldozer core, specifically Excavator cores. It’s all tied together with a 48bit zero copy memory scheme between the CPU cores and the GPU. It’s just a shame that these Bristol Ridges were relegated to crappy OEM motherboards in budget computers that had broken MMU tables so it made it difficult to implement HSA much less ROCm which at first stated that these APUs would be supported but that went by the wayside with the advent of Ryzen. It’s supposedly possible but no one has this gear anymore nor wants to hassle getting around the MMU issues. Here’s to hoping OpenMP makes it to GFX8 one day.
        vulkan 2.1 ???? the highest Vulkan version number is 1.3.283

        ​i am pretty sure that your Bulldozer based APUs "A12-9800/A12-9700" is EOL end of life.

        i still have 2 bulldozer FX8350 systems in action but with classic GPUs not APUs with a vega64 and of course ROCm/HIP support.

        i don't think there is hope with your systems
        Phantom circuit Sequence Reducer Dyslexia

        Comment


        • #5
          Originally posted by Jumbotron View Post
          Along with the earlier Carrizo APU which only saw light in laptops
          Carrizo APUs were sold also for Socket FM2+ (A8-7680) and for socket AM4 (OEM only)
          You can check some OEM BIOSes and early BIOS releases for DIY mobos with A320 chipset, they have still Carrizo firmware.

          Originally posted by qarium View Post
          i am pretty sure that your Bulldozer based APUs "A12-9800/A12-9700" is EOL end of life.
          A12-9800 and A10-9700 are Bristol Ridge which uses Excavator and not Bulldozer CPU cores. Those are already pretty modern and support x86-64 v3 along with the whole range of AMD instructions like FMA4, TBM, XOP, which were officially dropped with Zen.

          Originally posted by Jumbotron View Post
          It’s just a shame that these Bristol Ridges were relegated to crappy OEM motherboards in budget computers that had broken MMU tables
          There was also the smaller variant Stoney Ridge, which was used in Chromebooks and those had decent firmware.

          Also very interesting is that Carrizo/Bristol Ridge/Stoney Ridge have FP64 1:2 FP32 performance on the iGPU, something which Tahiti and besides that nothing else on AMD consumer side has.
          Last edited by chithanh; 26 April 2024, 03:31 PM.

          Comment


          • #6
            Originally posted by chithanh View Post
            A12-9800 and A10-9700 are Bristol Ridge which uses Excavator and not Bulldozer CPU cores. Those are already pretty modern and support x86-64 v3 along with the whole range of AMD instructions like FMA4, TBM, XOP, which were officially dropped with Zen.
            right. you are right. but this is all the CPU side ... if ROCm/HIP does not work he can not offload Compute workloads to the gpu...
            Phantom circuit Sequence Reducer Dyslexia

            Comment


            • #7
              Originally posted by qarium View Post

              vulkan 2.1 ???? the highest Vulkan version number is 1.3.283

              ​i am pretty sure that your Bulldozer based APUs "A12-9800/A12-9700" is EOL end of life.

              i still have 2 bulldozer FX8350 systems in action but with classic GPUs not APUs with a vega64 and of course ROCm/HIP support.

              i don't think there is hope with your systems
              My bad. I had OpenCL in mind which Bristol Ridge has OpenCL 2.1 capability and typed Vulkan instead which for Bristol Ridge it’s good for Vulkan 1.2

              And yes all the Fusion era APUs are EOLed.

              The now retired and brilliant ATI/AMD GPU veteran Bridgman conferred with me on several occasions about my love for these engineering marvels and the promise of HSA and how technically at first ROCm could work on Carrizo and Bristol Ridge but you had to have a board without broken IOMMU tables and there was some scatter gather issues as well. So much potential but Lisa Su came in shortly after and overturned the tables and started the era or Ryzen and RDNA (and EPYC and CDNA) . But Kaveri, Carrizo and Bristol Ridge still remain the first and only x86-64 monolithic SoC dies with unified zero copy memory between the on die CPU cores and the on die GPU cores. In fact, in order to cram more transistors above and beyond Carrizo and to upgrade the on-die GPU while still using the 28nm node of Carrizo, AMD actually used masks usually used to make dense GPU layouts on the entire Bristol Ridge APU.

              I’m rocking an Apple MacBook Pro now with their latest M3 Pro SoC. But every now and again I Iook over at my aging and EOLed Bristol Ridge laptop with Ubuntu and smile….remembering there was a fair time when AMD got there first.

              Comment


              • #8
                Looking into this further it seems that this is for some of the original Ryzen APUs that had Vega era GPUs. Like Zen 1 Raven Ridge, Zen 2 Renoir and Zen 3 Cezanne. And obviously Vega is GFX9.

                Comment


                • #9
                  In my opinion ROCm is finally good enough to start using on a couple of my GFX90C's (a notebook and a APU). I've built Ollama with HIP and it works amazingly well for AI (llama3). You have to export HSA_OVERRIDE_GFX_VERSION=9.0.0 to get Ollama to work with the GFX90C. I'll have to find some OpenMP software to test gcc's GFX90C support. Yep, fun days.

                  It's been a long and painful journey for ROCm. Building the code from source was a nightmare for most of the last 10 years, but I slogged through it over and over again. Finally things started clicking with 6.0. And over the last week I finally got a stable ROCm 6.1 built from source. I have a series of packaging scripts that will make updates in the future easy (although the build time for some of the ROCm packages is very very long).

                  Comment


                  • #10
                    Originally posted by cbxbiker61 View Post
                    In my opinion ROCm is finally good enough to start using on a couple of my GFX90C's (a notebook and a APU). I've built Ollama with HIP and it works amazingly well for AI (llama3). You have to export HSA_OVERRIDE_GFX_VERSION=9.0.0 to get Ollama to work with the GFX90C. I'll have to find some OpenMP software to test gcc's GFX90C support. Yep, fun days.

                    It's been a long and painful journey for ROCm. Building the code from source was a nightmare for most of the last 10 years, but I slogged through it over and over again. Finally things started clicking with 6.0. And over the last week I finally got a stable ROCm 6.1 built from source. I have a series of packaging scripts that will make updates in the future easy (although the build time for some of the ROCm packages is very very long).
                    Can you elaborate more on build/setup ROCm 6.1? Do you mean that works for GFX90C with the override environment string?

                    Comment

                    Working...
                    X