Compiling LLVM, NAMD Performance

As we’re trying to rebuild our server test suite piece by piece – and there’s still a lot of work go ahead to get a good representative “real world” set of workloads, one more highly desired benchmark amongst readers was a more realistic compilation suite. Chrome and LLVM codebases being the most requested, I landed on LLVM as it’s fairly easy to set up and straightforward.

git clone https://github.com/llvm/llvm-project.git
cd llvm-project
git checkout release/11.x
mkdir ./build
cd ..
mkdir llvm-project-tmpfs
sudo mount -t tmpfs -o size=10G,mode=1777 tmpfs ./llvm-project-tmpfs
cp -r llvm-project/* llvm-project-tmpfs
cd ./llvm-project-tmpfs/build
cmake -G Ninja \
  -DLLVM_ENABLE_PROJECTS="clang;libcxx;libcxxabi;lldb;compiler-rt;lld" \
  -DCMAKE_BUILD_TYPE=Release ../llvm
time cmake --build .

We’re using the LLVM 11.0.0 release as the build target version, and we’re compiling Clang, libc++abi, LLDB, Compiler-RT and LLD using GCC 10.2 (self-compiled). To avoid any concerns about I/O we’re building things on a ramdisk. We’re measuring the actual build time and don’t include the configuration phase as usually in the real world that doesn’t happen repeatedly.

LLVM Suite Compile Time

Starting off with the Xeon 8380, we’re looking at large generational improvements for the new Ice Lake SP chip. A 33-35% improvement in compile time depending on whether we’re looking at 2S or 1S figures is enough to reposition Intel’s flagship CPU in the rankings by notable amounts, finally no longer lagging behind as drastically as some of the competition.

It’s definitely not sufficient to compete with AMD and Ampere, both showcasing figures that are still 25 and 15% ahead of the Xeon 8380.

The Xeon 6330 is falling in line with where we benchmarked it in previous tests, just slightly edging out the Xeon 8280 (6258R equivalent), meaning we’re seeing minor ISO-core ISO-power generational improvements (again I have to mention that the 6330 is half the price of a 6258R).

NAMD (Git-2020-12-09) - Apolipoprotein A1

NAMD is a problem-child benchmark due to its recent addition of AVX512: the code had been contributed by Intel engineers – which isn’t exactly an issue in my view. The problem is that this is a new algorithm which has no relation to the normal code-path, which remains not as hand-optimised for AVX2, and further eyebrow raising is that it’s solely compatible with Intel’s ICC and no other compiler. That’s one level too much in terms of questionable status as a benchmark: are we benchmarking it as a general HPC-representative workload, or are we benchmarking it solely for the sake of NAMD and only NAMD performance?

We understand Intel is putting a lot of focus on these kinds of workloads that are hyper-optimised to run well extremely on Intel-only hardware, and it’s a valid optimisation path for many use-cases. I’m just questioning how representative it is of the wider market and workloads.

In any case, the GCC binaries of the test on the ApoA1 protein showcase significant performance uplifts for the Xeon 8380, showcasing a +35.6% gain. Using this apples-to-apples code path, it’s still quite behind the competition which scales the performance much higher thanks to more cores.

SPECjbb MultiJVM - Java Performance Conclusion & End Remarks
Comments Locked

169 Comments

View All Comments

  • fanboi99 - Friday, April 9, 2021 - link

    That statement is totally inaccurate. Both current gen Intel and AMD server lines are readily available.
  • Qasar - Friday, April 9, 2021 - link

    Azix, and the other part of that, could be contracts, and the prices they charge for them.
  • lmcd - Tuesday, April 6, 2021 - link

    Bunch of desktop enthusiasts failing to understand that as long as Intel provides a new part to augment an existing VM pool that isn't so awful as to justify replacing all existing systems, they're going to retain 90% of their existing customers.
  • adelio - Wednesday, April 7, 2021 - link

    but for almost every new intel line they have no choice but to replace everything anyway so AMD are not really at that much of a disadvantage, if any!
  • Oxford Guy - Wednesday, April 7, 2021 - link

    'as long as Intel provides a new part to augment an existing VM pool that isn't so awful as to justify replacing all existing systems'

    That's nifty. I thought Intel likes to require new motherboards and things.

    I had no idea these chips are so backwards compatible with older hardware.
  • domih - Tuesday, April 6, 2021 - link

    # Where BS == 'Marketing'
    AMD = 'Maximum {}, Minimum {}'.format('performance', 'BS')
    INTEL = 'Maximum {}, Minimum {}'.format( 'BS', 'performance')
  • Foeketijn - Wednesday, April 7, 2021 - link

    It's good to know powerusage is about the same as the specifications.
    It shows the madness of an 8 core i9 using more than an 54 core Xeon.
    And even those 54 cores are not delivering a decent power/Watt.
    If AMD would have made that I/O die on 7nm the this ice lake CPU would even be in deeper trouble.
  • yankeeDDL - Wednesday, April 7, 2021 - link

    Wow. The conclusion is quite shocking. Massive improvement - still not good enough. Wow.
    Imagine how massively behind is the current generation compared to AMD in the server's market.
    Wow.
  • rf-design - Wednesday, April 7, 2021 - link

    The biggest sign would be if a 3nm fab in US starting hiring engaged but undervalued engineers from a 10nm fab which now found good reasons not to move to asia.
  • mode_13h - Wednesday, April 7, 2021 - link

    Andrei, thanks for the review, but please consider augmenting your memory benchmarks with something besides STREAM Triad.

    Particularly in light of the way that Altra benefits from their "non-temporal" optimization, it gives a false impression of the memory performance of these CPUs in typical, real-world use cases. I would suggest a benchmark that performs a mix of reads and writes of various sizes.

    Another interesting benchmark to look at would be some sort of stress test involving atomic memory operations.

Log in

Don't have an account? Sign up now