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&grr.

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 Benchmarkscpp-perf-bench: Rand Numbershpcg: fftw: Stock - 2D FFT Size 4096cpp-perf-bench: Math Libraryapache: Static Web Page Servinggraphics-magick: Resizingcpp-perf-bench: Stepanov Vectorcpp-perf-bench: Atolgraphics-magick: Rotatefftw: Stock - 2D FFT Size 2048cpp-perf-bench: Ctypeaobench: 2048 x 2048 - Total Timecpp-perf-bench: Stepanov Abstractionjohn-the-ripper: Blowfishcoremark: CoreMark Size 666 - Iterations Per Secondscimark2: Compositecpp-perf-bench: Function Objectsx265: H.265 1080p Video Encodingsvt-vp9: 1080p 8-bit YUV To VP9 Video Encodesvt-av1: 1080p 8-bit YUV To AV1 Video Encodedav1d: Summer Nature 4Kc-ray: Total Time - 4K, 16 Rays Per Pixeltjbench: Decompression Throughputsvt-hevc: 1080p 8-bit YUV To HEVC Video Encodedav1d: Summer Nature 1080px264: H.264 Video Encodingtscp: AI Chess Performancescimark2: Jacobi Successive Over-Relaxationscimark2: Dense LU Matrix Factorizationscimark2: Sparse Matrix Multiplyscimark2: Fast Fourier Transformscimark2: Monte CarloGCC 9.1.0GCC 10.0 GitLLVM Clang 9.0 SVNAOCC 2.01599.070.366327.20343.4524915.1910299.2174.362047381.0041.6636.7736.661483023868113.712834.0618.9344.54277.45101.0711.525.72175.16343.294.75153.3110728121801.318811.172741.97203.68612.171627.990.366289.30333.8524096.6010297.7074.322027288.8039.3335.3336.521485423825301.452828.0119.0144.73283.63100.4411.165.82175.48344.044.77152.4310407751800.118762.752763.50202.71610.981892.460.355842.73331.0224594.6611985.8974.102376627.7736.7441.7533.441876523024508.812880.5618.8245.37274.55102.7811.569.19174.13337.754.86153.9511493701655.778518.523382.93224.52621.051894.020.335593.44330.4124163.3112089.7374.382056462.3337.8137.0234.101871403284059.922730.1318.9445.5711.149.01175.964.77157.1810936821656.188473.112736.94178.57605.88OpenBenchmarking.org

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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-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

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 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

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

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

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

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

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

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

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: 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

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

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: 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


Phoronix Test Suite v10.8.5