AMD EPYC Rome GCC / LLVM / AOCC Compiler Benchmarks

AMD AOCC 2.0, GCC, LLVM Clang compiler benchmarks on EPYC 7742. Tests by Michael Larabel for a future article.

HTML result view exported from: https://openbenchmarking.org/result/1908094-AS-AOCC20EPY01&sor&grs.

AMD EPYC Rome GCC / LLVM / AOCC Compiler BenchmarksProcessorMotherboardChipsetMemoryDiskGraphicsMonitorNetworkOSKernelDesktopDisplay ServerDisplay DriverCompilerFile-SystemScreen ResolutionGCC 9.1.0GCC 10.0 GitLLVM Clang 9.0 SVNAOCC 2.02 x AMD EPYC 7742 64-Core @ 2.25GHz (128 Cores / 256 Threads)AMD DAYTONA_X (RDY1001C BIOS)AMD Device 1480516096MB280GB INTEL SSDPED1D280GA + 6 x 3841GB Micron_9300_MTFDHAL3T8TDP + 256GB Micron_1100_MTFDASPEEDVE2282 x Mellanox MT27710Ubuntu 19.045.2.0-050200rc7-generic (x86_64) 20190630GNOME Shell 3.32.1X Server 1.20.4modesetting 1.20.4GCC 9.1.0ext41920x1080GCC 10.0.0 20190804Clang 9.0.0-svn364739-1~exp1+0~20190701101552.184~1.gbp124358Clang 8.0.0OpenBenchmarking.orgEnvironment Details- CXXFLAGS=-O3-march=znver2 CFLAGS=-O3-march=znver2Compiler Details- GCC 9.1.0: --disable-multilib --enable-checking=release- GCC 10.0 Git: --disable-multilib --enable-checking=release- AOCC 2.0: Optimized build with assertions; Default target: x86_64-unknown-linux-gnu; Host CPU: znver1Processor Details- Scaling Governor: acpi-cpufreq ondemandPython Details- Python 2.7.16 + Python 3.7.3Security Details- l1tf: Not affected + mds: Not affected + meltdown: Not affected + spec_store_bypass: Mitigation of SSB disabled via prctl and seccomp + spectre_v1: Mitigation of __user pointer sanitization + spectre_v2: Mitigation of Full AMD retpoline IBPB: conditional IBRS_FW STIBP: conditional RSB filling

AMD EPYC Rome GCC / LLVM / AOCC Compiler Benchmarksc-ray: Total Time - 4K, 16 Rays Per Pixelcoremark: CoreMark Size 666 - Iterations Per Secondjohn-the-ripper: Blowfishscimark2: Fast Fourier Transformscimark2: Sparse Matrix Multiplycpp-perf-bench: Rand Numbersaobench: 2048 x 2048 - Total Timegraphics-magick: Rotatecpp-perf-bench: Stepanov Vectorfftw: Stock - 2D FFT Size 2048cpp-perf-bench: Ctypefftw: Stock - 2D FFT Size 4096tscp: AI Chess Performancecpp-perf-bench: Stepanov Abstractionscimark2: Jacobi Successive Over-Relaxationscimark2: Compositescimark2: Dense LU Matrix Factorizationcpp-perf-bench: Math Librarydav1d: Summer Nature 4Ksvt-vp9: 1080p 8-bit YUV To VP9 Video Encodex264: H.264 Video Encodingscimark2: Monte Carlosvt-av1: 1080p 8-bit YUV To AV1 Video Encodedav1d: Summer Nature 1080px265: H.265 1080p Video Encodingsvt-hevc: 1080p 8-bit YUV To HEVC Video Encodetjbench: Decompression Throughputcpp-perf-bench: Function Objectscpp-perf-bench: Atolapache: Static Web Page Servinggraphics-magick: Resizinghpcg: GCC 9.1.0GCC 10.0 GitLLVM Clang 9.0 SVNAOCC 2.05.723868113.71148302203.682741.971599.0736.7720499.217381.0041.666327.20107281236.661801.312834.068811.17343.4511.52277.45153.31612.17101.074.7544.54343.29175.1618.9374.3624915.191020.365.823825301.45148542202.712763.501627.9935.3320297.707288.8039.336289.30104077536.521800.112828.018762.75333.8511.16283.63152.43610.98100.444.7744.73344.04175.4819.0174.3224096.601020.369.193024508.81187652224.523382.931892.4641.7523785.896627.7736.745842.73114937033.441655.772880.568518.52331.0211.56274.55153.95621.05102.784.8645.37337.75174.1318.8274.1024594.661190.359.013284059.92187140178.572736.941894.0237.0220589.736462.3337.815593.44109368234.101656.182730.138473.11330.4111.14157.18605.884.7745.57175.9618.9474.3824163.311200.33OpenBenchmarking.org

C-Ray

Total Time - 4K, 16 Rays Per Pixel

OpenBenchmarking.orgSeconds, Fewer Is BetterC-Ray 1.1Total Time - 4K, 16 Rays Per PixelGCC 9.1.0GCC 10.0 GitAOCC 2.0LLVM Clang 9.0 SVN3691215SE +/- 0.09, N = 3SE +/- 0.09, N = 3SE +/- 0.13, N = 3SE +/- 0.04, N = 35.725.829.019.191. (CC) gcc options: -lm -lpthread -O3 -march=znver2

Coremark

CoreMark Size 666 - Iterations Per Second

OpenBenchmarking.orgIterations/Sec, More Is BetterCoremark 1.0CoreMark Size 666 - Iterations Per SecondGCC 9.1.0GCC 10.0 GitAOCC 2.0LLVM Clang 9.0 SVN800K1600K2400K3200K4000KSE +/- 60538.32, N = 3SE +/- 29615.82, N = 3SE +/- 40813.96, N = 3SE +/- 32092.57, N = 33868113.713825301.453284059.923024508.811. (CC) gcc options: -O2 -O3 -march=znver2 -lrt" -lrt

John The Ripper

Test: Blowfish

OpenBenchmarking.orgReal C/S, More Is BetterJohn The Ripper 1.9.0-jumbo-1Test: BlowfishLLVM Clang 9.0 SVNAOCC 2.0GCC 10.0 GitGCC 9.1.040K80K120K160K200KSE +/- 2145.04, N = 3SE +/- 858.63, N = 3SE +/- 760.59, N = 3SE +/- 794.73, N = 31876521871401485421483021. (CC) gcc options: -m64 -lssl -lcrypto -fopenmp -lgmp -pthread -lm -lz -ldl -lcrypt -lbz2

SciMark

Computational Test: Fast Fourier Transform

OpenBenchmarking.orgMflops, More Is BetterSciMark 2.0Computational Test: Fast Fourier TransformLLVM Clang 9.0 SVNGCC 9.1.0GCC 10.0 GitAOCC 2.050100150200250SE +/- 0.10, N = 3SE +/- 0.91, N = 3SE +/- 0.44, N = 3SE +/- 0.38, N = 3224.52203.68202.71178.571. (CC) gcc options: -O3 -march=znver2 -lm

SciMark

Computational Test: Sparse Matrix Multiply

OpenBenchmarking.orgMflops, More Is BetterSciMark 2.0Computational Test: Sparse Matrix MultiplyLLVM Clang 9.0 SVNGCC 10.0 GitGCC 9.1.0AOCC 2.07001400210028003500SE +/- 47.14, N = 3SE +/- 15.27, N = 3SE +/- 69.70, N = 3SE +/- 14.78, N = 33382.932763.502741.972736.941. (CC) gcc options: -O3 -march=znver2 -lm

CppPerformanceBenchmarks

Test: Random Numbers

OpenBenchmarking.orgSeconds, Fewer Is BetterCppPerformanceBenchmarks 9Test: Random NumbersGCC 9.1.0GCC 10.0 GitLLVM Clang 9.0 SVNAOCC 2.0400800120016002000SE +/- 0.06, N = 3SE +/- 0.12, N = 3SE +/- 0.02, N = 3SE +/- 0.26, N = 31599.071627.991892.461894.021. (CXX) g++ options: -O3 -march=znver2 -std=c++11

AOBench

Size: 2048 x 2048 - Total Time

OpenBenchmarking.orgSeconds, Fewer Is BetterAOBenchSize: 2048 x 2048 - Total TimeGCC 10.0 GitGCC 9.1.0AOCC 2.0LLVM Clang 9.0 SVN1020304050SE +/- 0.00, N = 3SE +/- 0.01, N = 3SE +/- 0.04, N = 3SE +/- 0.01, N = 335.3336.7737.0241.751. (CC) gcc options: -lm -O3 -march=znver2

GraphicsMagick

Operation: Rotate

OpenBenchmarking.orgIterations Per Minute, More Is BetterGraphicsMagick 1.3.30Operation: RotateLLVM Clang 9.0 SVNAOCC 2.0GCC 9.1.0GCC 10.0 Git50100150200250SE +/- 1.15, N = 3237205204202-lomp-lomp-ldl-ldl1. (CC) gcc options: -fopenmp -O3 -march=znver2 -pthread -ljbig -lwebp -lwebpmux -ltiff -ljpeg -lXext -lSM -lICE -lX11 -llzma -lbz2 -lz -lm -lpthread

CppPerformanceBenchmarks

Test: Stepanov Vector

OpenBenchmarking.orgSeconds, Fewer Is BetterCppPerformanceBenchmarks 9Test: Stepanov VectorLLVM Clang 9.0 SVNAOCC 2.0GCC 10.0 GitGCC 9.1.020406080100SE +/- 0.11, N = 3SE +/- 0.35, N = 3SE +/- 0.05, N = 3SE +/- 0.02, N = 385.8989.7397.7099.211. (CXX) g++ options: -O3 -march=znver2 -std=c++11

FFTW

Build: Stock - Size: 2D FFT Size 2048

OpenBenchmarking.orgMflops, More Is BetterFFTW 3.3.6Build: Stock - Size: 2D FFT Size 2048GCC 9.1.0GCC 10.0 GitLLVM Clang 9.0 SVNAOCC 2.016003200480064008000SE +/- 15.60, N = 3SE +/- 74.47, N = 3SE +/- 50.06, N = 3SE +/- 19.37, N = 37381.007288.806627.776462.331. (CC) gcc options: -pthread -O3 -march=znver2 -lm

CppPerformanceBenchmarks

Test: Ctype

OpenBenchmarking.orgSeconds, Fewer Is BetterCppPerformanceBenchmarks 9Test: CtypeLLVM Clang 9.0 SVNAOCC 2.0GCC 10.0 GitGCC 9.1.01020304050SE +/- 0.00, N = 3SE +/- 0.00, N = 3SE +/- 0.00, N = 3SE +/- 0.12, N = 336.7437.8139.3341.661. (CXX) g++ options: -O3 -march=znver2 -std=c++11

FFTW

Build: Stock - Size: 2D FFT Size 4096

OpenBenchmarking.orgMflops, More Is BetterFFTW 3.3.6Build: Stock - Size: 2D FFT Size 4096GCC 9.1.0GCC 10.0 GitLLVM Clang 9.0 SVNAOCC 2.014002800420056007000SE +/- 32.75, N = 3SE +/- 67.18, N = 3SE +/- 41.90, N = 3SE +/- 48.86, N = 126327.206289.305842.735593.441. (CC) gcc options: -pthread -O3 -march=znver2 -lm

TSCP

AI Chess Performance

OpenBenchmarking.orgNodes Per Second, More Is BetterTSCP 1.81AI Chess PerformanceLLVM Clang 9.0 SVNAOCC 2.0GCC 9.1.0GCC 10.0 Git200K400K600K800K1000KSE +/- 479.00, N = 5SE +/- 532.27, N = 5SE +/- 1412.87, N = 5SE +/- 393.00, N = 511493701093682107281210407751. (CC) gcc options: -O3 -march=znver2 -march=native

CppPerformanceBenchmarks

Test: Stepanov Abstraction

OpenBenchmarking.orgSeconds, Fewer Is BetterCppPerformanceBenchmarks 9Test: Stepanov AbstractionLLVM Clang 9.0 SVNAOCC 2.0GCC 10.0 GitGCC 9.1.0816243240SE +/- 0.00, N = 3SE +/- 0.01, N = 3SE +/- 0.01, N = 3SE +/- 0.01, N = 333.4434.1036.5236.661. (CXX) g++ options: -O3 -march=znver2 -std=c++11

SciMark

Computational Test: Jacobi Successive Over-Relaxation

OpenBenchmarking.orgMflops, More Is BetterSciMark 2.0Computational Test: Jacobi Successive Over-RelaxationGCC 9.1.0GCC 10.0 GitAOCC 2.0LLVM Clang 9.0 SVN400800120016002000SE +/- 0.11, N = 3SE +/- 0.14, N = 3SE +/- 0.43, N = 3SE +/- 0.16, N = 31801.311800.111656.181655.771. (CC) gcc options: -O3 -march=znver2 -lm

SciMark

Computational Test: Composite

OpenBenchmarking.orgMflops, More Is BetterSciMark 2.0Computational Test: CompositeLLVM Clang 9.0 SVNGCC 9.1.0GCC 10.0 GitAOCC 2.06001200180024003000SE +/- 9.28, N = 3SE +/- 10.94, N = 3SE +/- 4.68, N = 3SE +/- 4.27, N = 32880.562834.062828.012730.131. (CC) gcc options: -O3 -march=znver2 -lm

SciMark

Computational Test: Dense LU Matrix Factorization

OpenBenchmarking.orgMflops, More Is BetterSciMark 2.0Computational Test: Dense LU Matrix FactorizationGCC 9.1.0GCC 10.0 GitLLVM Clang 9.0 SVNAOCC 2.02K4K6K8K10KSE +/- 15.96, N = 3SE +/- 28.43, N = 3SE +/- 6.82, N = 3SE +/- 10.49, N = 38811.178762.758518.528473.111. (CC) gcc options: -O3 -march=znver2 -lm

CppPerformanceBenchmarks

Test: Math Library

OpenBenchmarking.orgSeconds, Fewer Is BetterCppPerformanceBenchmarks 9Test: Math LibraryAOCC 2.0LLVM Clang 9.0 SVNGCC 10.0 GitGCC 9.1.070140210280350SE +/- 0.31, N = 3SE +/- 0.43, N = 3SE +/- 0.12, N = 3SE +/- 0.46, N = 3330.41331.02333.85343.451. (CXX) g++ options: -O3 -march=znver2 -std=c++11

dav1d

Video Input: Summer Nature 4K

OpenBenchmarking.orgSeconds, Fewer Is Betterdav1d 0.3Video Input: Summer Nature 4KAOCC 2.0GCC 10.0 GitGCC 9.1.0LLVM Clang 9.0 SVN3691215SE +/- 0.07, N = 3SE +/- 0.04, N = 3SE +/- 0.15, N = 3SE +/- 0.19, N = 311.1411.1611.5211.561. (CC) gcc options: -O3 -march=znver2 -pthread

SVT-VP9

1080p 8-bit YUV To VP9 Video Encode

OpenBenchmarking.orgFrames Per Second, More Is BetterSVT-VP9 2019-02-171080p 8-bit YUV To VP9 Video EncodeGCC 10.0 GitGCC 9.1.0LLVM Clang 9.0 SVN60120180240300SE +/- 3.30, N = 15SE +/- 4.48, N = 3SE +/- 3.16, N = 3283.63277.45274.55-fPIE -fPIC -O2 -flto -fvisibility=hidden -mavx-fPIE -fPIC -O2 -flto -fvisibility=hidden -mavx1. (CC) gcc options: -O3 -march=znver2 -pie -rdynamic -lpthread -lrt -lm

x264

H.264 Video Encoding

OpenBenchmarking.orgFrames Per Second, More Is Betterx264 2018-09-25H.264 Video EncodingAOCC 2.0LLVM Clang 9.0 SVNGCC 9.1.0GCC 10.0 Git306090120150SE +/- 2.65, N = 3SE +/- 0.48, N = 3SE +/- 0.91, N = 3SE +/- 0.41, N = 3157.18153.95153.31152.43-mstack-alignment=64-mstack-alignment=641. (CC) gcc options: -ldl -lavformat -lavcodec -lavutil -lswscale -m64 -lm -lpthread -O3 -ffast-math -march=znver2 -std=gnu99 -fPIC -fomit-frame-pointer -fno-tree-vectorize

SciMark

Computational Test: Monte Carlo

OpenBenchmarking.orgMflops, More Is BetterSciMark 2.0Computational Test: Monte CarloLLVM Clang 9.0 SVNGCC 9.1.0GCC 10.0 GitAOCC 2.0130260390520650SE +/- 0.10, N = 3SE +/- 0.53, N = 3SE +/- 0.05, N = 3SE +/- 0.12, N = 3621.05612.17610.98605.881. (CC) gcc options: -O3 -march=znver2 -lm

SVT-AV1

1080p 8-bit YUV To AV1 Video Encode

OpenBenchmarking.orgFrames Per Second, More Is BetterSVT-AV1 0.51080p 8-bit YUV To AV1 Video EncodeLLVM Clang 9.0 SVNGCC 9.1.0GCC 10.0 Git20406080100SE +/- 0.32, N = 3SE +/- 1.25, N = 5SE +/- 0.16, N = 3102.78101.07100.441. (CXX) g++ options: -O3 -march=znver2 -pie -lpthread -lm

dav1d

Video Input: Summer Nature 1080p

OpenBenchmarking.orgSeconds, Fewer Is Betterdav1d 0.3Video Input: Summer Nature 1080pGCC 9.1.0GCC 10.0 GitAOCC 2.0LLVM Clang 9.0 SVN1.09352.1873.28054.3745.4675SE +/- 0.04, N = 3SE +/- 0.03, N = 3SE +/- 0.04, N = 3SE +/- 0.00, N = 34.754.774.774.861. (CC) gcc options: -O3 -march=znver2 -pthread

x265

H.265 1080p Video Encoding

OpenBenchmarking.orgFrames Per Second, More Is Betterx265 3.0H.265 1080p Video EncodingAOCC 2.0LLVM Clang 9.0 SVNGCC 10.0 GitGCC 9.1.01020304050SE +/- 0.15, N = 3SE +/- 0.15, N = 3SE +/- 0.21, N = 3SE +/- 0.11, N = 345.5745.3744.7344.541. (CXX) g++ options: -O3 -march=znver2 -rdynamic -lpthread -lrt -ldl -lnuma

SVT-HEVC

1080p 8-bit YUV To HEVC Video Encode

OpenBenchmarking.orgFrames Per Second, More Is BetterSVT-HEVC 2019-02-031080p 8-bit YUV To HEVC Video EncodeGCC 10.0 GitGCC 9.1.0LLVM Clang 9.0 SVN70140210280350SE +/- 3.15, N = 10SE +/- 4.37, N = 3SE +/- 4.13, N = 3344.04343.29337.75-fPIE -fPIC -O2 -flto -fvisibility=hidden -march=native-fPIE -fPIC -O2 -flto -fvisibility=hidden -march=native1. (CC) gcc options: -O3 -march=znver2 -pie -rdynamic -lpthread -lrt

libjpeg-turbo tjbench

Test: Decompression Throughput

OpenBenchmarking.orgMegapixels/sec, More Is Betterlibjpeg-turbo tjbench 2.0.2Test: Decompression ThroughputAOCC 2.0GCC 10.0 GitGCC 9.1.0LLVM Clang 9.0 SVN4080120160200SE +/- 0.02, N = 3SE +/- 0.03, N = 3SE +/- 0.02, N = 3SE +/- 0.16, N = 3175.96175.48175.16174.131. (CC) gcc options: -O3 -march=znver2 -rdynamic

CppPerformanceBenchmarks

Test: Function Objects

OpenBenchmarking.orgSeconds, Fewer Is BetterCppPerformanceBenchmarks 9Test: Function ObjectsLLVM Clang 9.0 SVNGCC 9.1.0AOCC 2.0GCC 10.0 Git510152025SE +/- 0.08, N = 3SE +/- 0.02, N = 3SE +/- 0.03, N = 3SE +/- 0.08, N = 318.8218.9318.9419.011. (CXX) g++ options: -O3 -march=znver2 -std=c++11

CppPerformanceBenchmarks

Test: Atol

OpenBenchmarking.orgSeconds, Fewer Is BetterCppPerformanceBenchmarks 9Test: AtolLLVM Clang 9.0 SVNGCC 10.0 GitGCC 9.1.0AOCC 2.020406080100SE +/- 0.06, N = 3SE +/- 0.12, N = 3SE +/- 0.23, N = 3SE +/- 0.28, N = 374.1074.3274.3674.381. (CXX) g++ options: -O3 -march=znver2 -std=c++11

Apache Benchmark

Static Web Page Serving

OpenBenchmarking.orgRequests Per Second, More Is BetterApache Benchmark 2.4.29Static Web Page ServingGCC 9.1.0LLVM Clang 9.0 SVNAOCC 2.0GCC 10.0 Git5K10K15K20K25KSE +/- 435.79, N = 15SE +/- 400.39, N = 15SE +/- 395.53, N = 15SE +/- 497.81, N = 1524915.1924594.6624163.3124096.601. (CC) gcc options: -shared -fPIC -pthread -O3 -march=znver2

GraphicsMagick

Operation: Resizing

OpenBenchmarking.orgIterations Per Minute, More Is BetterGraphicsMagick 1.3.30Operation: ResizingAOCC 2.0LLVM Clang 9.0 SVNGCC 10.0 GitGCC 9.1.0306090120150SE +/- 2.59, N = 12SE +/- 1.53, N = 3SE +/- 0.58, N = 3120119102102-lomp-lomp-ldl-ldl1. (CC) gcc options: -fopenmp -O3 -march=znver2 -pthread -ljbig -lwebp -lwebpmux -ltiff -ljpeg -lXext -lSM -lICE -lX11 -llzma -lbz2 -lz -lm -lpthread

High Performance Conjugate Gradient

OpenBenchmarking.orgGFLOP/s, More Is BetterHigh Performance Conjugate Gradient 3.0GCC 10.0 GitGCC 9.1.0LLVM Clang 9.0 SVNAOCC 2.00.0810.1620.2430.3240.405SE +/- 0.00, N = 3SE +/- 0.00, N = 3SE +/- 0.00, N = 12SE +/- 0.01, N = 120.360.360.350.33


Phoronix Test Suite v10.8.5