EPYC 7642 Compiler GCC 10 vs. LLVM Clang 10 Benchmarking AMD EPYC 7642 compiler testing by Michael Larabel for a future article. GCC 9.2.0: Processor: AMD EPYC 7642 48-Core @ 2.30GHz (48 Cores / 96 Threads), Motherboard: ASRockRack EPYCD8 (P2.10 BIOS), Chipset: AMD Starship/Matisse, Memory: 129024MB, Disk: 280GB INTEL SSDPED1D280GA, Graphics: llvmpipe 126GB, Audio: AMD Starship/Matisse, Network: 2 x Intel I350 OS: Ubuntu 19.10, Kernel: 5.3.0-050300-generic (x86_64), Desktop: GNOME Shell 3.34.1, Display Server: X Server 1.20.5, Display Driver: modesetting 1.20.5, Compiler: GCC 9.2.0, File-System: ext4, Screen Resolution: 1024x768 GCC 10.0.0 20191117: Processor: AMD EPYC 7642 48-Core @ 2.30GHz (48 Cores / 96 Threads), Motherboard: ASRockRack EPYCD8 (P2.10 BIOS), Chipset: AMD Starship/Matisse, Memory: 129024MB, Disk: 280GB INTEL SSDPED1D280GA, Graphics: llvmpipe 126GB, Audio: AMD Starship/Matisse, Network: 2 x Intel I350 OS: Ubuntu 19.10, Kernel: 5.3.0-050300-generic (x86_64), Desktop: GNOME Shell 3.34.1, Display Server: X Server 1.20.5, Display Driver: modesetting 1.20.5, Compiler: GCC 10.0.0 20191117, File-System: ext4, Screen Resolution: 1024x768 LLVM Clang 10 Git: Processor: AMD EPYC 7642 48-Core @ 2.30GHz (48 Cores / 96 Threads), Motherboard: ASRockRack EPYCD8 (P2.10 BIOS), Chipset: AMD Starship/Matisse, Memory: 129024MB, Disk: 280GB INTEL SSDPED1D280GA, Graphics: llvmpipe 126GB, Audio: AMD Starship/Matisse, Network: 2 x Intel I350 OS: Ubuntu 19.10, Kernel: 5.3.0-050300-generic (x86_64), Desktop: GNOME Shell 3.34.1, Display Server: X Server 1.20.5, Display Driver: modesetting 1.20.5, Compiler: Clang 10.0.0, File-System: ext4, Screen Resolution: 1024x768 CppPerformanceBenchmarks 9 Test: Random Numbers Seconds < Lower Is Better GCC 9.2.0 ........... 1417.04 |======================================== GCC 10.0.0 20191117 . 1448.15 |========================================= LLVM Clang 10 Git ... 1706.42 |================================================ SVT-AV1 0.7 Encoder Mode: Enc Mode 0 - Input: 1080p Frames Per Second > Higher Is Better GCC 9.2.0 ........... 0.065 |============================================== GCC 10.0.0 20191117 . 0.067 |=============================================== LLVM Clang 10 Git ... 0.071 |================================================== libgav1 2019-10-05 Video Input: Chimera 1080p 10-bit FPS > Higher Is Better GCC 9.2.0 ........... 16.72 |================================================= GCC 10.0.0 20191117 . 16.65 |================================================= LLVM Clang 10 Git ... 16.91 |================================================== FFTW 3.3.6 Build: Float + SSE - Size: 2D FFT Size 4096 Mflops > Higher Is Better GCC 9.2.0 ........... 16872 |================================================ GCC 10.0.0 20191117 . 17427 |================================================== CppPerformanceBenchmarks 9 Test: Math Library Seconds < Lower Is Better GCC 9.2.0 ........... 354.48 |================================================= GCC 10.0.0 20191117 . 346.36 |================================================ LLVM Clang 10 Git ... 341.74 |=============================================== Himeno Benchmark 3.0 Poisson Pressure Solver MFLOPS > Higher Is Better GCC 9.2.0 ........... 2487.76 |================================== GCC 10.0.0 20191117 . 2844.34 |======================================= LLVM Clang 10 Git ... 3483.86 |================================================ libgav1 2019-10-05 Video Input: Chimera 1080p FPS > Higher Is Better GCC 9.2.0 ........... 39.40 |================================================== GCC 10.0.0 20191117 . 39.21 |================================================== LLVM Clang 10 Git ... 35.20 |============================================= libgav1 2019-10-05 Video Input: Summer Nature 4K FPS > Higher Is Better GCC 9.2.0 ........... 18.37 |================================================== GCC 10.0.0 20191117 . 18.28 |================================================== LLVM Clang 10 Git ... 16.26 |============================================ dav1d 0.5.0 Video Input: Chimera 1080p 10-bit FPS > Higher Is Better GCC 9.2.0 ......... 102.19 |=================================================== LLVM Clang 10 Git . 75.81 |====================================== Timed Linux Kernel Compilation 5.4 Time To Compile Seconds < Lower Is Better GCC 9.2.0 ........... 30.33 |==================================== GCC 10.0.0 20191117 . 34.55 |======================================== LLVM Clang 10 Git ... 42.67 |================================================== PostgreSQL pgbench 12.0 Scaling: Buffer Test - Test: Normal Load - Mode: Read Only TPS > Higher Is Better GCC 9.2.0 ........... 589144.11 |============================================= GCC 10.0.0 20191117 . 593115.57 |============================================== LLVM Clang 10 Git ... 596205.49 |============================================== PostgreSQL pgbench 12.0 Scaling: Buffer Test - Test: Normal Load - Mode: Read Write TPS > Higher Is Better GCC 9.2.0 ........... 48273.12 |=============================================== GCC 10.0.0 20191117 . 48304.47 |=============================================== LLVM Clang 10 Git ... 48421.31 |=============================================== ASKAP 2018-11-10 Test: tConvolve MT - Degridding Million Grid Points Per Second > Higher Is Better GCC 9.2.0 ........... 5892.25 |=============================================== GCC 10.0.0 20191117 . 5962.81 |================================================ ASKAP 2018-11-10 Test: tConvolve MT - Gridding Million Grid Points Per Second > Higher Is Better GCC 9.2.0 ........... 4387.84 |================================================ GCC 10.0.0 20191117 . 4410.55 |================================================ Timed MrBayes Analysis 3.2.7 Primate Phylogeny Analysis Seconds < Lower Is Better GCC 9.2.0 ........... 103.99 |================================================= GCC 10.0.0 20191117 . 102.20 |================================================ LLVM Clang 10 Git ... 94.94 |============================================= VP9 libvpx Encoding 1.8.1 vpxenc VP9 1080p Video Encode Frames Per Second > Higher Is Better GCC 9.2.0 ........... 155.85 |================================================ GCC 10.0.0 20191117 . 155.17 |=============================================== LLVM Clang 10 Git ... 160.44 |================================================= CppPerformanceBenchmarks 9 Test: Stepanov Vector Seconds < Lower Is Better GCC 9.2.0 ........... 102.22 |================================================= GCC 10.0.0 20191117 . 100.82 |================================================ LLVM Clang 10 Git ... 88.54 |========================================== CppPerformanceBenchmarks 9 Test: Ctype Seconds < Lower Is Better GCC 9.2.0 ........... 40.55 |================================================ GCC 10.0.0 20191117 . 42.10 |================================================== LLVM Clang 10 Git ... 38.66 |============================================== SQLite Speedtest 3.30 Timed Time - Size 1,000 Seconds < Lower Is Better GCC 9.2.0 ........... 74.57 |================================================ GCC 10.0.0 20191117 . 75.88 |================================================ LLVM Clang 10 Git ... 78.48 |================================================== CppPerformanceBenchmarks 9 Test: Atol Seconds < Lower Is Better GCC 9.2.0 ........... 75.90 |================================================== GCC 10.0.0 20191117 . 75.55 |================================================== LLVM Clang 10 Git ... 76.20 |================================================== GraphicsMagick 1.3.33 Operation: Resizing Iterations Per Minute > Higher Is Better GCC 9.2.0 ........... 2138 |=================================================== GCC 10.0.0 20191117 . 1873 |============================================= LLVM Clang 10 Git ... 113 |=== libgav1 2019-10-05 Video Input: Summer Nature 1080p FPS > Higher Is Better GCC 9.2.0 ........... 55.72 |================================================= GCC 10.0.0 20191117 . 56.38 |================================================== LLVM Clang 10 Git ... 50.76 |============================================= GraphicsMagick 1.3.33 Operation: Noise-Gaussian Iterations Per Minute > Higher Is Better GCC 9.2.0 ........... 651 |==================================================== GCC 10.0.0 20191117 . 634 |=================================================== LLVM Clang 10 Git ... 25 |== GraphicsMagick 1.3.33 Operation: Sharpen Iterations Per Minute > Higher Is Better GCC 9.2.0 ........... 573 |==================================================== GCC 10.0.0 20191117 . 572 |==================================================== LLVM Clang 10 Git ... 13 |= GraphicsMagick 1.3.33 Operation: Enhanced Iterations Per Minute > Higher Is Better GCC 9.2.0 ........... 865 |==================================================== GCC 10.0.0 20191117 . 786 |=============================================== LLVM Clang 10 Git ... 21 |= GraphicsMagick 1.3.33 Operation: Swirl Iterations Per Minute > Higher Is Better GCC 9.2.0 ........... 1675 |=================================================== GCC 10.0.0 20191117 . 1624 |================================================= LLVM Clang 10 Git ... 45 |= GraphicsMagick 1.3.33 Operation: HWB Color Space Iterations Per Minute > Higher Is Better GCC 9.2.0 ........... 1170 |=================================================== GCC 10.0.0 20191117 . 1070 |=============================================== LLVM Clang 10 Git ... 204 |========= GraphicsMagick 1.3.33 Operation: Rotate Iterations Per Minute > Higher Is Better GCC 9.2.0 ........... 505 |=================================================== GCC 10.0.0 20191117 . 481 |================================================ LLVM Clang 10 Git ... 516 |==================================================== Redis 5.0.5 Test: SADD Requests Per Second > Higher Is Better GCC 9.2.0 ........... 1703114.95 |============================================= GCC 10.0.0 20191117 . 1694281.30 |============================================= LLVM Clang 10 Git ... 1645122.77 |=========================================== GROMACS 2019.4 Water Benchmark Ns Per Day > Higher Is Better GCC 9.2.0 ........... 4.084 |================================================== GCC 10.0.0 20191117 . 4.075 |================================================== Timed LLVM Compilation 6.0.1 Time To Compile Seconds < Lower Is Better GCC 9.2.0 ........... 145.50 |============================================ GCC 10.0.0 20191117 . 162.78 |================================================= LLVM Clang 10 Git ... 131.33 |======================================== CppPerformanceBenchmarks 9 Test: Stepanov Abstraction Seconds < Lower Is Better GCC 9.2.0 ........... 37.75 |================================================== GCC 10.0.0 20191117 . 37.59 |================================================== LLVM Clang 10 Git ... 34.84 |============================================== Redis 5.0.5 Test: LPUSH Requests Per Second > Higher Is Better GCC 9.2.0 ........... 1287761.00 |========================================== GCC 10.0.0 20191117 . 1387280.44 |============================================= LLVM Clang 10 Git ... 1372099.01 |============================================= Redis 5.0.5 Test: LPOP Requests Per Second > Higher Is Better GCC 9.2.0 ........... 2293158.05 |============================================= GCC 10.0.0 20191117 . 2237292.80 |============================================ LLVM Clang 10 Git ... 2155677.58 |========================================== AOBench Size: 2048 x 2048 - Total Time Seconds < Lower Is Better GCC 9.2.0 ........... 37.18 |============================================= GCC 10.0.0 20191117 . 35.98 |=========================================== LLVM Clang 10 Git ... 41.36 |================================================== Redis 5.0.5 Test: SET Requests Per Second > Higher Is Better GCC 9.2.0 ........... 1465273.92 |============================================ GCC 10.0.0 20191117 . 1494027.97 |============================================= LLVM Clang 10 Git ... 1494870.67 |============================================= John The Ripper 1.9.0-jumbo-1 Test: Blowfish Real C/S > Higher Is Better GCC 9.2.0 ........... 60905 |================================================== GCC 10.0.0 20191117 . 61361 |================================================== LLVM Clang 10 Git ... 1468 |= SciMark 2.0 Computational Test: Composite Mflops > Higher Is Better GCC 9.2.0 ........... 2774.05 |================================================ GCC 10.0.0 20191117 . 2754.17 |=============================================== LLVM Clang 10 Git ... 2800.49 |================================================ Coremark 1.0 CoreMark Size 666 - Iterations Per Second Iterations/Sec > Higher Is Better GCC 9.2.0 ........... 1589318.73 |=========================================== GCC 10.0.0 20191117 . 1664749.69 |============================================= LLVM Clang 10 Git ... 1283555.69 |=================================== Redis 5.0.5 Test: GET Requests Per Second > Higher Is Better GCC 9.2.0 ........... 2216263.44 |============================================= GCC 10.0.0 20191117 . 2029652.62 |========================================= LLVM Clang 10 Git ... 2158757.83 |============================================ XZ Compression 5.2.4 Compressing ubuntu-16.04.3-server-i386.img, Compression Level 9 Seconds < Lower Is Better GCC 9.2.0 ........... 22.36 |================================================== GCC 10.0.0 20191117 . 22.20 |================================================== LLVM Clang 10 Git ... 22.41 |================================================== OpenSSL 1.1.1 RSA 4096-bit Performance Signs Per Second > Higher Is Better GCC 9.2.0 ........... 10301.1 |================================================ GCC 10.0.0 20191117 . 10290.6 |================================================ LLVM Clang 10 Git ... 7550.7 |=================================== CppPerformanceBenchmarks 9 Test: Function Objects Seconds < Lower Is Better GCC 9.2.0 ........... 19.70 |================================================== GCC 10.0.0 20191117 . 18.39 |=============================================== LLVM Clang 10 Git ... 19.47 |================================================= dav1d 0.5.0 Video Input: Chimera 1080p FPS > Higher Is Better GCC 9.2.0 ......... 546.36 |================================================ LLVM Clang 10 Git . 575.08 |=================================================== miniFE 2.2 Problem Size: Small CG Mflops > Higher Is Better GCC 9.2.0 ........... 19425.5 |================================================ GCC 10.0.0 20191117 . 19314.9 |================================================ FLAC Audio Encoding 1.3.2 WAV To FLAC Seconds < Lower Is Better GCC 9.2.0 ........... 10.653 |================================================ GCC 10.0.0 20191117 . 10.768 |================================================= LLVM Clang 10 Git ... 9.498 |=========================================== C-Ray 1.1 Total Time - 4K, 16 Rays Per Pixel Seconds < Lower Is Better GCC 9.2.0 ........... 13.54 |=============================== GCC 10.0.0 20191117 . 13.73 |=============================== LLVM Clang 10 Git ... 21.84 |================================================== ACES DGEMM 1.0 Sustained Floating-Point Rate GFLOP/s > Higher Is Better GCC 9.2.0 ........... 14.06 |================================================== GCC 10.0.0 20191117 . 13.86 |================================================= ASKAP 2018-11-10 Test: tConvolve OpenMP - Degridding Million Grid Points Per Second > Higher Is Better GCC 9.2.0 ........... 5187.24 |===================================== GCC 10.0.0 20191117 . 6656.40 |================================================ ASKAP 2018-11-10 Test: tConvolve OpenMP - Gridding Million Grid Points Per Second > Higher Is Better GCC 9.2.0 ........... 6602.28 |============================================== GCC 10.0.0 20191117 . 6946.85 |================================================ Smallpt 1.0 Global Illumination Renderer; 128 Samples Seconds < Lower Is Better GCC 9.2.0 ........... 2.755 |=========================== GCC 10.0.0 20191117 . 5.125 |================================================== dav1d 0.5.0 Video Input: Summer Nature 4K FPS > Higher Is Better GCC 9.2.0 ......... 273.96 |================================================== LLVM Clang 10 Git . 279.11 |=================================================== x265 3.1.2 H.265 1080p Video Encoding Frames Per Second > Higher Is Better GCC 9.2.0 ........... 48.76 |================================================== GCC 10.0.0 20191117 . 48.36 |================================================= LLVM Clang 10 Git ... 48.92 |================================================== SVT-AV1 0.7 Encoder Mode: Enc Mode 4 - Input: 1080p Frames Per Second > Higher Is Better GCC 9.2.0 ........... 9.810 |============================================== GCC 10.0.0 20191117 . 9.942 |=============================================== LLVM Clang 10 Git ... 10.400 |================================================= Xsbench 2017-07-06 Lookups/s > Higher Is Better GCC 9.2.0 ........... 6454845 |================================================ GCC 10.0.0 20191117 . 6474483 |================================================ LAME MP3 Encoding 3.100 WAV To MP3 Seconds < Lower Is Better GCC 9.2.0 ......... 9.019 |============================================ LLVM Clang 10 Git . 10.404 |=================================================== Zstd Compression 1.3.4 Compressing ubuntu-16.04.3-server-i386.img, Compression Level 19 Seconds < Lower Is Better GCC 9.2.0 ........... 8.546 |================================================= GCC 10.0.0 20191117 . 8.580 |================================================= LLVM Clang 10 Git ... 8.667 |================================================== Timed HMMer Search 2.3.2 Pfam Database Search Seconds < Lower Is Better GCC 9.2.0 ........... 7.560 |=============================================== GCC 10.0.0 20191117 . 8.087 |================================================== LLVM Clang 10 Git ... 5.871 |==================================== SVT-AV1 0.7 Encoder Mode: Enc Mode 8 - Input: 1080p Frames Per Second > Higher Is Better GCC 9.2.0 ........... 79.73 |============================================== GCC 10.0.0 20191117 . 81.10 |=============================================== LLVM Clang 10 Git ... 87.14 |================================================== dav1d 0.5.0 Video Input: Summer Nature 1080p FPS > Higher Is Better GCC 9.2.0 ......... 588.19 |================================================== LLVM Clang 10 Git . 595.62 |=================================================== Timed MAFFT Alignment 7.392 Multiple Sequence Alignment Seconds < Lower Is Better GCC 9.2.0 ........... 2.234 |================================================== GCC 10.0.0 20191117 . 2.111 |=============================================== LLVM Clang 10 Git ... 2.196 |================================================= x264 2018-09-25 H.264 Video Encoding Frames Per Second > Higher Is Better GCC 9.2.0 ........... 154.14 |================================================= GCC 10.0.0 20191117 . 152.23 |================================================ LLVM Clang 10 Git ... 154.61 |================================================= SVT-VP9 0.1 Tuning: Visual Quality Optimized - Input: Bosphorus 1080p Frames Per Second > Higher Is Better GCC 9.2.0 ........... 293.33 |================================================ GCC 10.0.0 20191117 . 288.98 |=============================================== LLVM Clang 10 Git ... 298.55 |================================================= SVT-VP9 0.1 Tuning: VMAF Optimized - Input: Bosphorus 1080p Frames Per Second > Higher Is Better GCC 9.2.0 ........... 370.91 |================================================ GCC 10.0.0 20191117 . 372.91 |================================================ LLVM Clang 10 Git ... 379.36 |================================================= SVT-VP9 0.1 Tuning: PSNR/SSIM Optimized - Input: Bosphorus 1080p Frames Per Second > Higher Is Better GCC 9.2.0 ........... 375.84 |================================================ GCC 10.0.0 20191117 . 377.46 |================================================ LLVM Clang 10 Git ... 382.36 |================================================= TSCP 1.81 AI Chess Performance Nodes Per Second > Higher Is Better GCC 9.2.0 ........... 1033744 |============================================ GCC 10.0.0 20191117 . 1010602 |=========================================== LLVM Clang 10 Git ... 1133755 |================================================ SciMark 2.0 Computational Test: Jacobi Successive Over-Relaxation Mflops > Higher Is Better GCC 9.2.0 ........... 1748.11 |================================================ GCC 10.0.0 20191117 . 1743.45 |================================================ LLVM Clang 10 Git ... 1607.88 |============================================ SciMark 2.0 Computational Test: Dense LU Matrix Factorization Mflops > Higher Is Better GCC 9.2.0 ........... 8575.57 |================================================ GCC 10.0.0 20191117 . 8484.97 |=============================================== LLVM Clang 10 Git ... 8231.47 |============================================== SciMark 2.0 Computational Test: Sparse Matrix Multiply Mflops > Higher Is Better GCC 9.2.0 ........... 2755.87 |======================================== GCC 10.0.0 20191117 . 2749.81 |======================================== LLVM Clang 10 Git ... 3341.43 |================================================ SciMark 2.0 Computational Test: Fast Fourier Transform Mflops > Higher Is Better GCC 9.2.0 ........... 196.08 |============================================ GCC 10.0.0 20191117 . 197.88 |============================================ LLVM Clang 10 Git ... 218.85 |================================================= SciMark 2.0 Computational Test: Monte Carlo Mflops > Higher Is Better GCC 9.2.0 ........... 594.61 |================================================ GCC 10.0.0 20191117 . 594.76 |================================================ LLVM Clang 10 Git ... 602.82 |=================================================