LLVM Clang 3.2 Loop Vectorizer

Intel Core i7-3960X testing of the automatic loop vectorizer in LLVM 3.2 with the Clang compiler. Benchmarking by Michael Larabel for a future article on phoronix.com.

Compare your own system(s) to this result file with the Phoronix Test Suite by running the command: phoronix-test-suite benchmark 1210278-BY-1210264RA90
Jump To Table - Results

View

Do Not Show Noisy Results
Do Not Show Results With Incomplete Data
Do Not Show Results With Little Change/Spread
List Notable Results

Limit displaying results to tests within:

Bioinformatics 2 Tests
C/C++ Compiler Tests 5 Tests
CPU Massive 5 Tests
Creator Workloads 3 Tests
HPC - High Performance Computing 2 Tests
Multi-Core 4 Tests
Renderers 2 Tests
Scientific Computing 2 Tests
Server CPU Tests 2 Tests

Statistics

Show Overall Harmonic Mean(s)
Show Overall Geometric Mean
Show Geometric Means Per-Suite/Category
Show Wins / Losses Counts (Pie Chart)
Normalize Results
Remove Outliers Before Calculating Averages

Graph Settings

Force Line Graphs Where Applicable
Convert To Scalar Where Applicable
Prefer Vertical Bar Graphs

Additional Graphs

Show Perf Per Core/Thread Calculation Graphs Where Applicable

Multi-Way Comparison

Condense Multi-Option Tests Into Single Result Graphs

Table

Show Detailed System Result Table

Run Management

Highlight
Result
Hide
Result
Result
Identifier
View Logs
Performance Per
Dollar
Date
Run
  Test
  Duration
Default
October 26 2012
 
Loop Vectorization
October 26 2012
 
2012-10-27 15:48
October 27 2012
 
Invert Hiding All Results Option
 

Only show results where is faster than
Only show results matching title/arguments (delimit multiple options with a comma):
Do not show results matching title/arguments (delimit multiple options with a comma):


LLVM Clang 3.2 Loop VectorizerProcessorMotherboardChipsetMemoryDiskGraphicsAudioMonitorNetworkOSKernelDesktopDisplay ServerDisplay DriverOpenGLCompilerFile-SystemScreen ResolutionDefaultLoop Vectorization2012-10-27 15:48Intel Core i7-3960X @ 3.30GHz (12 Cores)Intel DX79SIIntel Xeon E5/Core8192MB64GB OCZ VERTEXAMD Radeon HD 4650 512MBRealtek ALC892DELL S2409WIntel 82579LM Gigabit ConnectionUbuntu 12.103.5.0-17-generic (x86_64)Unity 6.8.0X Server 1.13.0radeon 6.99.992.1 Mesa 9.0 Gallium 0.4Clang 3.2 (SVN 166775) + LLVM 3.2svnext41920x1080AMD Athlon II X3 455 @ 3.30GHz (3 Cores)Gigabyte GA-MA790X-DS4AMD nee ATI RD780 + SB6004096MB500GB Seagate ST3500418AS + 250GB 2500BEV External + 500GB My Passport 0730ATI Radeon HD 3800 512MB (851/1143MHz)Realtek ALC889AASUS VH242HRealtek RTL8111/8168B + Ralink RT3060 Wireless 802.11n 1T/1RSUSE LINUX 12.23.4.11-2.16-desktop (x86_64)KDE 4.8.5X Server 1.12.3fglrx 8.97.23.3.11653GCC 4.7btrfsOpenBenchmarking.orgCompiler Details- Default: Optimized build; Built Oct 26 2012 (10:29:50); Default target: x86_64-unknown-linux-gnu; Host CPU: corei7-avx- Loop Vectorization: Optimized build; Built Oct 26 2012 (10:29:50); Default target: x86_64-unknown-linux-gnu; Host CPU: corei7-avx- 2012-10-27 15:48: --build=x86_64-suse-linux --disable-libgcj --disable-libitm --disable-libmudflap --disable-libssp --disable-libstdcxx-pch --disable-plugin --enable-__cxa_atexit --enable-checking=release --enable-languages=c,c++,objc,fortran,obj-c++,java,ada --enable-libstdcxx-allocator=new --enable-linux-futex --enable-ssp --enable-version-specific-runtime-libs --mandir=/usr/share/man --with-arch-32=i586 --with-slibdir=/lib64 --with-tune=generic --without-system-libunwind Processor Details- Default, Loop Vectorization: Scaling Governor: ondemandSystem Details- Default, Loop Vectorization: Compiz was running on this system.

DefaultLoop Vectorization2012-10-27 15:48Logarithmic Result OverviewPhoronix Test SuiteC-RayHimeno BenchmarkPostgreSQL pgbenchSmallptTimed HMMer SearchTotal TimeP.P.ST.B.T.P.SG.I.R.1.SP.D.S

LLVM Clang 3.2 Loop Vectorizerhmmer: Pfam Database Searchgraphics-magick: Blurgraphics-magick: Sharpengraphics-magick: Resizinggraphics-magick: HWB Color Spacegraphics-magick: Local Adaptive Thresholdinghimeno: Poisson Pressure Solverc-ray: Total Timesmallpt: Global Illumination Renderer; 100 Samplespgbench: TPC-B Transactions Per SecondDefaultLoop Vectorization2012-10-27 15:4815.35823189123441595.3520.92153324.7715.37733184122201554.6623.15157336.6525.61619.3680.8626520.85OpenBenchmarking.org

Timed HMMer Search

This test searches through the Pfam database of profile hidden markov models. The search finds the domain structure of Drosophila Sevenless protein. Learn more via the OpenBenchmarking.org test page.

OpenBenchmarking.orgSeconds, Fewer Is BetterTimed HMMer Search 2.3.2Pfam Database SearchDefaultLoop Vectorization2012-10-27 15:48612182430SE +/- 0.05, N = 3SE +/- 0.02, N = 3SE +/- 0.46, N = 315.3515.3725.61-O3 -march=native-O3 -march=native -mllvm -vectorize-O21. (CC) gcc options: -pthread -lhmmer -lsquid -lm
OpenBenchmarking.orgSeconds, Fewer Is BetterTimed HMMer Search 2.3.2Pfam Database SearchDefaultLoop Vectorization2012-10-27 15:48612182430Min: 15.29 / Avg: 15.35 / Max: 15.46Min: 15.35 / Avg: 15.37 / Max: 15.41Min: 24.69 / Avg: 25.61 / Max: 26.11. (CC) gcc options: -pthread -lhmmer -lsquid -lm

GraphicsMagick

OpenBenchmarking.orgIterations Per Minute, More Is BetterGraphicsMagick 1.3.16Operation: BlurDefaultLoop Vectorization20406080100SE +/- 0.00, N = 3SE +/- 0.00, N = 38273-mllvm -vectorize -lpng121. (CC) gcc options: -O3 -march=native -pthread -lXext -lX11 -lz -lm -lpthread
OpenBenchmarking.orgIterations Per Minute, More Is BetterGraphicsMagick 1.3.16Operation: BlurDefaultLoop Vectorization1632486480Min: 82 / Avg: 82 / Max: 82Min: 73 / Avg: 73 / Max: 731. (CC) gcc options: -O3 -march=native -pthread -lXext -lX11 -lz -lm -lpthread

OpenBenchmarking.orgIterations Per Minute, More Is BetterGraphicsMagick 1.3.16Operation: SharpenDefaultLoop Vectorization714212835SE +/- 0.00, N = 3SE +/- 0.00, N = 33131-mllvm -vectorize -lpng121. (CC) gcc options: -O3 -march=native -pthread -lXext -lX11 -lz -lm -lpthread
OpenBenchmarking.orgIterations Per Minute, More Is BetterGraphicsMagick 1.3.16Operation: SharpenDefaultLoop Vectorization714212835Min: 31 / Avg: 31 / Max: 31Min: 31 / Avg: 31 / Max: 311. (CC) gcc options: -O3 -march=native -pthread -lXext -lX11 -lz -lm -lpthread

OpenBenchmarking.orgIterations Per Minute, More Is BetterGraphicsMagick 1.3.16Operation: ResizingDefaultLoop Vectorization20406080100SE +/- 0.00, N = 3SE +/- 0.00, N = 38984-mllvm -vectorize -lpng121. (CC) gcc options: -O3 -march=native -pthread -lXext -lX11 -lz -lm -lpthread
OpenBenchmarking.orgIterations Per Minute, More Is BetterGraphicsMagick 1.3.16Operation: ResizingDefaultLoop Vectorization20406080100Min: 89 / Avg: 89 / Max: 89Min: 84 / Avg: 84 / Max: 841. (CC) gcc options: -O3 -march=native -pthread -lXext -lX11 -lz -lm -lpthread

OpenBenchmarking.orgIterations Per Minute, More Is BetterGraphicsMagick 1.3.16Operation: HWB Color SpaceDefaultLoop Vectorization306090120150SE +/- 0.00, N = 3SE +/- 0.33, N = 3123122-mllvm -vectorize -lpng121. (CC) gcc options: -O3 -march=native -pthread -lXext -lX11 -lz -lm -lpthread
OpenBenchmarking.orgIterations Per Minute, More Is BetterGraphicsMagick 1.3.16Operation: HWB Color SpaceDefaultLoop Vectorization20406080100Min: 123 / Avg: 123 / Max: 123Min: 121 / Avg: 121.67 / Max: 1221. (CC) gcc options: -O3 -march=native -pthread -lXext -lX11 -lz -lm -lpthread

OpenBenchmarking.orgIterations Per Minute, More Is BetterGraphicsMagick 1.3.16Operation: Local Adaptive ThresholdingDefaultLoop Vectorization1020304050SE +/- 0.00, N = 3SE +/- 0.00, N = 34420-mllvm -vectorize -lpng121. (CC) gcc options: -O3 -march=native -pthread -lXext -lX11 -lz -lm -lpthread
OpenBenchmarking.orgIterations Per Minute, More Is BetterGraphicsMagick 1.3.16Operation: Local Adaptive ThresholdingDefaultLoop Vectorization918273645Min: 44 / Avg: 44 / Max: 44Min: 20 / Avg: 20 / Max: 201. (CC) gcc options: -O3 -march=native -pthread -lXext -lX11 -lz -lm -lpthread

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.

OpenBenchmarking.orgMFLOPS, More Is BetterHimeno Benchmark 3.0Poisson Pressure SolverDefaultLoop Vectorization2012-10-27 15:4830060090012001500SE +/- 3.05, N = 3SE +/- 6.98, N = 3SE +/- 0.87, N = 31595.351554.66619.36-march=native-march=native -mllvm -vectorize1. (CC) gcc options: -O3
OpenBenchmarking.orgMFLOPS, More Is BetterHimeno Benchmark 3.0Poisson Pressure SolverDefaultLoop Vectorization2012-10-27 15:4830060090012001500Min: 1589.3 / Avg: 1595.35 / Max: 1599.03Min: 1542.56 / Avg: 1554.66 / Max: 1566.74Min: 618.1 / Avg: 619.36 / Max: 621.031. (CC) gcc options: -O3

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.

OpenBenchmarking.orgSeconds, Fewer Is BetterC-Ray 1.1Total TimeDefaultLoop Vectorization2012-10-27 15:4820406080100SE +/- 0.03, N = 3SE +/- 0.04, N = 3SE +/- 0.08, N = 320.9223.1580.86-march=native-march=native -mllvm -vectorize1. (CC) gcc options: -lm -lpthread -O3
OpenBenchmarking.orgSeconds, Fewer Is BetterC-Ray 1.1Total TimeDefaultLoop Vectorization2012-10-27 15:481530456075Min: 20.89 / Avg: 20.92 / Max: 20.97Min: 23.11 / Avg: 23.15 / Max: 23.23Min: 80.71 / Avg: 80.86 / Max: 80.961. (CC) gcc options: -lm -lpthread -O3

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.

OpenBenchmarking.orgSeconds, Fewer Is BetterSmallpt 1.0Global Illumination Renderer; 100 SamplesDefaultLoop Vectorization2012-10-27 15:4860120180240300SE +/- 0.33, N = 3SE +/- 0.33, N = 3SE +/- 0.33, N = 3153157265-O3 -march=native-O3 -march=native -mllvm -vectorize1. (CXX) g++ options: -fopenmp
OpenBenchmarking.orgSeconds, Fewer Is BetterSmallpt 1.0Global Illumination Renderer; 100 SamplesDefaultLoop Vectorization2012-10-27 15:4850100150200250Min: 152 / Avg: 152.67 / Max: 153Min: 157 / Avg: 157.33 / Max: 158Min: 265 / Avg: 265.33 / Max: 2661. (CXX) g++ options: -fopenmp

PostgreSQL pgbench

OpenBenchmarking.orgTPS, More Is BetterPostgreSQL pgbench 8.4.11TPC-B Transactions Per SecondDefaultLoop Vectorization2012-10-27 15:4870140210280350SE +/- 0.52, N = 3SE +/- 3.97, N = 3SE +/- 0.10, N = 3324.77336.6520.85-O3 -march=native-O3 -march=native -mllvm -vectorize1. (CC) gcc options: -fno-strict-aliasing -fwrapv -lpgport -lpq -lcrypt -ldl -lm
OpenBenchmarking.orgTPS, More Is BetterPostgreSQL pgbench 8.4.11TPC-B Transactions Per SecondDefaultLoop Vectorization2012-10-27 15:4860120180240300Min: 324.06 / Avg: 324.77 / Max: 325.79Min: 332.05 / Avg: 336.65 / Max: 344.55Min: 20.7 / Avg: 20.85 / Max: 21.031. (CC) gcc options: -fno-strict-aliasing -fwrapv -lpgport -lpq -lcrypt -ldl -lm