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/1306150-PTS-INTELHAS05&rdt&grw.

Intel Haswell GCC 4.8 core-avx2 TuningProcessorMotherboardChipsetMemoryDiskGraphicsAudioMonitorNetworkOSKernelDesktopDisplay ServerDisplay DriverOpenGLCompilerFile-SystemScreen Resolutioncore-avx2core2corei7corei7-avxcore-avx-inoconaIntel Core i7-4770K @ 3.50GHz (8 Cores)Intel DH87RLIntel Haswell DRAM15360MB240GB OCZ VERTEX3Intel Haswell IGPIntel Haswell HDMIVA2431Intel Connection I217-VUbuntu 13.043.10.0-999-generic (x86_64)Unity 7.0.0X Server 1.13.3intel 2.21.93.0 Mesa 9.2.0-devel (git-a2e3b1c)GCC 4.8.1 + LLVM 3.2ext41920x1080OpenBenchmarking.orgCompiler Details- --enable-checking=release --enable-languages=c,c++,fortranProcessor Details- Scaling Governor: acpi- freq ondemand

Intel Haswell GCC 4.8 core-avx2 Tuningscimark2: Monte Carloscimark2: Fast Fourier Transformscimark2: Dense LU Matrix Factorizationbotan: Tigerbotan: AES-256botan: CAST-256hmmer: Pfam Database Searchhimeno: Poisson Pressure Solverbuild-imagemagick: Time To Compilebuild-linux-kernel: Time To Compilegraphics-magick: Blurgraphics-magick: Sharpengraphics-magick: Resizinggraphics-magick: Local Adaptive Thresholdingx264: H.264 Video Encodingc-ray: Total Timettsiod-renderer: Phong Rendering With Soft-Shadow Mappingffmpeg: H.264 HD To NTSC DVsmallpt: Global Illumination Renderer; 100 Samplesapache: Static Web Page Servingcore-avx2core2corei7corei7-avxcore-avx-inocona596.16226.571817.03424.56158.4395.7610.551282.3080.6697.25138136182121155.1817.02119.7813.012425644.10616.21250.931859.97438.87158.3595.8010.141564.2279.0397.6311784160120156.7422.95121.5813.162625606.17616.65249.111863.19427.31157.9695.5410.221560.1879.6497.7711684160120156.0622.95123.1412.932625490.14616.65251.861851.10442.47158.1995.7710.621404.9280.9198.1012296166119155.6322.84117.7112.862625580.44615.76247.351824.28440.37158.3195.7910.451630.1281.0697.8512296167120156.0822.83116.5413.002625549.84615.33245.071825.73438.78157.9795.4810.161517.0376.9897.8911583157118156.8023.07122.0212.942624888.11OpenBenchmarking.org

SciMark

Computational Test: Monte Carlo

OpenBenchmarking.orgMflops, More Is BetterSciMark 2.0Computational Test: Monte Carlocore-avx2core2corei7corei7-avxcore-avx-inocona130260390520650SE +/- 20.17, N = 8SE +/- 0.51, N = 4SE +/- 0.44, N = 4SE +/- 0.44, N = 4SE +/- 0.44, N = 4SE +/- 0.72, N = 4596.16616.21616.65616.65615.76615.33

SciMark

Computational Test: Fast Fourier Transform

OpenBenchmarking.orgMflops, More Is BetterSciMark 2.0Computational Test: Fast Fourier Transformcore-avx2core2corei7corei7-avxcore-avx-inocona60120180240300SE +/- 2.02, N = 4SE +/- 0.67, N = 4SE +/- 0.86, N = 4SE +/- 1.22, N = 4SE +/- 2.13, N = 4SE +/- 2.50, N = 4226.57250.93249.11251.86247.35245.07

SciMark

Computational Test: Dense LU Matrix Factorization

OpenBenchmarking.orgMflops, More Is BetterSciMark 2.0Computational Test: Dense LU Matrix Factorizationcore-avx2core2corei7corei7-avxcore-avx-inocona400800120016002000SE +/- 28.95, N = 4SE +/- 5.53, N = 4SE +/- 3.12, N = 4SE +/- 22.67, N = 4SE +/- 23.35, N = 4SE +/- 21.90, N = 41817.031859.971863.191851.101824.281825.73

Botan

Test: Tiger

OpenBenchmarking.orgMbytes/s, More Is BetterBotan 1.10.3Test: Tigercore-avx2core2corei7corei7-avxcore-avx-inocona100200300400500424.56438.87427.31442.47440.37438.781. (CXX) g++ options: -m64 -ldl -lpthread -lrt -O2

Botan

Test: AES-256

OpenBenchmarking.orgMbytes/s, More Is BetterBotan 1.10.3Test: AES-256core-avx2core2corei7corei7-avxcore-avx-inocona4080120160200158.43158.35157.96158.19158.31157.971. (CXX) g++ options: -m64 -ldl -lpthread -lrt -O2

Botan

Test: CAST-256

OpenBenchmarking.orgMbytes/s, More Is BetterBotan 1.10.3Test: CAST-256core-avx2core2corei7corei7-avxcore-avx-inocona2040608010095.7695.8095.5495.7795.7995.481. (CXX) g++ options: -m64 -ldl -lpthread -lrt -O2

Timed HMMer Search

Pfam Database Search

OpenBenchmarking.orgSeconds, Fewer Is BetterTimed HMMer Search 2.3.2Pfam Database Searchcore-avx2core2corei7corei7-avxcore-avx-inocona3691215SE +/- 0.17, N = 3SE +/- 0.01, N = 3SE +/- 0.06, N = 3SE +/- 0.02, N = 3SE +/- 0.04, N = 3SE +/- 0.06, N = 310.5510.1410.2210.6210.4510.16-march=core-avx2-march=core2-march=corei7-march=corei7-avx-march=core-avx-i-march=nocona1. (CC) gcc options: -O3 -pthread -lhmmer -lsquid -lm

Himeno Benchmark

Poisson Pressure Solver

OpenBenchmarking.orgMFLOPS, More Is BetterHimeno Benchmark 3.0Poisson Pressure Solvercore-avx2core2corei7corei7-avxcore-avx-inocona400800120016002000SE +/- 19.87, N = 6SE +/- 3.07, N = 3SE +/- 0.75, N = 3SE +/- 105.46, N = 6SE +/- 1.05, N = 3SE +/- 1.20, N = 31282.301564.221560.181404.921630.121517.03-march=core-avx2-march=core2-march=corei7-march=corei7-avx-march=core-avx-i-march=nocona1. (CC) gcc options: -O3

Timed ImageMagick Compilation

Time To Compile

OpenBenchmarking.orgSeconds, Fewer Is BetterTimed ImageMagick Compilation 6.8.1-10Time To Compilecore-avx2core2corei7corei7-avxcore-avx-inocona20406080100SE +/- 0.32, N = 3SE +/- 0.06, N = 3SE +/- 0.18, N = 3SE +/- 0.10, N = 3SE +/- 0.31, N = 3SE +/- 0.04, N = 380.6679.0379.6480.9181.0676.98

Timed Linux Kernel Compilation

Time To Compile

OpenBenchmarking.orgSeconds, Fewer Is BetterTimed Linux Kernel Compilation 3.1Time To Compilecore-avx2core2corei7corei7-avxcore-avx-inocona20406080100SE +/- 0.60, N = 3SE +/- 0.54, N = 3SE +/- 0.69, N = 3SE +/- 0.54, N = 3SE +/- 0.76, N = 3SE +/- 0.59, N = 397.2597.6397.7798.1097.8597.89

GraphicsMagick

Operation: Blur

OpenBenchmarking.orgIterations Per Minute, More Is BetterGraphicsMagick 1.3.16Operation: Blurcore-avx2core2corei7corei7-avxcore-avx-inocona306090120150SE +/- 0.88, N = 3SE +/- 0.00, N = 3SE +/- 1.00, N = 3SE +/- 1.00, N = 3SE +/- 0.67, N = 3SE +/- 0.00, N = 3138117116122122115-march=core-avx2-march=core2-march=corei7-march=corei7-avx-march=core-avx-i-march=nocona1. (CC) gcc options: -std=gnu99 -fopenmp -O3 -pthread -ljbig -ljpeg -lXext -lSM -lICE -lX11 -llzma -lbz2 -lz -lm -lpthread

GraphicsMagick

Operation: Sharpen

OpenBenchmarking.orgIterations Per Minute, More Is BetterGraphicsMagick 1.3.16Operation: Sharpencore-avx2core2corei7corei7-avxcore-avx-inocona306090120150SE +/- 0.00, N = 3SE +/- 0.00, N = 3SE +/- 0.00, N = 3SE +/- 0.00, N = 3SE +/- 0.00, N = 3SE +/- 0.00, N = 31368484969683-march=core-avx2-march=core2-march=corei7-march=corei7-avx-march=core-avx-i-march=nocona1. (CC) gcc options: -std=gnu99 -fopenmp -O3 -pthread -ljbig -ljpeg -lXext -lSM -lICE -lX11 -llzma -lbz2 -lz -lm -lpthread

GraphicsMagick

Operation: Resizing

OpenBenchmarking.orgIterations Per Minute, More Is BetterGraphicsMagick 1.3.16Operation: Resizingcore-avx2core2corei7corei7-avxcore-avx-inocona4080120160200SE +/- 0.33, N = 3SE +/- 0.00, N = 3SE +/- 0.00, N = 3SE +/- 0.33, N = 3SE +/- 0.00, N = 3SE +/- 0.33, N = 3182160160166167157-march=core-avx2-march=core2-march=corei7-march=corei7-avx-march=core-avx-i-march=nocona1. (CC) gcc options: -std=gnu99 -fopenmp -O3 -pthread -ljbig -ljpeg -lXext -lSM -lICE -lX11 -llzma -lbz2 -lz -lm -lpthread

GraphicsMagick

Operation: Local Adaptive Thresholding

OpenBenchmarking.orgIterations Per Minute, More Is BetterGraphicsMagick 1.3.16Operation: Local Adaptive Thresholdingcore-avx2core2corei7corei7-avxcore-avx-inocona306090120150SE +/- 0.00, N = 3SE +/- 0.33, N = 3SE +/- 0.00, N = 3SE +/- 0.00, N = 3SE +/- 0.33, N = 3SE +/- 0.33, N = 3121120120119120118-march=core-avx2-march=core2-march=corei7-march=corei7-avx-march=core-avx-i-march=nocona1. (CC) gcc options: -std=gnu99 -fopenmp -O3 -pthread -ljbig -ljpeg -lXext -lSM -lICE -lX11 -llzma -lbz2 -lz -lm -lpthread

x264

H.264 Video Encoding

OpenBenchmarking.orgFrames Per Second, More Is Betterx264 2013-06-08H.264 Video Encodingcore-avx2core2corei7corei7-avxcore-avx-inocona306090120150SE +/- 0.90, N = 5SE +/- 0.55, N = 5SE +/- 0.51, N = 5SE +/- 0.20, N = 5SE +/- 0.50, N = 5SE +/- 0.30, N = 5155.18156.74156.06155.63156.08156.80-march=core-avx2-march=core2-march=corei7-march=corei7-avx-march=core-avx-i-march=nocona1. (CC) gcc options: -ldl -m64 -lm -lpthread -O3 -ffast-math -std=gnu99 -fomit-frame-pointer -fno-tree-vectorize

C-Ray

Total Time

OpenBenchmarking.orgSeconds, Fewer Is BetterC-Ray 1.1Total Timecore-avx2core2corei7corei7-avxcore-avx-inocona612182430SE +/- 0.00, N = 3SE +/- 0.01, N = 3SE +/- 0.01, N = 3SE +/- 0.01, N = 3SE +/- 0.00, N = 3SE +/- 0.02, N = 317.0222.9522.9522.8422.8323.07-march=core-avx2-march=core2-march=corei7-march=corei7-avx-march=core-avx-i-march=nocona1. (CC) gcc options: -lm -lpthread -O3

TTSIOD 3D Renderer

Phong Rendering With Soft-Shadow Mapping

OpenBenchmarking.orgFPS, More Is BetterTTSIOD 3D Renderer 2.2zPhong Rendering With Soft-Shadow Mappingcore-avx2core2corei7corei7-avxcore-avx-inocona306090120150SE +/- 0.09, N = 3SE +/- 0.76, N = 3SE +/- 0.45, N = 3SE +/- 0.66, N = 3SE +/- 0.36, N = 3SE +/- 0.39, N = 3119.78121.58123.14117.71116.54122.02-march=core-avx2-march=core2-march=corei7-march=corei7-avx-march=core-avx-i-march=nocona1. (CXX) g++ options: -O3 -fomit-frame-pointer -ffast-math -mtune=native -flto -msse -mrecip -mfpmath=sse -msse2 -mssse3 -lSDL -lstdc++

FFmpeg

H.264 HD To NTSC DV

OpenBenchmarking.orgSeconds, Fewer Is BetterFFmpeg 1.1H.264 HD To NTSC DVcore-avx2core2corei7corei7-avxcore-avx-inocona3691215SE +/- 0.12, N = 3SE +/- 0.09, N = 3SE +/- 0.01, N = 3SE +/- 0.06, N = 3SE +/- 0.05, N = 3SE +/- 0.07, N = 313.0113.1612.9312.8613.0012.94-march=core-avx2-march=core2-march=corei7-march=corei7-avx-march=core-avx-i-march=nocona1. (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

Smallpt

Global Illumination Renderer; 100 Samples

OpenBenchmarking.orgSeconds, Fewer Is BetterSmallpt 1.0Global Illumination Renderer; 100 Samplescore-avx2core2corei7corei7-avxcore-avx-inocona612182430SE +/- 0.33, N = 3SE +/- 0.00, N = 3SE +/- 0.33, N = 3SE +/- 0.33, N = 3SE +/- 0.33, N = 3SE +/- 0.00, N = 3242626262626-march=core-avx2-march=core2-march=corei7-march=corei7-avx-march=core-avx-i-march=nocona1. (CXX) g++ options: -fopenmp -O3

Apache Benchmark

Static Web Page Serving

OpenBenchmarking.orgRequests Per Second, More Is BetterApache Benchmark 2.4.3Static Web Page Servingcore-avx2core2corei7corei7-avxcore-avx-inocona5K10K15K20K25KSE +/- 170.85, N = 3SE +/- 229.80, N = 3SE +/- 193.34, N = 3SE +/- 178.37, N = 3SE +/- 126.25, N = 3SE +/- 107.43, N = 325644.1025606.1725490.1425580.4425549.8424888.11-march=core-avx2-march=core2-march=corei7-march=corei7-avx-march=core-avx-i-march=nocona1. (CC) gcc options: -shared -fPIC -pthread -O3


Phoronix Test Suite v10.8.5