Ryzen 9 3900X Znver2 Compiler Tuning
AMD Ryzen 9 3900X 12-Core testing of GCC 9 and GCC 10 development with Znver2 tuning following recent cost table updates, etc. Benchmarks by Michael Larabel for a future article..
GCC 9.1.0
Environment Notes: CXXFLAGS=-O3 CFLAGS=-O3
Compiler Notes: --disable-multilib --enable-checking=release
Processor Notes: Scaling Governor: acpi-cpufreq ondemand
Python Notes: Python 2.7.15+ + Python 3.6.8
Security Notes: 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 STIBP: always-on RSB filling
GCC 9.1.0 znver2
Processor: AMD Ryzen 9 3900X 12-Core @ 3.80GHz (12 Cores / 24 Threads), Motherboard: ASUS ROG CROSSHAIR VIII HERO (WI-FI) (0702 BIOS), Chipset: AMD Device 1480, Memory: 16384MB, Disk: 2000GB Force MP600, Graphics: Sapphire AMD Radeon RX 550 640SP / 560/560X 4GB (1300/1750MHz), Audio: AMD Device aae0, Monitor: ASUS VP28U, Network: Realtek Device 8125 + Intel I211 + Intel Device 2723
OS: Ubuntu 18.04, Kernel: 5.3.0-999-generic (x86_64) 20190725, Desktop: GNOME Shell 3.28.4, Display Server: X Server 1.20.4, Display Driver: modesetting 1.20.4, OpenGL: 4.5 Mesa 19.0.2 (LLVM 8.0.0), Compiler: GCC 9.1.0, File-System: ext4, Screen Resolution: 3840x2160
Environment Notes: CXXFLAGS=-O3-march=znver2 CFLAGS=-O3-march=znver2
Compiler Notes: --disable-multilib --enable-checking=release
Processor Notes: Scaling Governor: acpi-cpufreq ondemand
Python Notes: Python 2.7.15+ + Python 3.6.8
Security Notes: 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 STIBP: always-on RSB filling
GCC 10.0.0
Environment Notes: CXXFLAGS=-O3 CFLAGS=-O3
Compiler Notes: --disable-multilib --enable-checking=release
Processor Notes: Scaling Governor: acpi-cpufreq ondemand
Python Notes: Python 2.7.15+ + Python 3.6.8
Security Notes: 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 STIBP: always-on RSB filling
GCC 10.0.0 znver2
OS: Ubuntu 18.04, Kernel: 5.3.0-999-generic (x86_64) 20190725, Desktop: GNOME Shell 3.28.4, Display Server: X Server 1.20.4, Display Driver: modesetting 1.20.4, OpenGL: 4.5 Mesa 19.0.2 (LLVM 8.0.0), Compiler: GCC 10.0.0 20190727, File-System: ext4, Screen Resolution: 3840x2160
Environment Notes: CXXFLAGS=-O3-march=znver2 CFLAGS=-O3-march=znver2
Compiler Notes: --disable-multilib --enable-checking=release
Processor Notes: Scaling Governor: acpi-cpufreq ondemand
Python Notes: Python 2.7.15+ + Python 3.6.8
Security Notes: 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 STIBP: always-on RSB filling
AOBench
AOBench is a lightweight ambient occlusion renderer, written in C. The test profile is using a size of 2048 x 2048. Learn more via the OpenBenchmarking.org test page.
AOM AV1
This is a simple test of the AOMedia AV1 encoder run on the CPU with a sample video file. Learn more via the OpenBenchmarking.org test page.
Apache Benchmark
This is a test of ab, which is the Apache benchmark program. This test profile measures how many requests per second a given system can sustain when carrying out 1,000,000 requests with 100 requests being carried out concurrently. Learn more via the OpenBenchmarking.org test page.
Apache Siege
This is a test of the Apache web server performance being facilitated by the Siege web serverb enchmark program. Learn more via the OpenBenchmarking.org test page.
Bullet Physics Engine
This is a benchmark of the Bullet Physics Engine. Learn more via the OpenBenchmarking.org test page.
C-Ray
This is a test of C-Ray, a simple raytracer designed to test the floating-point CPU performance. This test is multi-threaded (16 threads per core), will shoot 8 rays per pixel for anti-aliasing, and will generate a 1600 x 1200 image. Learn more via the OpenBenchmarking.org test page.
Coremark
This is a test of EEMBC CoreMark processor benchmark. Learn more via the OpenBenchmarking.org test page.
CppPerformanceBenchmarks
CppPerformanceBenchmarks is a set of C++ compiler performance benchmarks. Learn more via the OpenBenchmarking.org test page.
Cpuminer-Opt
Cpuminer benchmark. Learn more via the OpenBenchmarking.org test page.
FFmpeg
This test uses FFmpeg for testing the system's audio/video encoding performance. Learn more via the OpenBenchmarking.org test page.
FFTW
FFTW is a C subroutine library for computing the discrete Fourier transform (DFT) in one or more dimensions. Learn more via the OpenBenchmarking.org test page.
FLAC Audio Encoding
This test times how long it takes to encode a sample WAV file to FLAC format five times. Learn more via the OpenBenchmarking.org test page.
GNU MPC
GNU MPC is a C library for the arithmetic of complex numbers. Learn more via the OpenBenchmarking.org test page.
GraphicsMagick
This is a test of GraphicsMagick with its OpenMP implementation that performs various imaging tests to stress the system's CPU. Learn more via the OpenBenchmarking.org test page.
GROMACS
The Gromacs molecular dynamics package testing on the CPU with the water_GMX50 data. Learn more via the OpenBenchmarking.org test page.
High Performance Conjugate Gradient
HPCG is the High Performance Conjugate Gradient and is a new scientific benchmark from Sandia National Lans focused for super-computer testing with modern real-world workloads compared to HPCC. Learn more via the OpenBenchmarking.org test page.
Himeno Benchmark
The Himeno benchmark is a linear solver of pressure Poisson using a point-Jacobi method. Learn more via the OpenBenchmarking.org test page.
HPC Challenge
HPC Challenge (HPCC) is a cluster-focused benchmark consisting of the HPL Linpack TPP benchmark, DGEMM, STREAM, PTRANS, RandomAccess, FFT, and communication bandwidth and latency. This HPC Challenge test profile attempts to ship with standard yet versatile configuration/input files though they can be modified. Learn more via the OpenBenchmarking.org test page.
John The Ripper
This is a benchmark of John The Ripper, which is a password cracker. Learn more via the OpenBenchmarking.org test page.
LAME MP3 Encoding
LAME is an MP3 encoder licensed under the LGPL. This test measures the time required to encode a WAV file to MP3 format. Learn more via the OpenBenchmarking.org test page.
libjpeg-turbo tjbench
tjbench is a JPEG decompression/compression benchmark part of libjpeg-turbo. Learn more via the OpenBenchmarking.org test page.
lzbench
lzbench is an in-memory benchmark of various compressors. The file used for compression is a Linux kernel source tree tarball. Learn more via the OpenBenchmarking.org test page.
m-queens
A solver for the N-queens problem with multi-threading support via the OpenMP library. Learn more via the OpenBenchmarking.org test page.
Memcached mcperf
This is a test of twmperf/mcperf with memcached. Learn more via the OpenBenchmarking.org test page.
MKL-DNN
This is a test of the Intel MKL-DNN as the Intel Math Kernel Library for Deep Neural Networks and making use of its built-in benchdnn functionality. The result is the total perf time reported. Learn more via the OpenBenchmarking.org test page.
NGINX Benchmark
This is a test of ab, which is the Apache Benchmark program running against nginx. This test profile measures how many requests per second a given system can sustain when carrying out 2,000,000 requests with 500 requests being carried out concurrently. Learn more via the OpenBenchmarking.org test page.
Ogg Encoding
This test times how long it takes to encode a sample WAV file to Ogg format using vorbis-tools, libvorbis, and libogg. Learn more via the OpenBenchmarking.org test page.
OpenSSL
OpenSSL is an open-source toolkit that implements SSL (Secure Sockets Layer) and TLS (Transport Layer Security) protocols. This test measures the RSA 4096-bit performance of OpenSSL. Learn more via the OpenBenchmarking.org test page.
PostgreSQL pgbench
This is a simple benchmark of PostgreSQL using pgbench. Learn more via the OpenBenchmarking.org test page.
Redis
Redis is an open-source data structure server. Learn more via the OpenBenchmarking.org test page.
SciMark
This test runs the ANSI C version of SciMark 2.0, which is a benchmark for scientific and numerical computing developed by programmers at the National Institute of Standards and Technology. This test is made up of Fast Foruier Transform, Jacobi Successive Over-relaxation, Monte Carlo, Sparse Matrix Multiply, and dense LU matrix factorization benchmarks. Learn more via the OpenBenchmarking.org test page.
Smallpt
Smallpt is a C++ global illumination renderer written in less than 100 lines of code. Global illumination is done via unbiased Monte Carlo path tracing and there is multi-threading support via the OpenMP library. Learn more via the OpenBenchmarking.org test page.
Sockperf
This is a network socket API performance benchmark. Learn more via the OpenBenchmarking.org test page.
Stockfish
This is a test of Stockfish, an advanced C++11 chess benchmark that can scale up to 128 CPU cores. Learn more via the OpenBenchmarking.org test page.
SVT-AV1
This is a test of the Intel Open Visual Cloud Scalable Video Technology SVT-AV1 CPU-based multi-threaded video encoder for the AV1 video format with a sample 1080p YUV video file. Learn more via the OpenBenchmarking.org test page.
SVT-HEVC
This is a test of the Intel Open Visual Cloud Scalable Video Technology SVT-HEVC CPU-based multi-threaded video encoder for the HEVC / H.265 video format with a sample 1080p YUV video file. Learn more via the OpenBenchmarking.org test page.
SVT-VP9
This is a test of the Intel Open Visual Cloud Scalable Video Technology SVT-VP9 CPU-based multi-threaded video encoder for the VP9 video format with a sample 1080p YUV video file. Learn more via the OpenBenchmarking.org test page.
Timed LLVM Compilation
This test times how long it takes to build the LLVM compiler. Learn more via the OpenBenchmarking.org test page.
Timed PHP Compilation
This test times how long it takes to build PHP 5 with the Zend engine. Learn more via the OpenBenchmarking.org test page.
TSCP
This is a performance test of TSCP, Tom Kerrigan's Simple Chess Program, which has a built-in performance benchmark. Learn more via the OpenBenchmarking.org test page.
x264
This is a simple test of the x264 encoder run on the CPU (OpenCL support disabled) with a sample video file. Learn more via the OpenBenchmarking.org test page.
x265
This is a simple test of the x265 encoder run on the CPU with a sample 1080p video file. Learn more via the OpenBenchmarking.org test page.
XZ Compression
This test measures the time needed to compress a sample file (an Ubuntu file-system image) using XZ compression. Learn more via the OpenBenchmarking.org test page.
GCC 9.1.0
Environment Notes: CXXFLAGS=-O3 CFLAGS=-O3
Compiler Notes: --disable-multilib --enable-checking=release
Processor Notes: Scaling Governor: acpi-cpufreq ondemand
Python Notes: Python 2.7.15+ + Python 3.6.8
Security Notes: 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 STIBP: always-on RSB filling
Testing initiated at 27 July 2019 08:54 by user phoronix.
GCC 9.1.0 znver2
Processor: AMD Ryzen 9 3900X 12-Core @ 3.80GHz (12 Cores / 24 Threads), Motherboard: ASUS ROG CROSSHAIR VIII HERO (WI-FI) (0702 BIOS), Chipset: AMD Device 1480, Memory: 16384MB, Disk: 2000GB Force MP600, Graphics: Sapphire AMD Radeon RX 550 640SP / 560/560X 4GB (1300/1750MHz), Audio: AMD Device aae0, Monitor: ASUS VP28U, Network: Realtek Device 8125 + Intel I211 + Intel Device 2723
OS: Ubuntu 18.04, Kernel: 5.3.0-999-generic (x86_64) 20190725, Desktop: GNOME Shell 3.28.4, Display Server: X Server 1.20.4, Display Driver: modesetting 1.20.4, OpenGL: 4.5 Mesa 19.0.2 (LLVM 8.0.0), Compiler: GCC 9.1.0, File-System: ext4, Screen Resolution: 3840x2160
Environment Notes: CXXFLAGS=-O3-march=znver2 CFLAGS=-O3-march=znver2
Compiler Notes: --disable-multilib --enable-checking=release
Processor Notes: Scaling Governor: acpi-cpufreq ondemand
Python Notes: Python 2.7.15+ + Python 3.6.8
Security Notes: 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 STIBP: always-on RSB filling
Testing initiated at 27 July 2019 19:17 by user phoronix.
GCC 10.0.0
Environment Notes: CXXFLAGS=-O3 CFLAGS=-O3
Compiler Notes: --disable-multilib --enable-checking=release
Processor Notes: Scaling Governor: acpi-cpufreq ondemand
Python Notes: Python 2.7.15+ + Python 3.6.8
Security Notes: 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 STIBP: always-on RSB filling
Testing initiated at 28 July 2019 18:18 by user phoronix.
GCC 10.0.0 znver2
Processor: AMD Ryzen 9 3900X 12-Core @ 3.80GHz (12 Cores / 24 Threads), Motherboard: ASUS ROG CROSSHAIR VIII HERO (WI-FI) (0702 BIOS), Chipset: AMD Device 1480, Memory: 16384MB, Disk: 2000GB Force MP600, Graphics: Sapphire AMD Radeon RX 550 640SP / 560/560X 4GB (1300/1750MHz), Audio: AMD Device aae0, Monitor: ASUS VP28U, Network: Realtek Device 8125 + Intel I211 + Intel Device 2723
OS: Ubuntu 18.04, Kernel: 5.3.0-999-generic (x86_64) 20190725, Desktop: GNOME Shell 3.28.4, Display Server: X Server 1.20.4, Display Driver: modesetting 1.20.4, OpenGL: 4.5 Mesa 19.0.2 (LLVM 8.0.0), Compiler: GCC 10.0.0 20190727, File-System: ext4, Screen Resolution: 3840x2160
Environment Notes: CXXFLAGS=-O3-march=znver2 CFLAGS=-O3-march=znver2
Compiler Notes: --disable-multilib --enable-checking=release
Processor Notes: Scaling Governor: acpi-cpufreq ondemand
Python Notes: Python 2.7.15+ + Python 3.6.8
Security Notes: 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 STIBP: always-on RSB filling
Testing initiated at 28 July 2019 06:10 by user phoronix.