Announcement

Collapse
No announcement yet.

AMD/Intel Benchmarks: Building The Mainline Linux x86_64 Kernel With LLVM Clang

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

  • AMD/Intel Benchmarks: Building The Mainline Linux x86_64 Kernel With LLVM Clang

    Phoronix: AMD/Intel Benchmarks: Building The Mainline Linux x86_64 Kernel With LLVM Clang

    With the upcoming LLVM Clang 9.0 compiler release there is an amazing achievement more than a decade in the making... The mainline Clang compiler can finally build the mainline Linux x86_64 kernel. The AArch64 state has been in better shape in recent years with multiple Arm vendors using Clang as their default compiler including to build the Linux kernel, but finally in 2019 the mainline Clang can build mainline Linux x86_64. There are a few caveats, but in this article is my experience in doing so with LLVM Clang and the Linux 5.3 kernel as well as running some preliminary benchmarks on AMD and Intel hardware.

    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
    "the race was very close." yeah well, it's a kernel, where the CPU should spend the least amount of time in, written in C, being an glorified assembler fronted. What did we expect? ;-)

    Comment


    • #3
      Code sizes comparison?

      LTO?

      Comment


      • #4
        You should also have included the time that it takes to compile on Clang and GCC

        Comment


        • #5
          Interesting results nonetheless even though the differences are not that high. They might be more pronounced with different optimization settings. And I hope they get AMDGPU to compile with Clang, as I need it.

          Comment


          • #6
            It will be a long time before everything works as it should.
            At the moment I am receiving this error with CONFIG_INIT_STACK_ALL.
            Code:
            Linux version 5.2.14 (clang version 10.0.0 (https://github.com/llvm/llvm-project/ 8288453f6aac05080b751b680455349e09d49825))
            systemd[1]: File /usr/lib/systemd/system/systemd-journald.service:14 configures an IP firewall (IPAddressDeny=any), but the local system does not support BPF/cgroup based firewalling.
            systemd[1]: Proceeding WITHOUT firewalling in effect! (This warning is only shown for the first loaded unit using IP firewalling.)
            BPF works without hardening.
            As for performance, it is comparable to gcc 9.2.0
            Last edited by latalante; 12 September 2019, 11:51 AM.

            Comment


            • #7
              AMDGPU issue to be fixed for Linux 5.4 - https://twitter.com/nathanchance/sta...81101344804864
              Michael Larabel
              https://www.michaellarabel.com/

              Comment


              • #8
                Hardly much point running a full stack testsuite. There will minor differences only.
                Individual synthetics on the kernel are much more useful at this point.
                Stress-ng and friends?

                That should point to interesting difference between the compilers which probably will lead to efforts that both have use for.

                Comment


                • #9
                  Originally posted by rene View Post
                  "the race was very close." yeah well, it's a kernel, where the CPU should spend the least amount of time in, written in C, being an glorified assembler fronted. What did we expect? ;-)
                  Actually I anticipated a whole different set of tests.
                  Running full software suites on the kernel isn't going to reveal much at all.
                  Individual core component synthetics will yield much more interesting results.

                  Comment


                  • #10
                    Originally posted by milkylainen View Post
                    Hardly much point running a full stack testsuite. There will minor differences only.
                    Individual synthetics on the kernel are much more useful at this point.
                    Stress-ng and friends?

                    That should point to interesting difference between the compilers which probably will lead to efforts that both have use for.
                    The full stack was useful for seeing e.g. the Blender instability. Stress-ng and friends were run, the notable results shown in the article, the other micro-benchmarks didn't end up showing much difference and thus weren't included in the article as part of the 97 tests run.
                    Michael Larabel
                    https://www.michaellarabel.com/

                    Comment

                    Working...
                    X