Intel Haswell GCC 4.8 core-avx2 Tuning Testing Intel Core i7 4770K with different CFLAGS/CXXFLAGS to look at the core-avx2 Haswell GCC 4.8.1 compiler optimizations. Benchmarks by Michael Larabel of Phoronix for a future article.
HTML result view exported from: https://openbenchmarking.org/result/1309136-DARK-130615072&rdt&grs .
Intel Haswell GCC 4.8 core-avx2 Tuning Processor Motherboard Chipset Memory Disk Graphics Audio Monitor Network OS Kernel Desktop Display Server Display Driver OpenGL Compiler File-System Screen Resolution core-avx2 core2 corei7 corei7-avx core-avx-i nocona test Intel Core i7-4770K @ 3.50GHz (8 Cores) Intel DH87RL Intel Haswell DRAM 15360MB 240GB OCZ VERTEX3 Intel Haswell IGP Intel Haswell HDMI VA2431 Intel Connection I217-V Ubuntu 13.04 3.10.0-999-generic (x86_64) Unity 7.0.0 X Server 1.13.3 intel 2.21.9 3.0 Mesa 9.2.0-devel (git-a2e3b1c) GCC 4.8.1 + LLVM 3.2 ext4 1920x1080 Intel Core i7-3770K @ 3.90GHz (8 Cores) ASRock Z77 Pro4-M 16384MB 256GB OCZ VECTOR + 2 x 1000GB SAMSUNG HD103UJ + 80GB INTEL SSDSA2M080 Gallium 0.4 on AMD TAHITI 3072MB (810/1250MHz) LCD3090WQXi Gentoo Base 2.2 3.11.0-drmfixes20130912-core-avx-i (x86_64) KDE X Server 1.14.2.902 (1.14.3 RC 2) radeon 7.2.99 3.0 Mesa 9.3.0-devel (git-f4e35f8) Gallium 0.4 GCC 4.8.1 + Clang 3.4 + LLVM 3.4svn 2560x1600 OpenBenchmarking.org Compiler Details - core-avx2: --enable-checking=release --enable-languages=c,c++,fortran - core2: --enable-checking=release --enable-languages=c,c++,fortran - corei7: --enable-checking=release --enable-languages=c,c++,fortran - corei7-avx: --enable-checking=release --enable-languages=c,c++,fortran - core-avx-i: --enable-checking=release --enable-languages=c,c++,fortran - nocona: --enable-checking=release --enable-languages=c,c++,fortran - test: --bindir=/usr/x86_64-pc-linux-gnu/gcc-bin/4.8.1 --build=x86_64-pc-linux-gnu --datadir=/usr/share/gcc-data/x86_64-pc-linux-gnu/4.8.1 --disable-altivec --disable-fixed-point --disable-isl-version-check --disable-libgcj --disable-libssp --disable-lto --disable-werror --enable-__cxa_atexit --enable-checking=release --enable-clocale=gnu --enable-languages=c,c++,fortran --enable-libgomp --enable-libmudflap --enable-libstdcxx-time --enable-multilib --enable-nls --enable-obsolete --enable-secureplt --enable-shared --enable-targets=all --enable-threads=posix --host=x86_64-pc-linux-gnu --includedir=/usr/lib/gcc/x86_64-pc-linux-gnu/4.8.1/include --mandir=/usr/share/gcc-data/x86_64-pc-linux-gnu/4.8.1/man --with-cloog --with-multilib-list=m32,m64 --with-python-dir=/share/gcc-data/x86_64-pc-linux-gnu/4.8.1/python Processor Details - core-avx2: Scaling Governor: acpi- freq ondemand - core2: Scaling Governor: acpi- freq ondemand - corei7: Scaling Governor: acpi- freq ondemand - corei7-avx: Scaling Governor: acpi- freq ondemand - core-avx-i: Scaling Governor: acpi- freq ondemand - nocona: Scaling Governor: acpi- freq ondemand - test: Scaling Governor: intel_pstate powersave
Intel Haswell GCC 4.8 core-avx2 Tuning smallpt: Global Illumination Renderer; 100 Samples graphics-magick: Sharpen c-ray: Total Time scimark2: Fast Fourier Transform build-imagemagick: Time To Compile himeno: Poisson Pressure Solver scimark2: Dense LU Matrix Factorization ttsiod-renderer: Phong Rendering With Soft-Shadow Mapping graphics-magick: Blur graphics-magick: Resizing scimark2: Monte Carlo ffmpeg: H.264 HD To NTSC DV build-linux-kernel: Time To Compile apache: Static Web Page Serving hmmer: Pfam Database Search graphics-magick: Local Adaptive Thresholding botan: Tiger x264: H.264 Video Encoding botan: CAST-256 botan: AES-256 core-avx2 core2 corei7 corei7-avx core-avx-i nocona test 24 136 17.02 226.57 80.66 1282.30 1817.03 119.78 138 182 596.16 13.01 97.25 25644.10 10.55 121 424.56 155.18 95.76 158.43 26 84 22.95 250.93 79.03 1564.22 1859.97 121.58 117 160 616.21 13.16 97.63 25606.17 10.14 120 438.87 156.74 95.80 158.35 26 84 22.95 249.11 79.64 1560.18 1863.19 123.14 116 160 616.65 12.93 97.77 25490.14 10.22 120 427.31 156.06 95.54 157.96 26 96 22.84 251.86 80.91 1404.92 1851.10 117.71 122 166 616.65 12.86 98.10 25580.44 10.62 119 442.47 155.63 95.77 158.19 26 96 22.83 247.35 81.06 1630.12 1824.28 116.54 122 167 615.76 13.00 97.85 25549.84 10.45 120 440.37 156.08 95.79 158.31 26 83 23.07 245.07 76.98 1517.03 1825.73 122.02 115 157 615.33 12.94 97.89 24888.11 10.16 118 438.78 156.80 95.48 157.97 87 83 27.78 339.88 59.51 1686.65 2386.29 148.75 132 161 553.48 11.86 89.94 23897.32 10.13 123 158.19 OpenBenchmarking.org
Smallpt Global Illumination Renderer; 100 Samples OpenBenchmarking.org Seconds, Fewer Is Better Smallpt 1.0 Global Illumination Renderer; 100 Samples core-avx2 core2 corei7 corei7-avx core-avx-i nocona test 20 40 60 80 100 SE +/- 0.33, N = 3 SE +/- 0.00, N = 3 SE +/- 0.33, N = 3 SE +/- 0.33, N = 3 SE +/- 0.33, N = 3 SE +/- 0.00, N = 3 SE +/- 0.00, N = 3 24 26 26 26 26 26 87 -O3 -march=core-avx2 -O3 -march=core2 -O3 -march=corei7 -O3 -march=corei7-avx -O3 -march=core-avx-i -O3 -march=nocona 1. (CXX) g++ options: -fopenmp
GraphicsMagick Operation: Sharpen OpenBenchmarking.org Iterations Per Minute, More Is Better GraphicsMagick 1.3.16 Operation: Sharpen core-avx2 core2 corei7 corei7-avx core-avx-i nocona test 30 60 90 120 150 SE +/- 0.00, N = 3 SE +/- 0.00, N = 3 SE +/- 0.00, N = 3 SE +/- 0.00, N = 3 SE +/- 0.00, N = 3 SE +/- 0.00, N = 3 SE +/- 0.00, N = 3 136 84 84 96 96 83 83 -O3 -march=core-avx2 -ljbig -O3 -march=core2 -ljbig -O3 -march=corei7 -ljbig -O3 -march=corei7-avx -ljbig -O3 -march=core-avx-i -ljbig -O3 -march=nocona -ljbig -O2 -llcms2 -ltiff -lfreetype -lxml2 -lrt 1. (CC) gcc options: -std=gnu99 -fopenmp -pthread -ljpeg -lXext -lSM -lICE -lX11 -llzma -lbz2 -lz -lm -lpthread
C-Ray Total Time OpenBenchmarking.org Seconds, Fewer Is Better C-Ray 1.1 Total Time core-avx2 core2 corei7 corei7-avx core-avx-i nocona test 7 14 21 28 35 SE +/- 0.00, N = 3 SE +/- 0.01, N = 3 SE +/- 0.01, N = 3 SE +/- 0.01, N = 3 SE +/- 0.00, N = 3 SE +/- 0.02, N = 3 SE +/- 0.00, N = 3 17.02 22.95 22.95 22.84 22.83 23.07 27.78 -march=core-avx2 -march=core2 -march=corei7 -march=corei7-avx -march=core-avx-i -march=nocona 1. (CC) gcc options: -lm -lpthread -O3
SciMark Computational Test: Fast Fourier Transform OpenBenchmarking.org Mflops, More Is Better SciMark 2.0 Computational Test: Fast Fourier Transform core-avx2 core2 corei7 corei7-avx core-avx-i nocona test 70 140 210 280 350 SE +/- 2.02, N = 4 SE +/- 0.67, N = 4 SE +/- 0.86, N = 4 SE +/- 1.22, N = 4 SE +/- 2.13, N = 4 SE +/- 2.50, N = 4 SE +/- 0.34, N = 4 226.57 250.93 249.11 251.86 247.35 245.07 339.88
Timed ImageMagick Compilation Time To Compile OpenBenchmarking.org Seconds, Fewer Is Better Timed ImageMagick Compilation 6.8.1-10 Time To Compile core-avx2 core2 corei7 corei7-avx core-avx-i nocona test 20 40 60 80 100 SE +/- 0.32, N = 3 SE +/- 0.06, N = 3 SE +/- 0.18, N = 3 SE +/- 0.10, N = 3 SE +/- 0.31, N = 3 SE +/- 0.04, N = 3 SE +/- 0.08, N = 3 80.66 79.03 79.64 80.91 81.06 76.98 59.51
Himeno Benchmark Poisson Pressure Solver OpenBenchmarking.org MFLOPS, More Is Better Himeno Benchmark 3.0 Poisson Pressure Solver core-avx2 core2 corei7 corei7-avx core-avx-i nocona test 400 800 1200 1600 2000 SE +/- 19.87, N = 6 SE +/- 3.07, N = 3 SE +/- 0.75, N = 3 SE +/- 105.46, N = 6 SE +/- 1.05, N = 3 SE +/- 1.20, N = 3 SE +/- 0.98, N = 3 1282.30 1564.22 1560.18 1404.92 1630.12 1517.03 1686.65 -march=core-avx2 -march=core2 -march=corei7 -march=corei7-avx -march=core-avx-i -march=nocona 1. (CC) gcc options: -O3
SciMark Computational Test: Dense LU Matrix Factorization OpenBenchmarking.org Mflops, More Is Better SciMark 2.0 Computational Test: Dense LU Matrix Factorization core-avx2 core2 corei7 corei7-avx core-avx-i nocona test 500 1000 1500 2000 2500 SE +/- 28.95, N = 4 SE +/- 5.53, N = 4 SE +/- 3.12, N = 4 SE +/- 22.67, N = 4 SE +/- 23.35, N = 4 SE +/- 21.90, N = 4 SE +/- 3.08, N = 4 1817.03 1859.97 1863.19 1851.10 1824.28 1825.73 2386.29
TTSIOD 3D Renderer Phong Rendering With Soft-Shadow Mapping OpenBenchmarking.org FPS, More Is Better TTSIOD 3D Renderer 2.2z Phong Rendering With Soft-Shadow Mapping core-avx2 core2 corei7 corei7-avx core-avx-i nocona test 30 60 90 120 150 SE +/- 0.09, N = 3 SE +/- 0.76, N = 3 SE +/- 0.45, N = 3 SE +/- 0.66, N = 3 SE +/- 0.36, N = 3 SE +/- 0.39, N = 3 SE +/- 0.27, N = 3 119.78 121.58 123.14 117.71 116.54 122.02 148.75 -march=core-avx2 -flto -march=core2 -flto -march=corei7 -flto -march=corei7-avx -flto -march=core-avx-i -flto -march=nocona -flto -lpthread 1. (CXX) g++ options: -O3 -fomit-frame-pointer -ffast-math -mtune=native -msse -mrecip -mfpmath=sse -msse2 -mssse3 -lSDL -lstdc++
GraphicsMagick Operation: Blur OpenBenchmarking.org Iterations Per Minute, More Is Better GraphicsMagick 1.3.16 Operation: Blur core-avx2 core2 corei7 corei7-avx core-avx-i nocona test 30 60 90 120 150 SE +/- 0.88, N = 3 SE +/- 0.00, N = 3 SE +/- 1.00, N = 3 SE +/- 1.00, N = 3 SE +/- 0.67, N = 3 SE +/- 0.00, N = 3 SE +/- 0.00, N = 3 138 117 116 122 122 115 132 -O3 -march=core-avx2 -ljbig -O3 -march=core2 -ljbig -O3 -march=corei7 -ljbig -O3 -march=corei7-avx -ljbig -O3 -march=core-avx-i -ljbig -O3 -march=nocona -ljbig -O2 -llcms2 -ltiff -lfreetype -lxml2 -lrt 1. (CC) gcc options: -std=gnu99 -fopenmp -pthread -ljpeg -lXext -lSM -lICE -lX11 -llzma -lbz2 -lz -lm -lpthread
GraphicsMagick Operation: Resizing OpenBenchmarking.org Iterations Per Minute, More Is Better GraphicsMagick 1.3.16 Operation: Resizing core-avx2 core2 corei7 corei7-avx core-avx-i nocona test 40 80 120 160 200 SE +/- 0.33, N = 3 SE +/- 0.00, N = 3 SE +/- 0.00, N = 3 SE +/- 0.33, N = 3 SE +/- 0.00, N = 3 SE +/- 0.33, N = 3 SE +/- 0.33, N = 3 182 160 160 166 167 157 161 -O3 -march=core-avx2 -ljbig -O3 -march=core2 -ljbig -O3 -march=corei7 -ljbig -O3 -march=corei7-avx -ljbig -O3 -march=core-avx-i -ljbig -O3 -march=nocona -ljbig -O2 -llcms2 -ltiff -lfreetype -lxml2 -lrt 1. (CC) gcc options: -std=gnu99 -fopenmp -pthread -ljpeg -lXext -lSM -lICE -lX11 -llzma -lbz2 -lz -lm -lpthread
SciMark Computational Test: Monte Carlo OpenBenchmarking.org Mflops, More Is Better SciMark 2.0 Computational Test: Monte Carlo core-avx2 core2 corei7 corei7-avx core-avx-i nocona test 130 260 390 520 650 SE +/- 20.17, N = 8 SE +/- 0.51, N = 4 SE +/- 0.44, N = 4 SE +/- 0.44, N = 4 SE +/- 0.44, N = 4 SE +/- 0.72, N = 4 SE +/- 0.00, N = 4 596.16 616.21 616.65 616.65 615.76 615.33 553.48
FFmpeg H.264 HD To NTSC DV OpenBenchmarking.org Seconds, Fewer Is Better FFmpeg 1.1 H.264 HD To NTSC DV core-avx2 core2 corei7 corei7-avx core-avx-i nocona test 3 6 9 12 15 SE +/- 0.12, N = 3 SE +/- 0.09, N = 3 SE +/- 0.01, N = 3 SE +/- 0.06, N = 3 SE +/- 0.05, N = 3 SE +/- 0.07, N = 3 SE +/- 0.06, N = 3 13.01 13.16 12.93 12.86 13.00 12.94 11.86 -march=core-avx2 -march=core2 -march=corei7 -march=corei7-avx -march=core-avx-i -march=nocona -lva -lpthread -lrt 1. (CC) gcc options: -lavdevice -lavfilter -lavformat -lavcodec -lswresample -lswscale -lavutil -ldl -lasound -lSDL -lm -pthread -lbz2 -O3 -std=c99 -fomit-frame-pointer -fno-math-errno -fno-signed-zeros -fno-tree-vectorize -MMD -MF -MT
Timed Linux Kernel Compilation Time To Compile OpenBenchmarking.org Seconds, Fewer Is Better Timed Linux Kernel Compilation 3.1 Time To Compile core-avx2 core2 corei7 corei7-avx core-avx-i nocona test 20 40 60 80 100 SE +/- 0.60, N = 3 SE +/- 0.54, N = 3 SE +/- 0.69, N = 3 SE +/- 0.54, N = 3 SE +/- 0.76, N = 3 SE +/- 0.59, N = 3 SE +/- 0.79, N = 3 97.25 97.63 97.77 98.10 97.85 97.89 89.94
Apache Benchmark Static Web Page Serving OpenBenchmarking.org Requests Per Second, More Is Better Apache Benchmark 2.4.3 Static Web Page Serving core-avx2 core2 corei7 corei7-avx core-avx-i nocona test 5K 10K 15K 20K 25K SE +/- 170.85, N = 3 SE +/- 229.80, N = 3 SE +/- 193.34, N = 3 SE +/- 178.37, N = 3 SE +/- 126.25, N = 3 SE +/- 107.43, N = 3 SE +/- 94.17, N = 3 25644.10 25606.17 25490.14 25580.44 25549.84 24888.11 23897.32 -O3 -march=core-avx2 -O3 -march=core2 -O3 -march=corei7 -O3 -march=corei7-avx -O3 -march=core-avx-i -O3 -march=nocona -O2 1. (CC) gcc options: -shared -fPIC -pthread
Timed HMMer Search Pfam Database Search OpenBenchmarking.org Seconds, Fewer Is Better Timed HMMer Search 2.3.2 Pfam Database Search core-avx2 core2 corei7 corei7-avx core-avx-i nocona test 3 6 9 12 15 SE +/- 0.17, N = 3 SE +/- 0.01, N = 3 SE +/- 0.06, N = 3 SE +/- 0.02, N = 3 SE +/- 0.04, N = 3 SE +/- 0.06, N = 3 SE +/- 0.03, N = 3 10.55 10.14 10.22 10.62 10.45 10.16 10.13 -O3 -march=core-avx2 -O3 -march=core2 -O3 -march=corei7 -O3 -march=corei7-avx -O3 -march=core-avx-i -O3 -march=nocona -O2 1. (CC) gcc options: -pthread -lhmmer -lsquid -lm
GraphicsMagick Operation: Local Adaptive Thresholding OpenBenchmarking.org Iterations Per Minute, More Is Better GraphicsMagick 1.3.16 Operation: Local Adaptive Thresholding core-avx2 core2 corei7 corei7-avx core-avx-i nocona test 30 60 90 120 150 SE +/- 0.00, N = 3 SE +/- 0.33, N = 3 SE +/- 0.00, N = 3 SE +/- 0.00, N = 3 SE +/- 0.33, N = 3 SE +/- 0.33, N = 3 SE +/- 0.33, N = 3 121 120 120 119 120 118 123 -O3 -march=core-avx2 -ljbig -O3 -march=core2 -ljbig -O3 -march=corei7 -ljbig -O3 -march=corei7-avx -ljbig -O3 -march=core-avx-i -ljbig -O3 -march=nocona -ljbig -O2 -llcms2 -ltiff -lfreetype -lxml2 -lrt 1. (CC) gcc options: -std=gnu99 -fopenmp -pthread -ljpeg -lXext -lSM -lICE -lX11 -llzma -lbz2 -lz -lm -lpthread
Botan Test: Tiger OpenBenchmarking.org Mbytes/s, More Is Better Botan 1.10.3 Test: Tiger core-avx2 core2 corei7 corei7-avx core-avx-i nocona 100 200 300 400 500 424.56 438.87 427.31 442.47 440.37 438.78 1. (CXX) g++ options: -m64 -ldl -lpthread -lrt -O2
x264 H.264 Video Encoding OpenBenchmarking.org Frames Per Second, More Is Better x264 2013-06-08 H.264 Video Encoding core-avx2 core2 corei7 corei7-avx core-avx-i nocona test 30 60 90 120 150 SE +/- 0.90, N = 5 SE +/- 0.55, N = 5 SE +/- 0.51, N = 5 SE +/- 0.20, N = 5 SE +/- 0.50, N = 5 SE +/- 0.30, N = 5 SE +/- 0.52, N = 5 155.18 156.74 156.06 155.63 156.08 156.80 158.19 -march=core-avx2 -march=core2 -march=corei7 -march=corei7-avx -march=core-avx-i -march=nocona -lavformat -lavcodec -lavutil -lswscale 1. (CC) gcc options: -ldl -m64 -lm -lpthread -O3 -ffast-math -std=gnu99 -fomit-frame-pointer -fno-tree-vectorize
Botan Test: CAST-256 OpenBenchmarking.org Mbytes/s, More Is Better Botan 1.10.3 Test: CAST-256 core-avx2 core2 corei7 corei7-avx core-avx-i nocona 20 40 60 80 100 95.76 95.80 95.54 95.77 95.79 95.48 1. (CXX) g++ options: -m64 -ldl -lpthread -lrt -O2
Botan Test: AES-256 OpenBenchmarking.org Mbytes/s, More Is Better Botan 1.10.3 Test: AES-256 core-avx2 core2 corei7 corei7-avx core-avx-i nocona 40 80 120 160 200 158.43 158.35 157.96 158.19 158.31 157.97 1. (CXX) g++ options: -m64 -ldl -lpthread -lrt -O2
Phoronix Test Suite v10.8.4