11.3.3 : The compilation

Let's compile :

$ make

-- Configuring done

-- Generating done

-- Build files have been written to: ExampleOptimisation/build

[ 0%] Built target hadamard_product_O2

[ 2%] Built target hadamard_product_O1

[ 4%] Built target hadamard_product_vectorize

[ 6%] Built target hadamard_product_O0

[ 8%] Built target hadamard_product_O3

[ 8%] Built target hadamard_product_Ofast

[ 10%] Built target hadamard_product_intrinsics

[ 10%] Built target asterics_hpc

[ 13%] Built target saxpy_O2

[ 15%] Built target saxpy_O0

[ 17%] Built target saxpy_O3

[ 17%] Built target saxpy_O1

[ 17%] Built target saxpy_Ofast

[ 17%] Built target saxpy_vectorize

[ 19%] Built target saxpy_intrinsics

[ 21%] Built target reduction_real_O2

[ 23%] Built target reduction_real_intrinsics_interleave8_O3

[ 26%] Built target reduction_real_O1

[ 28%] Built target reduction_real_Ofast

[ 30%] Built target reduction_O0

[ 30%] Built target reduction_O1

[ 32%] Built target reduction_O2

[ 32%] Built target reduction_O3

[ 34%] Built target reduction_real_intrinsics_interleave4_O3

[ 36%] Built target reduction_real_vectorize_Ofast

[ 39%] Built target reduction_real_intrinsics_interleave2_O3

[ 41%] Built target reduction_real_intrinsics_O3

[ 43%] Built target reduction_real_O3

[ 45%] Built target reduction_real_O0

[ 47%] Built target reduction_real_vectorize_O3

[ 50%] Built target barycentre_intrinsics

[ 52%] Built target barycentre_base_O2

[ 54%] Built target barycentre_base_O1

[ 56%] Built target barycentre_base_O0

[ 58%] Built target barycentre_vectorizeSplit_O3

[ 60%] Built target barycentre_base_Ofast

[ 63%] Built target barycentre_base_O3

[ 65%] Built target barycentre_vectorize_O3

[ 67%] Built target sgemm_intrinsicsPitch_O3

[ 69%] Built target sgemm_vectorize_Ofast

[ 71%] Built target sgemm_base_O1

[ 73%] Built target sgemm_vectorize_O3

[ 76%] Built target sgemm_base_Ofast

[ 78%] Built target sgemm_base_O3

[ 80%] Built target sgemm_base_O0

[ 82%] Built target sgemm_intrinsics_O3

[ 84%] Built target sgemm_swap_Ofast

[ 86%] Built target sgemm_swap_O3

[ 89%] Built target sgemm_base_O2

Scanning dependencies of target branchVectorize_Ofast

[ 89%] Building CXX object 7-BranchingPredicator/CMakeFiles/branchVectorize_Ofast.dir/main_vectorize.cpp.o

[ 89%] Linking CXX executable branchVectorize_Ofast

[ 89%] Built target branchVectorize_Ofast

Scanning dependencies of target branchVectorize_O3

[ 89%] Building CXX object 7-BranchingPredicator/CMakeFiles/branchVectorize_O3.dir/main_vectorize.cpp.o

[ 91%] Linking CXX executable branchVectorize_O3

[ 91%] Built target branchVectorize_O3

[ 91%] Built target branchPrediction_O1

[ 93%] Built target branchPrediction_O2

[ 95%] Built target branchPrediction_O0

[ 95%] Built target branchPrediction_O3

[ 97%] Built target branchPrediction_Ofast

[ 97%] Built target branchOptimise_O3

[100%] Built target branchOptimise_Ofast



Let's get the performances :

$ make plot_all

[ 0%] Built target asterics_hpc

[ 1%] Built target branchOptimise_Ofast

[ 1%] Built target branchPrediction_O3

[ 2%] Built target branchPrediction_Ofast

[ 2%] Built target branchOptimise_O3

[ 4%] Built target plot_branchOptimise

[ 6%] Built target hadamard_product_intrinsics

[ 7%] Built target hadamard_product_vectorize

[ 8%] Built target hadamard_product_O3

[ 9%] Built target plot_hadamardIntrinsics

[ 9%] Built target hadamard_product_Ofast

[ 9%] Built target hadamard_product_O2

[ 10%] Built target hadamard_product_O1

[ 12%] Built target hadamard_product_O0

[ 14%] Built target plot_hadamardBase

[ 15%] Built target plot_hadamardVectorize

[ 16%] Built target saxpy_intrinsics

[ 18%] Built target saxpy_O3

[ 18%] Built target saxpy_vectorize

[ 19%] Built target plot_saxpyIntrinsics

[ 20%] Built target plot_saxpyVectorize

[ 20%] Built target saxpy_Ofast

[ 21%] Built target saxpy_O2

[ 22%] Built target saxpy_O0

[ 22%] Built target saxpy_O1

[ 25%] Built target plot_saxpyBase

[ 26%] Built target reduction_real_intrinsics_O3

[ 27%] Built target reduction_real_intrinsics_interleave8_O3

[ 28%] Built target reduction_real_Ofast

[ 30%] Built target reduction_real_intrinsics_interleave4_O3

[ 31%] Built target reduction_real_vectorize_Ofast

[ 32%] Built target reduction_real_intrinsics_interleave2_O3

[ 34%] Built target plot_reductionIntrinsicsInterleave8

[ 36%] Built target reduction_real_vectorize_O3

[ 37%] Built target reduction_real_O3

[ 38%] Built target plot_reductionVectorize

[ 38%] Built target reduction_O3

[ 39%] Built target reduction_O0

[ 39%] Built target reduction_O1

[ 40%] Built target reduction_O2

[ 43%] Built target plot_reductionBase

[ 44%] Built target reduction_real_O0

[ 45%] Built target reduction_real_O2

[ 46%] Built target reduction_real_O1

[ 49%] Built target plot_reductionReal

[ 51%] Built target plot_reductionIntrinsicsInterleave2

[ 54%] Built target plot_reductionIntrinsicsInterleave4

[ 55%] Built target plot_reductionIntrinsics

[ 56%] Built target barycentre_vectorize_O3

[ 57%] Built target barycentre_intrinsics

[ 59%] Built target barycentre_vectorizeSplit_O3

[ 60%] Built target barycentre_base_O3

[ 62%] Built target plot_barycentreIntrinsics

[ 63%] Built target barycentre_base_O2

[ 65%] Built target barycentre_base_O1

[ 66%] Built target barycentre_base_O0

[ 67%] Built target barycentre_base_Ofast

[ 68%] Built target plot_barycentreBase

[ 69%] Built target plot_barycentreVectorize

[ 71%] Built target sgemm_intrinsics_O3

[ 72%] Built target sgemm_intrinsicsPitch_O3

[ 73%] Built target sgemm_vectorize_Ofast

[ 74%] Built target sgemm_vectorize_O3

[ 77%] Built target plot_sgemmIntrinsicsPitch

[ 78%] Built target plot_sgemmIntrinsics

[ 79%] Built target sgemm_base_O2

[ 80%] Built target sgemm_base_O1

[ 81%] Built target sgemm_base_Ofast

[ 83%] Built target sgemm_base_O3

[ 84%] Built target sgemm_base_O0

[ 86%] Built target plot_sgemmBase

[ 87%] Built target sgemm_swap_O3

[ 89%] Built target sgemm_swap_Ofast

[ 91%] Built target plot_sgemmVectorize

[ 92%] Built target plot_sgemmSwap

[ 92%] Built target branchVectorize_Ofast

[ 93%] Built target branchVectorize_O3

Scanning dependencies of target plot_branchVectorize

[ 93%] Run branchVectorize_Ofast program

Branching probability no branching

evaluateDummyCopy : proba = 0.1, nbElement = 10000, cyclePerElement = 0.5556 cy/el, elapsedTime = 5556 cy

evaluateDummyCopy : proba = 0.2, nbElement = 10000, cyclePerElement = 0.4821 cy/el, elapsedTime = 4821 cy

evaluateDummyCopy : proba = 0.3, nbElement = 10000, cyclePerElement = 0.5948 cy/el, elapsedTime = 5948 cy

evaluateDummyCopy : proba = 0.4, nbElement = 10000, cyclePerElement = 0.5074 cy/el, elapsedTime = 5074 cy

evaluateDummyCopy : proba = 0.5, nbElement = 10000, cyclePerElement = 0.5345 cy/el, elapsedTime = 5345 cy

evaluateDummyCopy : proba = 0.6, nbElement = 10000, cyclePerElement = 0.5465 cy/el, elapsedTime = 5465 cy

evaluateDummyCopy : proba = 0.7, nbElement = 10000, cyclePerElement = 0.5545 cy/el, elapsedTime = 5545 cy

evaluateDummyCopy : proba = 0.8, nbElement = 10000, cyclePerElement = 0.5456 cy/el, elapsedTime = 5456 cy

evaluateDummyCopy : proba = 0.9, nbElement = 10000, cyclePerElement = 0.5475 cy/el, elapsedTime = 5475 cy

[ 95%] Run branchVectorize_O3 program

Branching probability no branching

evaluateDummyCopy : proba = 0.1, nbElement = 10000, cyclePerElement = 0.56 cy/el, elapsedTime = 5600 cy

evaluateDummyCopy : proba = 0.2, nbElement = 10000, cyclePerElement = 0.5543 cy/el, elapsedTime = 5543 cy

evaluateDummyCopy : proba = 0.3, nbElement = 10000, cyclePerElement = 0.5184 cy/el, elapsedTime = 5184 cy

evaluateDummyCopy : proba = 0.4, nbElement = 10000, cyclePerElement = 0.5459 cy/el, elapsedTime = 5459 cy

evaluateDummyCopy : proba = 0.5, nbElement = 10000, cyclePerElement = 0.4981 cy/el, elapsedTime = 4981 cy

evaluateDummyCopy : proba = 0.6, nbElement = 10000, cyclePerElement = 0.5346 cy/el, elapsedTime = 5346 cy

evaluateDummyCopy : proba = 0.7, nbElement = 10000, cyclePerElement = 0.4549 cy/el, elapsedTime = 4549 cy

evaluateDummyCopy : proba = 0.8, nbElement = 10000, cyclePerElement = 0.5381 cy/el, elapsedTime = 5381 cy

evaluateDummyCopy : proba = 0.9, nbElement = 10000, cyclePerElement = 0.4712 cy/el, elapsedTime = 4712 cy

[ 95%] Call gnuplot branchVectorize

[ 95%] Built target plot_branchVectorize

[ 95%] Built target branchPrediction_O1

[ 96%] Built target branchPrediction_O2

[ 97%] Built target branchPrediction_O0

[100%] Built target plot_branchPredicator

[100%] Built target plot_all