AMD Ryzen Compiler Testing

LLVM Clang and GCC compiler benchmarks on AMD Ryzen. Tests by Michael Larabel for a future article on Phoronix.

HTML result view exported from: https://openbenchmarking.org/result/1703078-RI-AMDRYZENC44&grt&rdt.

AMD Ryzen Compiler TestingProcessorMotherboardChipsetMemoryDiskGraphicsAudioMonitorNetworkOSKernelDesktopDisplay ServerDisplay DriverOpenGLVulkanCompilerFile-SystemScreen ResolutionClang 4.0 RC2Clang 3.9.1GCC 7.0.1 20170305GCC 6.3.0AMD Ryzen 7 1700 Eight-Core @ 3.00GHz (16 Cores)MSI X370 XPOWER GAMING TITANIUM (MS-7A31) v1.0AMD Device 145016384MB256GB INTEL SSDPEKKW256G7Sapphire AMD Radeon R9 FURY / NANO 4096MBAMD Fiji HDMI/DPDELL P2415QIntel I211 Gigabit ConnectionUbuntu 17.044.10.0-999-generic (x86_64) 20170303Unity 7.5.0X Server 1.18.4modesetting 1.18.44.5 Mesa 17.0.1- padoka PPA Gallium 0.4 (LLVM 4.0.0)1.0.39Clang 4.0.0-+rc2-1 + LLVM 4.0.0ext43840x2160Clang 3.9.1-4ubuntu4 + LLVM 3.9.1GCC 7.0.1 20170305GCC 6.3.0OpenBenchmarking.orgProcessor Details- Scaling Governor: acpi-cpufreq performanceCompiler Details- GCC 7.0.1 20170305, GCC 6.3.0: --enable-checking=release

AMD Ryzen Compiler Testingapache: Static Web Page Servingbullet: Raytestsbullet: 3000 Fallbullet: 1000 Stackbullet: 1000 Convexbullet: 136 Ragdollsbullet: Prim Trimeshbullet: Convex Trimeshc-ray: Total Timeffmpeg: H.264 HD To NTSC DVfftw: Float + SSE - 2D FFT Size 1024encode-flac: WAV To FLACgraphics-magick: Blurgraphics-magick: Sharpengraphics-magick: HWB Color Spacegraphics-magick: Local Adaptive Thresholdinghint: FLOAThimeno: Poisson Pressure Solverjohn-the-ripper: Blowfishencode-mp3: WAV To MP3tjbench: Decompression Throughputopenssl: RSA 4096-bit Performanceredis: GETredis: SETscimark2: Compositescimark2: Monte Carloscimark2: Fast Fourier Transformscimark2: Sparse Matrix Multiplyscimark2: Dense LU Matrix Factorizationscimark2: Jacobi Successive Over-Relaxationstockfish: Total Timebuild-apache: Time To Compilehmmer: Pfam Database Searchmafft: Multiple Sequence Alignmentbuild-php: Time To Compiletscp: AI Chess Performancettsiod-renderer: Phong Rendering With Soft-Shadow MappingClang 4.0 RC2Clang 3.9.1GCC 7.0.1 20170305GCC 6.3.019421.242.954.885.525.013.151.041.2514.6811.64191405.98137138179126284610577.961076.241073611.31154.94985.231693145.171269134.831970.20617.40122.722366.095152.181592.59414525.587.863.9218.3795989346.2619724.022.764.625.214.572.981.001.1513.4612.65209065.83137140180134276270687.221122.181098711.82165.10982.401726817.291295713.671995.73234.55124.972524.885439.241655.00397624.547.804.0422.55103765451.7320855.832.964.565.165.822.840.961.309.8411.67196096.22168181235128307202265.161021.94105469.61165.04987.671955581.981349107.131524.55227.79152.342415.973764.101062.55398428.687.954.1420.94982850304.7121441.962.724.545.184.532.840.961.148.8611.69205556.23169181236128306973819.401031.70108729.57165.21986.731795042.521341140.631490.17670.60157.572423.853142.531056.29397528.247.913.8422.381037247314.14OpenBenchmarking.org

Apache Benchmark

Static Web Page Serving

OpenBenchmarking.orgRequests Per Second, More Is BetterApache Benchmark 2.4.7Static Web Page ServingClang 4.0 RC2Clang 3.9.1GCC 7.0.1 20170305GCC 6.3.05K10K15K20K25KSE +/- 26.92, N = 3SE +/- 279.24, N = 3SE +/- 178.03, N = 3SE +/- 310.40, N = 319421.2419724.0220855.8321441.961. (CC) gcc options: -shared -fPIC -pthread -O3 -march=native

Bullet Physics Engine

Test: Raytests

OpenBenchmarking.orgSeconds, Fewer Is BetterBullet Physics Engine 2.81Test: RaytestsClang 4.0 RC2Clang 3.9.1GCC 7.0.1 20170305GCC 6.3.00.6661.3321.9982.6643.33SE +/- 0.01, N = 3SE +/- 0.01, N = 3SE +/- 0.01, N = 3SE +/- 0.01, N = 32.952.762.962.721. (CXX) g++ options: -O3 -march=native -rdynamic -lglut -lGL -lGLU

Bullet Physics Engine

Test: 3000 Fall

OpenBenchmarking.orgSeconds, Fewer Is BetterBullet Physics Engine 2.81Test: 3000 FallClang 4.0 RC2Clang 3.9.1GCC 7.0.1 20170305GCC 6.3.01.0982.1963.2944.3925.49SE +/- 0.04, N = 3SE +/- 0.00, N = 3SE +/- 0.02, N = 3SE +/- 0.01, N = 34.884.624.564.541. (CXX) g++ options: -O3 -march=native -rdynamic -lglut -lGL -lGLU

Bullet Physics Engine

Test: 1000 Stack

OpenBenchmarking.orgSeconds, Fewer Is BetterBullet Physics Engine 2.81Test: 1000 StackClang 4.0 RC2Clang 3.9.1GCC 7.0.1 20170305GCC 6.3.01.2422.4843.7264.9686.21SE +/- 0.04, N = 3SE +/- 0.01, N = 3SE +/- 0.01, N = 3SE +/- 0.02, N = 35.525.215.165.181. (CXX) g++ options: -O3 -march=native -rdynamic -lglut -lGL -lGLU

Bullet Physics Engine

Test: 1000 Convex

OpenBenchmarking.orgSeconds, Fewer Is BetterBullet Physics Engine 2.81Test: 1000 ConvexClang 4.0 RC2Clang 3.9.1GCC 7.0.1 20170305GCC 6.3.01.30952.6193.92855.2386.5475SE +/- 0.01, N = 3SE +/- 0.02, N = 3SE +/- 0.02, N = 3SE +/- 0.01, N = 35.014.575.824.531. (CXX) g++ options: -O3 -march=native -rdynamic -lglut -lGL -lGLU

Bullet Physics Engine

Test: 136 Ragdolls

OpenBenchmarking.orgSeconds, Fewer Is BetterBullet Physics Engine 2.81Test: 136 RagdollsClang 4.0 RC2Clang 3.9.1GCC 7.0.1 20170305GCC 6.3.00.70881.41762.12642.83523.544SE +/- 0.00, N = 3SE +/- 0.01, N = 3SE +/- 0.00, N = 3SE +/- 0.01, N = 33.152.982.842.841. (CXX) g++ options: -O3 -march=native -rdynamic -lglut -lGL -lGLU

Bullet Physics Engine

Test: Prim Trimesh

OpenBenchmarking.orgSeconds, Fewer Is BetterBullet Physics Engine 2.81Test: Prim TrimeshClang 4.0 RC2Clang 3.9.1GCC 7.0.1 20170305GCC 6.3.00.2340.4680.7020.9361.17SE +/- 0.00, N = 3SE +/- 0.01, N = 3SE +/- 0.00, N = 3SE +/- 0.01, N = 31.041.000.960.961. (CXX) g++ options: -O3 -march=native -rdynamic -lglut -lGL -lGLU

Bullet Physics Engine

Test: Convex Trimesh

OpenBenchmarking.orgSeconds, Fewer Is BetterBullet Physics Engine 2.81Test: Convex TrimeshClang 4.0 RC2Clang 3.9.1GCC 7.0.1 20170305GCC 6.3.00.29250.5850.87751.171.4625SE +/- 0.00, N = 3SE +/- 0.00, N = 3SE +/- 0.00, N = 3SE +/- 0.00, N = 31.251.151.301.141. (CXX) g++ options: -O3 -march=native -rdynamic -lglut -lGL -lGLU

C-Ray

Total Time

OpenBenchmarking.orgSeconds, Fewer Is BetterC-Ray 1.1Total TimeClang 4.0 RC2Clang 3.9.1GCC 7.0.1 20170305GCC 6.3.048121620SE +/- 0.00, N = 3SE +/- 0.02, N = 3SE +/- 0.02, N = 3SE +/- 0.01, N = 314.6813.469.848.861. (CC) gcc options: -lm -lpthread -O3 -march=native

FFmpeg

H.264 HD To NTSC DV

OpenBenchmarking.orgSeconds, Fewer Is BetterFFmpeg 2.8.1H.264 HD To NTSC DVClang 4.0 RC2Clang 3.9.1GCC 7.0.1 20170305GCC 6.3.03691215SE +/- 0.08, N = 3SE +/- 0.06, N = 3SE +/- 0.07, N = 3SE +/- 0.03, N = 311.6412.6511.6711.69-Qunused-arguments -MMD -MF -MT-Qunused-arguments -MMD -MF -MT-fno-tree-vectorize-fno-tree-vectorize1. (CC) gcc options: -lavdevice -lavfilter -lavformat -lavcodec -lswresample -lswscale -lavutil -lXv -lX11 -lXext -lxcb -lxcb-shm -lxcb-xfixes -lxcb-render -lxcb-shape -lsndio -lasound -lSDL -lm -llzma -lbz2 -pthread -O3 -march=native -std=c99 -fomit-frame-pointer -fno-math-errno -fno-signed-zeros

FFTW

Build: Float + SSE - Size: 2D FFT Size 1024

OpenBenchmarking.orgMflops, More Is BetterFFTW 3.3.4Build: Float + SSE - Size: 2D FFT Size 1024Clang 4.0 RC2Clang 3.9.1GCC 7.0.1 20170305GCC 6.3.04K8K12K16K20KSE +/- 100.84, N = 5SE +/- 65.08, N = 5SE +/- 127.61, N = 5SE +/- 113.90, N = 5191402090619609205551. (CC) gcc options: -O3 -march=native -lm

FLAC Audio Encoding

WAV To FLAC

OpenBenchmarking.orgSeconds, Fewer Is BetterFLAC Audio Encoding 1.3.1WAV To FLACClang 4.0 RC2Clang 3.9.1GCC 7.0.1 20170305GCC 6.3.0246810SE +/- 0.01, N = 5SE +/- 0.01, N = 5SE +/- 0.01, N = 5SE +/- 0.01, N = 55.985.836.226.23-fvisibility=hidden-fvisibility=hidden1. (CXX) g++ options: -O3 -march=native -logg -lm

GraphicsMagick

Operation: Blur

OpenBenchmarking.orgIterations Per Minute, More Is BetterGraphicsMagick 1.3.19Operation: BlurClang 4.0 RC2Clang 3.9.1GCC 7.0.1 20170305GCC 6.3.04080120160200137137168169-lgomp-lgomp-ldl-ldl1. (CC) gcc options: -fopenmp -O3 -march=native -pthread -ljbig -lwebp -ltiff -ljpeg -lXext -lSM -lICE -lX11 -llzma -lbz2 -lz -lm -lpthread

GraphicsMagick

Operation: Sharpen

OpenBenchmarking.orgIterations Per Minute, More Is BetterGraphicsMagick 1.3.19Operation: SharpenClang 4.0 RC2Clang 3.9.1GCC 7.0.1 20170305GCC 6.3.04080120160200SE +/- 0.33, N = 3138140181181-lgomp-lgomp-ldl-ldl1. (CC) gcc options: -fopenmp -O3 -march=native -pthread -ljbig -lwebp -ltiff -ljpeg -lXext -lSM -lICE -lX11 -llzma -lbz2 -lz -lm -lpthread

GraphicsMagick

Operation: HWB Color Space

OpenBenchmarking.orgIterations Per Minute, More Is BetterGraphicsMagick 1.3.19Operation: HWB Color SpaceClang 4.0 RC2Clang 3.9.1GCC 7.0.1 20170305GCC 6.3.050100150200250SE +/- 0.33, N = 3SE +/- 0.33, N = 3179180235236-lgomp-lgomp-ldl-ldl1. (CC) gcc options: -fopenmp -O3 -march=native -pthread -ljbig -lwebp -ltiff -ljpeg -lXext -lSM -lICE -lX11 -llzma -lbz2 -lz -lm -lpthread

GraphicsMagick

Operation: Local Adaptive Thresholding

OpenBenchmarking.orgIterations Per Minute, More Is BetterGraphicsMagick 1.3.19Operation: Local Adaptive ThresholdingClang 4.0 RC2Clang 3.9.1GCC 7.0.1 20170305GCC 6.3.0306090120150SE +/- 0.67, N = 3126134128128-lgomp-lgomp-ldl-ldl1. (CC) gcc options: -fopenmp -O3 -march=native -pthread -ljbig -lwebp -ltiff -ljpeg -lXext -lSM -lICE -lX11 -llzma -lbz2 -lz -lm -lpthread

Hierarchical INTegration

Test: FLOAT

OpenBenchmarking.orgQUIPs, More Is BetterHierarchical INTegration 1.0Test: FLOATClang 4.0 RC2Clang 3.9.1GCC 7.0.1 20170305GCC 6.3.070M140M210M280M350MSE +/- 291446.08, N = 3SE +/- 3925.87, N = 3SE +/- 142250.05, N = 3SE +/- 58026.16, N = 3284610577.96276270687.22307202265.16306973819.401. (CC) gcc options: -O3 -march=native -lm

Himeno Benchmark

Poisson Pressure Solver

OpenBenchmarking.orgMFLOPS, More Is BetterHimeno Benchmark 3.0Poisson Pressure SolverClang 4.0 RC2Clang 3.9.1GCC 7.0.1 20170305GCC 6.3.02004006008001000SE +/- 4.36, N = 3SE +/- 1.47, N = 3SE +/- 0.34, N = 3SE +/- 2.29, N = 31076.241122.181021.941031.701. (CC) gcc options: -O3 -march=native -mavx2

John The Ripper

Test: Blowfish

OpenBenchmarking.orgReal C/S, More Is BetterJohn The Ripper 1.8.0Test: BlowfishClang 4.0 RC2Clang 3.9.1GCC 7.0.1 20170305GCC 6.3.02K4K6K8K10KSE +/- 52.39, N = 3SE +/- 13.67, N = 3SE +/- 7.02, N = 3SE +/- 22.90, N = 3107361098710546108721. (CC) gcc options: -fopenmp -lcrypt

LAME MP3 Encoding

WAV To MP3

OpenBenchmarking.orgSeconds, Fewer Is BetterLAME MP3 Encoding 3.99.3WAV To MP3Clang 4.0 RC2Clang 3.9.1GCC 7.0.1 20170305GCC 6.3.03691215SE +/- 0.03, N = 5SE +/- 0.01, N = 5SE +/- 0.02, N = 5SE +/- 0.01, N = 511.3111.829.619.571. (CC) gcc options: -O3 -ffast-math -funroll-loops -fschedule-insns2 -fbranch-count-reg -fforce-addr -pipe -march=native -lm

libjpeg-turbo tjbench

Test: Decompression Throughput

OpenBenchmarking.orgMegapixels/sec, More Is Betterlibjpeg-turbo tjbench 1.5.1Test: Decompression ThroughputClang 4.0 RC2Clang 3.9.1GCC 7.0.1 20170305GCC 6.3.04080120160200SE +/- 1.86, N = 3SE +/- 0.65, N = 3SE +/- 0.30, N = 3SE +/- 0.14, N = 3154.94165.10165.04165.21-lm-lm-lm1. (CC) gcc options: -O3 -march=native

OpenSSL

RSA 4096-bit Performance

OpenBenchmarking.orgSigns Per Second, More Is BetterOpenSSL 1.0.1gRSA 4096-bit PerformanceClang 4.0 RC2Clang 3.9.1GCC 7.0.1 20170305GCC 6.3.02004006008001000SE +/- 0.49, N = 3SE +/- 1.01, N = 3SE +/- 0.52, N = 3SE +/- 0.26, N = 3985.23982.40987.67986.731. (CC) gcc options: -m64 -O3 -lssl -lcrypto -ldl

Redis

Test: GET

OpenBenchmarking.orgRequests Per Second, More Is BetterRedis 3.0.1Test: GETClang 4.0 RC2Clang 3.9.1GCC 7.0.1 20170305GCC 6.3.0400K800K1200K1600K2000KSE +/- 10976.24, N = 3SE +/- 24405.44, N = 3SE +/- 44067.06, N = 6SE +/- 41613.83, N = 61693145.171726817.291955581.981795042.521. (CC) gcc options: -ggdb -rdynamic -lm -pthread -ldl

Redis

Test: SET

OpenBenchmarking.orgRequests Per Second, More Is BetterRedis 3.0.1Test: SETClang 4.0 RC2Clang 3.9.1GCC 7.0.1 20170305GCC 6.3.0300K600K900K1200K1500KSE +/- 7930.36, N = 3SE +/- 15657.82, N = 3SE +/- 11185.17, N = 3SE +/- 25718.09, N = 61269134.831295713.671349107.131341140.631. (CC) gcc options: -ggdb -rdynamic -lm -pthread -ldl

SciMark

Computational Test: Composite

OpenBenchmarking.orgMflops, More Is BetterSciMark 2.0Computational Test: CompositeClang 4.0 RC2Clang 3.9.1GCC 7.0.1 20170305GCC 6.3.0400800120016002000SE +/- 10.41, N = 4SE +/- 13.09, N = 4SE +/- 4.72, N = 4SE +/- 3.47, N = 41970.201995.731524.551490.171. (CC) gcc options: -O3 -march=native -lm

SciMark

Computational Test: Monte Carlo

OpenBenchmarking.orgMflops, More Is BetterSciMark 2.0Computational Test: Monte CarloClang 4.0 RC2Clang 3.9.1GCC 7.0.1 20170305GCC 6.3.0140280420560700SE +/- 2.05, N = 4SE +/- 0.25, N = 4SE +/- 0.20, N = 4SE +/- 0.14, N = 4617.40234.55227.79670.601. (CC) gcc options: -O3 -march=native -lm

SciMark

Computational Test: Fast Fourier Transform

OpenBenchmarking.orgMflops, More Is BetterSciMark 2.0Computational Test: Fast Fourier TransformClang 4.0 RC2Clang 3.9.1GCC 7.0.1 20170305GCC 6.3.0306090120150SE +/- 0.42, N = 4SE +/- 0.34, N = 4SE +/- 3.52, N = 4SE +/- 3.69, N = 4122.72124.97152.34157.571. (CC) gcc options: -O3 -march=native -lm

SciMark

Computational Test: Sparse Matrix Multiply

OpenBenchmarking.orgMflops, More Is BetterSciMark 2.0Computational Test: Sparse Matrix MultiplyClang 4.0 RC2Clang 3.9.1GCC 7.0.1 20170305GCC 6.3.05001000150020002500SE +/- 8.34, N = 4SE +/- 9.80, N = 4SE +/- 8.68, N = 4SE +/- 7.12, N = 42366.092524.882415.972423.851. (CC) gcc options: -O3 -march=native -lm

SciMark

Computational Test: Dense LU Matrix Factorization

OpenBenchmarking.orgMflops, More Is BetterSciMark 2.0Computational Test: Dense LU Matrix FactorizationClang 4.0 RC2Clang 3.9.1GCC 7.0.1 20170305GCC 6.3.012002400360048006000SE +/- 56.80, N = 4SE +/- 66.57, N = 4SE +/- 13.76, N = 4SE +/- 15.66, N = 45152.185439.243764.103142.531. (CC) gcc options: -O3 -march=native -lm

SciMark

Computational Test: Jacobi Successive Over-Relaxation

OpenBenchmarking.orgMflops, More Is BetterSciMark 2.0Computational Test: Jacobi Successive Over-RelaxationClang 4.0 RC2Clang 3.9.1GCC 7.0.1 20170305GCC 6.3.0400800120016002000SE +/- 4.47, N = 4SE +/- 0.90, N = 4SE +/- 1.05, N = 4SE +/- 5.17, N = 41592.591655.001062.551056.291. (CC) gcc options: -O3 -march=native -lm

Stockfish

Total Time

OpenBenchmarking.orgms, Fewer Is BetterStockfish 2014-11-26Total TimeClang 4.0 RC2Clang 3.9.1GCC 7.0.1 20170305GCC 6.3.09001800270036004500SE +/- 19.67, N = 3SE +/- 6.66, N = 3SE +/- 16.23, N = 3SE +/- 36.38, N = 34145397639843975-flto-flto1. (CXX) g++ options: -lpthread -O3 -march=native -fno-exceptions -fno-rtti -ansi -pedantic -msse -msse3 -mpopcnt

Timed Apache Compilation

Time To Compile

OpenBenchmarking.orgSeconds, Fewer Is BetterTimed Apache Compilation 2.4.7Time To CompileClang 4.0 RC2Clang 3.9.1GCC 7.0.1 20170305GCC 6.3.0714212835SE +/- 0.08, N = 3SE +/- 0.22, N = 3SE +/- 0.10, N = 3SE +/- 0.08, N = 325.5824.5428.6828.24

Timed HMMer Search

Pfam Database Search

OpenBenchmarking.orgSeconds, Fewer Is BetterTimed HMMer Search 2.3.2Pfam Database SearchClang 4.0 RC2Clang 3.9.1GCC 7.0.1 20170305GCC 6.3.0246810SE +/- 0.02, N = 3SE +/- 0.01, N = 3SE +/- 0.01, N = 3SE +/- 0.02, N = 37.867.807.957.911. (CC) gcc options: -O3 -march=native -pthread -lhmmer -lsquid -lm

Timed MAFFT Alignment

Multiple Sequence Alignment

OpenBenchmarking.orgSeconds, Fewer Is BetterTimed MAFFT Alignment 6.864Multiple Sequence AlignmentClang 4.0 RC2Clang 3.9.1GCC 7.0.1 20170305GCC 6.3.00.93151.8632.79453.7264.6575SE +/- 0.09, N = 6SE +/- 0.02, N = 3SE +/- 0.03, N = 3SE +/- 0.09, N = 63.924.044.143.841. (CC) gcc options: -O3 -lm -lpthread

Timed PHP Compilation

Time To Compile

OpenBenchmarking.orgSeconds, Fewer Is BetterTimed PHP Compilation 5.2.9Time To CompileClang 4.0 RC2Clang 3.9.1GCC 7.0.1 20170305GCC 6.3.0510152025SE +/- 0.15, N = 3SE +/- 0.06, N = 3SE +/- 0.05, N = 3SE +/- 0.03, N = 318.3722.5520.9422.381. (CC) gcc options: -O3 -march=native -pedantic -ldl -lz -lm

TSCP

AI Chess Performance

OpenBenchmarking.orgNodes Per Second, More Is BetterTSCP 1.81AI Chess PerformanceClang 4.0 RC2Clang 3.9.1GCC 7.0.1 20170305GCC 6.3.0200K400K600K800K1000KSE +/- 1934.60, N = 5SE +/- 2086.22, N = 5SE +/- 2260.00, N = 5SE +/- 617.75, N = 5959893103765498285010372471. (CC) gcc options: -O3 -march=native

TTSIOD 3D Renderer

Phong Rendering With Soft-Shadow Mapping

OpenBenchmarking.orgFPS, More Is BetterTTSIOD 3D Renderer 2.3aPhong Rendering With Soft-Shadow MappingClang 4.0 RC2Clang 3.9.1GCC 7.0.1 20170305GCC 6.3.070140210280350SE +/- 0.05, N = 3SE +/- 0.23, N = 3SE +/- 0.81, N = 3SE +/- 0.34, N = 346.2651.73304.71314.141. (CXX) g++ options: -O3 -march=native -fomit-frame-pointer -ffast-math -mtune=native -flto -msse -mrecip -mfpmath=sse -msse2 -mssse3 -lSDL -lstdc++


Phoronix Test Suite v10.8.4