Announcement

Collapse
No announcement yet.

AMD AOCC 4.0 Arrives For Squeezing More Performance Out Of Zen 4

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

  • AMD AOCC 4.0 Arrives For Squeezing More Performance Out Of Zen 4

    Phoronix: AMD AOCC 4.0 Arrives For Squeezing More Performance Out Of Zen 4

    On Thursday when launching AMD 4th Gen EPYC Genoa processors, AMD also published AOCC 4.0 as the newest version of the AMD Optimizing C/C++ Compiler. I've been putting it through its paces the past day and continues showing the positive performance impact of proper compiler tuning.

    https://www.phoronix.com/review/amd-aocc-4

  • #2
    Good to see every result is par or better. Seems like most of the time you get tradeoffs.

    Comment


    • #3
      Overall a good start for Zen4 and this compiler suite.

      It would be also interessting if the older Zen, Zen2 are profiting over aocc3.

      Comment


      • #4
        Originally posted by CochainComplex View Post
        Overall a good start for Zen4 and this compiler suite.

        It would be also interessting if the older Zen, Zen2 are profiting over aocc3.
        And even what effect it has if the code is run on Intel CPUs.

        Comment


        • #5
          Interesting, was a bit excited about this release, but its really sad that it got based on llvm 14.
          Anyways just tested a compilation of the linux kernel with AMD AOCC CLANG + FULL LTO and it was not successful.
          With the default installed clang, also based on the latest clang 14 release the kernel compiled well.

          Besides that:

          The compiler is slow... Commonly I built a FULL LTO Kernel between 15-20 min with my 5900X.
          When aocc has failed at the linking of vmlinuz, the compilation was already more then half a hour.

          Comment


          • #6
            Michael

            Typos/grammar

            Page1 "EPYC products and does still retain support" should be "EPYC products and still retains support​"

            Page 3? "Ryzen develoepr desktops" should be "Ryzen developer desktops"

            Missing commas ... too many to count.

            Comment


            • #7
              Could we have gcc performance as well, just to have another baseline?

              Comment


              • #8
                Originally posted by carewolf View Post
                Could we have gcc performance as well, just to have another baseline?
                As said, more benchmarks will be coming.
                Michael Larabel
                https://www.michaellarabel.com/

                Comment


                • #9
                  "Additionally, I personally continue to be a bit perplexed why AMD waits until the later EPYC launch before posting AOCC 4.0 rather than striking initially when the Ryzen 7000 series first debuted."

                  This may be a surprise for some, but AOCC and ICC only exist for SPEC scores. So new compilers get released at the same time as new server cores. Releasing the compiler earlier means SPEC scores of older cores will increase as well, something you definitely don't want when promoting your next generation server! Many optimization tricks apply just to SPEC and are kept secret, hence the relatively low-key effort to tune open source GCC and LLVM.

                  Comment


                  • #10
                    Very few people use aocc if any. Probably only HPC guys running big clusters use aocc, as when you invest millions into a supercomputer, then every percent of performance matters. And super computing clusters usually setup all the toolchains for all the users, so it is maintained and easy to use. For general use, meh.

                    I downloaded the Ubuntu deb, and installed without issues on the Debian testing, here are dependencies for anybody wanting to know:

                    Code:
                    Depends: libxml2:amd64, libstdc++6:amd64, libncurses5-dev:amd64, libzstd1:amd64, libquadmath0:amd64, gcc
                    ​
                    They are not versioned, not sure why it needs libncurses5-dev either.

                    I could not find any source codes for aocc and modifications compared to llvm / clang / flang.


                    Also AMD just released AMD Optimizing CPU Libraries (AOCL) version 4.0.0, with a lot of libraries seeing AVX-512 support, and other optimisations. Again mostly for use by HPC guys, but might be interesting to test. They have version compiled with aocc 4.0.0 and version compiled with GCC 11.2.

                    More interesting is also a release of AMD μProf 4.0.0 for Linux, FreeBSD and Windows. Works with code compiled by all compilers. It has command line interface, and also GUI too. It extends normal profiling methods, with extra library support, especially MPI and OpenMP. And it integrates with GPU profiling (ROCm and gcc offload too I think). For CPU it uses perf + eBPF, which is a really cool, flexible and lowish overhead technique. It also integrates with power measurement tracing. So it is a nice package. Again mostly for HPC people. Documentation and features are also pretty decent, so it might be a good alternative to VTune, or perf, and similar.

                    ​Unfortunately deb package for Debian does not work well on Debian. There are install scripts bugs, and might not work with more recent kernels. :/

                    Comment

                    Working...
                    X