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.

AMD Ryzen Compiler TestingProcessorMotherboardChipsetMemoryDiskGraphicsAudioMonitorNetworkOSKernelDesktopDisplay ServerDisplay DriverOpenGLVulkanCompilerFile-SystemScreen ResolutionClang 3.9.1Clang 4.0 RC2GCC 6.3.0GCC 7.0.1 20170305AMD 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 3.9.1-4ubuntu4 + LLVM 3.9.1ext43840x2160Clang 4.0.0-+rc2-1 + LLVM 4.0.0GCC 6.3.0GCC 7.0.1 20170305OpenBenchmarking.orgProcessor Details- Scaling Governor: acpi-cpufreq performanceCompiler Details- GCC 6.3.0, GCC 7.0.1 20170305: --enable-checking=release

AMD Ryzen Compiler Testingfftw: Float + SSE - 2D FFT Size 1024hmmer: Pfam Database Searchmafft: Multiple Sequence Alignmentscimark2: Compositescimark2: Monte Carloscimark2: Fast Fourier Transformscimark2: Sparse Matrix Multiplyscimark2: Dense LU Matrix Factorizationscimark2: Jacobi Successive Over-Relaxationtscp: AI Chess Performancejohn-the-ripper: Blowfishttsiod-renderer: Phong Rendering With Soft-Shadow Mappinggraphics-magick: Blurgraphics-magick: Sharpengraphics-magick: HWB Color Spacegraphics-magick: Local Adaptive Thresholdinghimeno: Poisson Pressure Solverbuild-apache: Time To Compilebuild-php: Time To Compilec-ray: Total Timestockfish: Total Timebullet: Raytestsbullet: 3000 Fallbullet: 1000 Stackbullet: 1000 Convexbullet: 136 Ragdollsbullet: Prim Trimeshbullet: Convex Trimeshencode-flac: WAV To FLACencode-mp3: WAV To MP3ffmpeg: H.264 HD To NTSC DVopenssl: RSA 4096-bit Performancetjbench: Decompression Throughputredis: GETredis: SEThint: FLOATapache: Static Web Page ServingClang 3.9.1Clang 4.0 RC2GCC 6.3.0GCC 7.0.1 20170305209067.804.041995.73234.55124.972524.885439.241655.0010376541098751.731371401801341122.1824.5422.5513.4639762.764.625.214.572.981.001.155.8311.8212.65982.40165.101726817.291295713.67276270687.2219724.02191407.863.921970.20617.40122.722366.095152.181592.599598931073646.261371381791261076.2425.5818.3714.6841452.954.885.525.013.151.041.255.9811.3111.64985.23154.941693145.171269134.83284610577.9619421.24205557.913.841490.17670.60157.572423.853142.531056.29103724710872314.141691812361281031.7028.2422.388.8639752.724.545.184.532.840.961.146.239.5711.69986.73165.211795042.521341140.63306973819.4021441.96196097.954.141524.55227.79152.342415.973764.101062.5598285010546304.711681812351281021.9428.6820.949.8439842.964.565.165.822.840.961.306.229.6111.67987.67165.041955581.981349107.13307202265.1620855.83OpenBenchmarking.org

FFTW

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

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

Timed HMMer Search

Pfam Database Search

OpenBenchmarking.orgSeconds, Fewer Is BetterTimed HMMer Search 2.3.2Pfam Database SearchClang 3.9.1Clang 4.0 RC2GCC 6.3.0GCC 7.0.1 20170305246810SE +/- 0.01, N = 3SE +/- 0.02, N = 3SE +/- 0.02, N = 3SE +/- 0.01, N = 37.807.867.917.951. (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 3.9.1Clang 4.0 RC2GCC 6.3.0GCC 7.0.1 201703050.93151.8632.79453.7264.6575SE +/- 0.02, N = 3SE +/- 0.09, N = 6SE +/- 0.09, N = 6SE +/- 0.03, N = 34.043.923.844.141. (CC) gcc options: -O3 -lm -lpthread

SciMark

Computational Test: Composite

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

SciMark

Computational Test: Monte Carlo

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

SciMark

Computational Test: Fast Fourier Transform

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

SciMark

Computational Test: Sparse Matrix Multiply

OpenBenchmarking.orgMflops, More Is BetterSciMark 2.0Computational Test: Sparse Matrix MultiplyClang 3.9.1Clang 4.0 RC2GCC 6.3.0GCC 7.0.1 201703055001000150020002500SE +/- 9.80, N = 4SE +/- 8.34, N = 4SE +/- 7.12, N = 4SE +/- 8.68, N = 42524.882366.092423.852415.971. (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 3.9.1Clang 4.0 RC2GCC 6.3.0GCC 7.0.1 2017030512002400360048006000SE +/- 66.57, N = 4SE +/- 56.80, N = 4SE +/- 15.66, N = 4SE +/- 13.76, N = 45439.245152.183142.533764.101. (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 3.9.1Clang 4.0 RC2GCC 6.3.0GCC 7.0.1 20170305400800120016002000SE +/- 0.90, N = 4SE +/- 4.47, N = 4SE +/- 5.17, N = 4SE +/- 1.05, N = 41655.001592.591056.291062.551. (CC) gcc options: -O3 -march=native -lm

TSCP

AI Chess Performance

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

John The Ripper

Test: Blowfish

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

TTSIOD 3D Renderer

Phong Rendering With Soft-Shadow Mapping

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

GraphicsMagick

Operation: Blur

OpenBenchmarking.orgIterations Per Minute, More Is BetterGraphicsMagick 1.3.19Operation: BlurClang 3.9.1Clang 4.0 RC2GCC 6.3.0GCC 7.0.1 201703054080120160200137137169168-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 3.9.1Clang 4.0 RC2GCC 6.3.0GCC 7.0.1 201703054080120160200SE +/- 0.33, N = 3140138181181-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 3.9.1Clang 4.0 RC2GCC 6.3.0GCC 7.0.1 2017030550100150200250SE +/- 0.33, N = 3SE +/- 0.33, N = 3180179236235-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 3.9.1Clang 4.0 RC2GCC 6.3.0GCC 7.0.1 20170305306090120150SE +/- 0.67, N = 3134126128128-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

Himeno Benchmark

Poisson Pressure Solver

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

Timed Apache Compilation

Time To Compile

OpenBenchmarking.orgSeconds, Fewer Is BetterTimed Apache Compilation 2.4.7Time To CompileClang 3.9.1Clang 4.0 RC2GCC 6.3.0GCC 7.0.1 20170305714212835SE +/- 0.22, N = 3SE +/- 0.08, N = 3SE +/- 0.08, N = 3SE +/- 0.10, N = 324.5425.5828.2428.68

Timed PHP Compilation

Time To Compile

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

C-Ray

Total Time

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

Stockfish

Total Time

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

Bullet Physics Engine

Test: Raytests

OpenBenchmarking.orgSeconds, Fewer Is BetterBullet Physics Engine 2.81Test: RaytestsClang 3.9.1Clang 4.0 RC2GCC 6.3.0GCC 7.0.1 201703050.6661.3321.9982.6643.33SE +/- 0.01, N = 3SE +/- 0.01, N = 3SE +/- 0.01, N = 3SE +/- 0.01, N = 32.762.952.722.961. (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 3.9.1Clang 4.0 RC2GCC 6.3.0GCC 7.0.1 201703051.0982.1963.2944.3925.49SE +/- 0.00, N = 3SE +/- 0.04, N = 3SE +/- 0.01, N = 3SE +/- 0.02, N = 34.624.884.544.561. (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 3.9.1Clang 4.0 RC2GCC 6.3.0GCC 7.0.1 201703051.2422.4843.7264.9686.21SE +/- 0.01, N = 3SE +/- 0.04, N = 3SE +/- 0.02, N = 3SE +/- 0.01, N = 35.215.525.185.161. (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 3.9.1Clang 4.0 RC2GCC 6.3.0GCC 7.0.1 201703051.30952.6193.92855.2386.5475SE +/- 0.02, N = 3SE +/- 0.01, N = 3SE +/- 0.01, N = 3SE +/- 0.02, N = 34.575.014.535.821. (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 3.9.1Clang 4.0 RC2GCC 6.3.0GCC 7.0.1 201703050.70881.41762.12642.83523.544SE +/- 0.01, N = 3SE +/- 0.00, N = 3SE +/- 0.01, N = 3SE +/- 0.00, N = 32.983.152.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 3.9.1Clang 4.0 RC2GCC 6.3.0GCC 7.0.1 201703050.2340.4680.7020.9361.17SE +/- 0.01, N = 3SE +/- 0.00, N = 3SE +/- 0.01, N = 3SE +/- 0.00, N = 31.001.040.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 3.9.1Clang 4.0 RC2GCC 6.3.0GCC 7.0.1 201703050.29250.5850.87751.171.4625SE +/- 0.00, N = 3SE +/- 0.00, N = 3SE +/- 0.00, N = 3SE +/- 0.00, N = 31.151.251.141.301. (CXX) g++ options: -O3 -march=native -rdynamic -lglut -lGL -lGLU

FLAC Audio Encoding

WAV To FLAC

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

LAME MP3 Encoding

WAV To MP3

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

FFmpeg

H.264 HD To NTSC DV

OpenBenchmarking.orgSeconds, Fewer Is BetterFFmpeg 2.8.1H.264 HD To NTSC DVClang 3.9.1Clang 4.0 RC2GCC 6.3.0GCC 7.0.1 201703053691215SE +/- 0.06, N = 3SE +/- 0.08, N = 3SE +/- 0.03, N = 3SE +/- 0.07, N = 312.6511.6411.6911.67-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

OpenSSL

RSA 4096-bit Performance

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

libjpeg-turbo tjbench

Test: Decompression Throughput

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

Redis

Test: GET

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

Redis

Test: SET

OpenBenchmarking.orgRequests Per Second, More Is BetterRedis 3.0.1Test: SETClang 3.9.1Clang 4.0 RC2GCC 6.3.0GCC 7.0.1 20170305300K600K900K1200K1500KSE +/- 15657.82, N = 3SE +/- 7930.36, N = 3SE +/- 25718.09, N = 6SE +/- 11185.17, N = 31295713.671269134.831341140.631349107.131. (CC) gcc options: -ggdb -rdynamic -lm -pthread -ldl

Hierarchical INTegration

Test: FLOAT

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

Apache Benchmark

Static Web Page Serving

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


Phoronix Test Suite v10.8.4