AMD AOCC Ryzen Compiler Tests AMD AOCC compiler benchmarks versus GCC and LLVM Clang for a future article on Phoronix.com. AMD AOCC 1.0: Processor: AMD Ryzen 7 1700 Eight-Core @ 3.00GHz (16 Cores), Motherboard: MSI B350 TOMAHAWK (MS-7A34) v1.0, Chipset: AMD Device 1450, Memory: 16384MB, Disk: 120GB Samsung SSD 840, Graphics: HIS AMD Radeon HD 7750/8740 / R7 250E 1024MB, Audio: AMD Cape Verde/Pitcairn, Monitor: DELL S2409W, Network: Realtek RTL8111/8168/8411 OS: Ubuntu 17.04, Kernel: 4.11.0-999-generic (x86_64) 20170420, Desktop: Unity 7.5.0, Display Server: X Server 1.19.3, Display Driver: modesetting 1.19.3, OpenGL: 4.5 Mesa 17.0.3 Gallium 0.4 (LLVM 4.0.0), Compiler: Clang 4.0.0, File-System: ext4, Screen Resolution: 1920x1080 GCC 6.3.0: Processor: AMD Ryzen 7 1700 Eight-Core @ 3.00GHz (16 Cores), Motherboard: MSI B350 TOMAHAWK (MS-7A34) v1.0, Chipset: AMD Device 1450, Memory: 16384MB, Disk: 120GB Samsung SSD 840, Graphics: HIS AMD Radeon HD 7750/8740 / R7 250E 1024MB, Audio: AMD Cape Verde/Pitcairn, Monitor: DELL S2409W, Network: Realtek RTL8111/8168/8411 OS: Ubuntu 17.04, Kernel: 4.11.0-999-generic (x86_64) 20170420, Desktop: Unity 7.5.0, Display Server: X Server 1.19.3, Display Driver: modesetting 1.19.3, OpenGL: 4.5 Mesa 17.0.3 Gallium 0.4 (LLVM 4.0.0), Compiler: GCC 6.3.0 20170406, File-System: ext4, Screen Resolution: 1920x1080 LLVM Clang 4.0: Processor: AMD Ryzen 7 1700 Eight-Core @ 3.00GHz (16 Cores), Motherboard: MSI B350 TOMAHAWK (MS-7A34) v1.0, Chipset: AMD Device 1450, Memory: 16384MB, Disk: 120GB Samsung SSD 840, Graphics: HIS AMD Radeon HD 7750/8740 / R7 250E 1024MB, Audio: AMD Cape Verde/Pitcairn, Monitor: DELL S2409W, Network: Realtek RTL8111/8168/8411 OS: Ubuntu 17.04, Kernel: 4.11.0-999-generic (x86_64) 20170420, Desktop: Unity 7.5.0, Display Server: X Server 1.19.3, Display Driver: modesetting 1.19.3, OpenGL: 4.5 Mesa 17.0.3 Gallium 0.4 (LLVM 4.0.0), Compiler: Clang 4.0.0-1ubuntu1, File-System: ext4, Screen Resolution: 1920x1080 LLVM Clang 5.0 SVN: Processor: AMD Ryzen 7 1700 Eight-Core @ 3.00GHz (16 Cores), Motherboard: MSI B350 TOMAHAWK (MS-7A34) v1.0, Chipset: AMD Device 1450, Memory: 16384MB, Disk: 120GB Samsung SSD 840, Graphics: HIS AMD Radeon HD 7750/8740 / R7 250E 1024MB, Audio: AMD Cape Verde/Pitcairn, Monitor: DELL S2409W, Network: Realtek RTL8111/8168/8411 OS: Ubuntu 17.04, Kernel: 4.11.0-999-generic (x86_64) 20170420, Desktop: Unity 7.5.0, Display Server: X Server 1.19.3, Display Driver: modesetting 1.19.3, OpenGL: 4.5 Mesa 17.0.3 Gallium 0.4 (LLVM 4.0.0), Compiler: Clang 5.0.0-svn303308-1~exp1, File-System: ext4, Screen Resolution: 1920x1080 GCC 7.1.0: Processor: AMD Ryzen 7 1700 Eight-Core @ 3.00GHz (16 Cores), Motherboard: MSI B350 TOMAHAWK (MS-7A34) v1.0, Chipset: AMD Device 1450, Memory: 16384MB, Disk: 120GB Samsung SSD 840, Graphics: HIS AMD Radeon HD 7750/8740 / R7 250E 1024MB, Audio: AMD Cape Verde/Pitcairn, Monitor: DELL S2409W, Network: Realtek RTL8111/8168/8411 OS: Ubuntu 17.04, Kernel: 4.11.0-999-generic (x86_64) 20170420, Desktop: Unity 7.5.0, Display Server: X Server 1.19.3, Display Driver: modesetting 1.19.3, OpenGL: 4.5 Mesa 17.0.3 Gallium 0.4 (LLVM 4.0.0), Compiler: GCC 7.1.0, File-System: ext4, Screen Resolution: 1920x1080 GCC 8.0.0 20170514: Processor: AMD Ryzen 7 1700 Eight-Core @ 3.00GHz (16 Cores), Motherboard: MSI B350 TOMAHAWK (MS-7A34) v1.0, Chipset: AMD Device 1450, Memory: 16384MB, Disk: 120GB Samsung SSD 840, Graphics: HIS AMD Radeon HD 7750/8740 / R7 250E 1024MB, Audio: AMD Cape Verde/Pitcairn, Monitor: DELL S2409W, Network: Realtek RTL8111/8168/8411 OS: Ubuntu 17.04, Kernel: 4.11.0-999-generic (x86_64) 20170420, Desktop: Unity 7.5.0, Display Server: X Server 1.19.3, Display Driver: modesetting 1.19.3, OpenGL: 4.5 Mesa 17.0.3 Gallium 0.4 (LLVM 4.0.0), Compiler: GCC 8.0.0 20170514, File-System: ext4, Screen Resolution: 1920x1080 FFTW 3.3.4 Build: Float + SSE - Size: 2D FFT Size 4096 Mflops > Higher Is Better AMD AOCC 1.0 ....... 12914 |================================================ GCC 6.3.0 .......... 12498 |============================================== LLVM Clang 4.0 ..... 12954 |================================================ LLVM Clang 5.0 SVN . 13746 |=================================================== GCC 7.1.0 .......... 12779 |=============================================== GCC 8.0.0 20170514 . 12874 |================================================ Timed MAFFT Alignment 6.864 Multiple Sequence Alignment Seconds < Lower Is Better AMD AOCC 1.0 ....... 3.89 |=============================================== GCC 6.3.0 .......... 3.76 |============================================== LLVM Clang 4.0 ..... 3.82 |============================================== LLVM Clang 5.0 SVN . 3.94 |================================================ GCC 7.1.0 .......... 4.29 |==================================================== GCC 8.0.0 20170514 . 4.21 |=================================================== SciMark 2.0 Computational Test: Composite Mflops > Higher Is Better AMD AOCC 1.0 ....... 2148.34 |================================================= GCC 6.3.0 .......... 1520.27 |=================================== LLVM Clang 4.0 ..... 2141.49 |================================================= LLVM Clang 5.0 SVN . 2144.30 |================================================= GCC 7.1.0 .......... 1663.92 |====================================== GCC 8.0.0 20170514 . 1680.63 |====================================== SciMark 2.0 Computational Test: Monte Carlo Mflops > Higher Is Better AMD AOCC 1.0 ....... 643.45 |================================================ GCC 6.3.0 .......... 676.52 |================================================== LLVM Clang 4.0 ..... 623.76 |============================================== LLVM Clang 5.0 SVN . 643.31 |================================================ GCC 7.1.0 .......... 673.11 |================================================== GCC 8.0.0 20170514 . 673.16 |================================================== SciMark 2.0 Computational Test: Fast Fourier Transform Mflops > Higher Is Better AMD AOCC 1.0 ....... 134.45 |========================================= GCC 6.3.0 .......... 162.20 |================================================== LLVM Clang 4.0 ..... 133.36 |========================================= LLVM Clang 5.0 SVN . 132.80 |========================================= GCC 7.1.0 .......... 162.70 |================================================== GCC 8.0.0 20170514 . 133.91 |========================================= SciMark 2.0 Computational Test: Sparse Matrix Multiply Mflops > Higher Is Better AMD AOCC 1.0 ....... 2647.37 |================================================= GCC 6.3.0 .......... 2430.85 |============================================= LLVM Clang 4.0 ..... 2647.00 |================================================= LLVM Clang 5.0 SVN . 2658.26 |================================================= GCC 7.1.0 .......... 2546.09 |=============================================== GCC 8.0.0 20170514 . 2648.96 |================================================= SciMark 2.0 Computational Test: Dense LU Matrix Factorization Mflops > Higher Is Better AMD AOCC 1.0 ....... 5642.73 |================================================= GCC 6.3.0 .......... 3257.81 |============================ LLVM Clang 4.0 ..... 5630.64 |================================================= LLVM Clang 5.0 SVN . 5614.16 |================================================= GCC 7.1.0 .......... 3863.34 |================================== GCC 8.0.0 20170514 . 3872.18 |================================== SciMark 2.0 Computational Test: Jacobi Successive Over-Relaxation Mflops > Higher Is Better AMD AOCC 1.0 ....... 1673.68 |================================================= GCC 6.3.0 .......... 1073.98 |=============================== LLVM Clang 4.0 ..... 1672.69 |================================================= LLVM Clang 5.0 SVN . 1672.97 |================================================= GCC 7.1.0 .......... 1074.35 |=============================== GCC 8.0.0 20170514 . 1074.95 |=============================== TSCP 1.81 AI Chess Performance Nodes Per Second > Higher Is Better AMD AOCC 1.0 ....... 1019210 |=============================================== GCC 6.3.0 .......... 1018083 |=============================================== LLVM Clang 4.0 ..... 1015460 |=============================================== LLVM Clang 5.0 SVN . 1062477 |================================================= GCC 7.1.0 .......... 1009120 |=============================================== GCC 8.0.0 20170514 . 999607 |============================================== GraphicsMagick 1.3.19 Operation: Blur Iterations Per Minute > Higher Is Better AMD AOCC 1.0 ....... 107 |================================= GCC 6.3.0 .......... 169 |===================================================== LLVM Clang 4.0 ..... 107 |================================= LLVM Clang 5.0 SVN . 107 |================================= GCC 7.1.0 .......... 170 |===================================================== GCC 8.0.0 20170514 . 169 |===================================================== GraphicsMagick 1.3.19 Operation: Sharpen Iterations Per Minute > Higher Is Better AMD AOCC 1.0 ....... 57 |================= GCC 6.3.0 .......... 175 |===================================================== LLVM Clang 4.0 ..... 57 |================= LLVM Clang 5.0 SVN . 56 |================= GCC 7.1.0 .......... 173 |==================================================== GCC 8.0.0 20170514 . 175 |===================================================== GraphicsMagick 1.3.19 Operation: Resizing Iterations Per Minute > Higher Is Better AMD AOCC 1.0 ....... 132 |=============================== GCC 6.3.0 .......... 223 |===================================================== LLVM Clang 4.0 ..... 133 |=============================== LLVM Clang 5.0 SVN . 134 |================================ GCC 7.1.0 .......... 224 |===================================================== GCC 8.0.0 20170514 . 223 |===================================================== GraphicsMagick 1.3.19 Operation: HWB Color Space Iterations Per Minute > Higher Is Better AMD AOCC 1.0 ....... 163 |===================================== GCC 6.3.0 .......... 230 |===================================================== LLVM Clang 4.0 ..... 165 |====================================== LLVM Clang 5.0 SVN . 165 |====================================== GCC 7.1.0 .......... 232 |===================================================== GCC 8.0.0 20170514 . 232 |===================================================== GraphicsMagick 1.3.19 Operation: Local Adaptive Thresholding Iterations Per Minute > Higher Is Better AMD AOCC 1.0 ....... 134 |==================================================== GCC 6.3.0 .......... 130 |=================================================== LLVM Clang 4.0 ..... 134 |==================================================== LLVM Clang 5.0 SVN . 136 |===================================================== GCC 7.1.0 .......... 131 |=================================================== GCC 8.0.0 20170514 . 130 |=================================================== Himeno Benchmark 3.0 Poisson Pressure Solver MFLOPS > Higher Is Better AMD AOCC 1.0 ....... 1148.32 |================================================= GCC 6.3.0 .......... 1092.67 |=============================================== LLVM Clang 4.0 ..... 1111.63 |=============================================== LLVM Clang 5.0 SVN . 1102.75 |=============================================== GCC 7.1.0 .......... 1090.78 |=============================================== GCC 8.0.0 20170514 . 1085.75 |============================================== Timed Apache Compilation 2.4.7 Time To Compile Seconds < Lower Is Better AMD AOCC 1.0 ....... 39.51 |=================================================== GCC 6.3.0 .......... 33.80 |============================================ LLVM Clang 4.0 ..... 30.15 |======================================= LLVM Clang 5.0 SVN . 28.84 |===================================== GCC 7.1.0 .......... 32.38 |========================================== GCC 8.0.0 20170514 . 32.43 |========================================== Timed PHP Compilation 5.2.9 Time To Compile Seconds < Lower Is Better AMD AOCC 1.0 ....... 22.70 |=================================================== GCC 6.3.0 .......... 21.22 |================================================ LLVM Clang 4.0 ..... 16.89 |====================================== LLVM Clang 5.0 SVN . 16.86 |====================================== GCC 7.1.0 .......... 19.83 |============================================= GCC 8.0.0 20170514 . 19.71 |============================================ C-Ray 1.1 Total Time Seconds < Lower Is Better AMD AOCC 1.0 ....... 14.03 |================================================ GCC 6.3.0 .......... 9.18 |================================ LLVM Clang 4.0 ..... 14.74 |=================================================== LLVM Clang 5.0 SVN . 14.85 |=================================================== GCC 7.1.0 .......... 11.20 |====================================== GCC 8.0.0 20170514 . 11.18 |====================================== Stockfish 2014-11-26 Total Time ms < Lower Is Better AMD AOCC 1.0 ....... 3720 |================================================== GCC 6.3.0 .......... 3898 |==================================================== LLVM Clang 4.0 ..... 3724 |================================================== LLVM Clang 5.0 SVN . 3705 |================================================= GCC 7.1.0 .......... 3732 |================================================== GCC 8.0.0 20170514 . 3734 |================================================== Bullet Physics Engine 2.81 Test: Raytests Seconds < Lower Is Better AMD AOCC 1.0 ....... 2.85 |==================================================== GCC 6.3.0 .......... 2.77 |================================================== LLVM Clang 4.0 ..... 2.85 |==================================================== LLVM Clang 5.0 SVN . 2.87 |==================================================== GCC 7.1.0 .......... 2.74 |================================================== GCC 8.0.0 20170514 . 2.68 |================================================= Bullet Physics Engine 2.81 Test: 3000 Fall Seconds < Lower Is Better AMD AOCC 1.0 ....... 4.52 |=================================================== GCC 6.3.0 .......... 4.56 |=================================================== LLVM Clang 4.0 ..... 4.63 |==================================================== LLVM Clang 5.0 SVN . 4.62 |==================================================== GCC 7.1.0 .......... 4.48 |================================================== GCC 8.0.0 20170514 . 4.58 |=================================================== Bullet Physics Engine 2.81 Test: 1000 Stack Seconds < Lower Is Better AMD AOCC 1.0 ....... 5.14 |================================================= GCC 6.3.0 .......... 5.31 |================================================== LLVM Clang 4.0 ..... 5.34 |=================================================== LLVM Clang 5.0 SVN . 5.35 |=================================================== GCC 7.1.0 .......... 5.12 |================================================= GCC 8.0.0 20170514 . 5.47 |==================================================== Bullet Physics Engine 2.81 Test: 1000 Convex Seconds < Lower Is Better AMD AOCC 1.0 ....... 4.89 |==================================================== GCC 6.3.0 .......... 4.78 |=================================================== LLVM Clang 4.0 ..... 4.90 |==================================================== LLVM Clang 5.0 SVN . 4.88 |==================================================== GCC 7.1.0 .......... 4.73 |================================================== GCC 8.0.0 20170514 . 4.75 |================================================== Bullet Physics Engine 2.81 Test: 136 Ragdolls Seconds < Lower Is Better AMD AOCC 1.0 ....... 2.94 |================================================== GCC 6.3.0 .......... 2.88 |================================================= LLVM Clang 4.0 ..... 3.00 |=================================================== LLVM Clang 5.0 SVN . 2.97 |=================================================== GCC 7.1.0 .......... 2.84 |================================================ GCC 8.0.0 20170514 . 3.05 |==================================================== Bullet Physics Engine 2.81 Test: Prim Trimesh Seconds < Lower Is Better AMD AOCC 1.0 ....... 0.99 |=================================================== GCC 6.3.0 .......... 0.96 |================================================== LLVM Clang 4.0 ..... 1.00 |==================================================== LLVM Clang 5.0 SVN . 0.99 |=================================================== GCC 7.1.0 .......... 0.94 |================================================= GCC 8.0.0 20170514 . 0.94 |================================================= Bullet Physics Engine 2.81 Test: Convex Trimesh Seconds < Lower Is Better AMD AOCC 1.0 ....... 1.19 |==================================================== GCC 6.3.0 .......... 1.18 |==================================================== LLVM Clang 4.0 ..... 1.19 |==================================================== LLVM Clang 5.0 SVN . 1.19 |==================================================== GCC 7.1.0 .......... 1.15 |================================================== GCC 8.0.0 20170514 . 1.15 |================================================== FLAC Audio Encoding 1.3.1 WAV To FLAC Seconds < Lower Is Better AMD AOCC 1.0 ....... 6.80 |==================================================== GCC 6.3.0 .......... 5.77 |============================================ LLVM Clang 4.0 ..... 6.80 |==================================================== LLVM Clang 5.0 SVN . 6.85 |==================================================== GCC 7.1.0 .......... 5.94 |============================================= GCC 8.0.0 20170514 . 5.99 |============================================= LAME MP3 Encoding 3.99.3 WAV To MP3 Seconds < Lower Is Better AMD AOCC 1.0 ....... 9.44 |================================================== GCC 6.3.0 .......... 9.83 |==================================================== LLVM Clang 4.0 ..... 9.65 |=================================================== LLVM Clang 5.0 SVN . 9.53 |================================================== GCC 7.1.0 .......... 9.74 |==================================================== GCC 8.0.0 20170514 . 9.69 |=================================================== FFmpeg 2.8.1 H.264 HD To NTSC DV Seconds < Lower Is Better AMD AOCC 1.0 ....... 15.73 |================================================= GCC 6.3.0 .......... 15.98 |================================================== LLVM Clang 4.0 ..... 15.68 |================================================= LLVM Clang 5.0 SVN . 15.87 |================================================== GCC 7.1.0 .......... 16.18 |=================================================== GCC 8.0.0 20170514 . 16.31 |=================================================== OpenSSL 1.0.1g RSA 4096-bit Performance Signs Per Second > Higher Is Better AMD AOCC 1.0 ....... 987.90 |================================================== GCC 6.3.0 .......... 991.87 |================================================== LLVM Clang 4.0 ..... 989.70 |================================================== LLVM Clang 5.0 SVN . 989.43 |================================================== GCC 7.1.0 .......... 990.10 |================================================== GCC 8.0.0 20170514 . 990.37 |================================================== libjpeg-turbo tjbench 1.5.1 Test: Decompression Throughput Megapixels/sec > Higher Is Better AMD AOCC 1.0 ....... 162.30 |================================================= GCC 6.3.0 .......... 164.20 |================================================== LLVM Clang 4.0 ..... 163.30 |================================================== LLVM Clang 5.0 SVN . 162.38 |================================================= GCC 7.1.0 .......... 164.43 |================================================== GCC 8.0.0 20170514 . 162.26 |================================================= PostgreSQL pgbench 9.4.3 Scaling: Buffer Test - Test: Normal Load - Mode: Read Write TPS > Higher Is Better AMD AOCC 1.0 ....... 1835.68 |================================================= GCC 6.3.0 .......... 1824.82 |================================================= LLVM Clang 4.0 ..... 1832.99 |================================================= LLVM Clang 5.0 SVN . 1822.15 |================================================= GCC 7.1.0 .......... 1821.50 |================================================= GCC 8.0.0 20170514 . 1804.92 |================================================ PostgreSQL pgbench 9.4.3 Scaling: Buffer Test - Test: Single Thread - Mode: Read Write TPS > Higher Is Better AMD AOCC 1.0 ....... 223.78 |================================================== GCC 6.3.0 .......... 221.48 |================================================= LLVM Clang 4.0 ..... 220.79 |================================================= LLVM Clang 5.0 SVN . 220.61 |================================================= GCC 7.1.0 .......... 220.53 |================================================= GCC 8.0.0 20170514 . 222.00 |================================================== PostgreSQL pgbench 9.4.3 Scaling: Buffer Test - Test: Heavy Contention - Mode: Read Write TPS > Higher Is Better AMD AOCC 1.0 ....... 1809.61 |============================================= GCC 6.3.0 .......... 1963.34 |================================================ LLVM Clang 4.0 ..... 1803.18 |============================================ LLVM Clang 5.0 SVN . 1952.04 |================================================ GCC 7.1.0 .......... 1992.15 |================================================= GCC 8.0.0 20170514 . 1881.79 |============================================== Redis 3.0.1 Test: GET Requests Per Second > Higher Is Better AMD AOCC 1.0 ....... 1923307.63 |============================================= GCC 6.3.0 .......... 1942594.25 |============================================= LLVM Clang 4.0 ..... 1950530.90 |============================================= LLVM Clang 5.0 SVN . 1964699.83 |============================================== GCC 7.1.0 .......... 1972946.40 |============================================== GCC 8.0.0 20170514 . 1893143.79 |============================================ Redis 3.0.1 Test: SET Requests Per Second > Higher Is Better AMD AOCC 1.0 ....... 1375543.59 |============================================= GCC 6.3.0 .......... 1409138.92 |============================================== LLVM Clang 4.0 ..... 1402304.16 |============================================== LLVM Clang 5.0 SVN . 1363221.42 |============================================= GCC 7.1.0 .......... 1378031.00 |============================================= GCC 8.0.0 20170514 . 1368641.17 |============================================= Hierarchical INTegration 1.0 Test: FLOAT QUIPs > Higher Is Better AMD AOCC 1.0 ....... 300145863.65 |========================================== GCC 6.3.0 .......... 310753099.68 |============================================ LLVM Clang 4.0 ..... 301031539.74 |=========================================== LLVM Clang 5.0 SVN . 300836238.35 |=========================================== GCC 7.1.0 .......... 309175338.74 |============================================ GCC 8.0.0 20170514 . 308995863.44 |============================================ Apache Benchmark 2.4.7 Static Web Page Serving Requests Per Second > Higher Is Better AMD AOCC 1.0 ....... 26915.13 |=============================================== GCC 6.3.0 .......... 27371.26 |================================================ LLVM Clang 4.0 ..... 27178.76 |================================================ LLVM Clang 5.0 SVN . 26929.94 |=============================================== GCC 7.1.0 .......... 25724.26 |============================================= GCC 8.0.0 20170514 . 26789.01 |===============================================