11.1.3 : The compilation

Let's compile :

$ make

-- Configuring done

-- Generating done

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

[ 2%] Built target hadamard_product_O2

[ 4%] Built target hadamard_product_O1

[ 4%] Built target hadamard_product_vectorize

[ 4%] Built target hadamard_product_O0

[ 4%] Built target hadamard_product_O3

[ 6%] Built target hadamard_product_Ofast

[ 8%] Built target hadamard_product_intrinsics

[ 8%] Built target asterics_hpc

[ 10%] Built target saxpy_O2

[ 13%] Built target saxpy_O0

[ 15%] Built target saxpy_O3

[ 15%] Built target saxpy_O1

[ 15%] 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

[ 34%] Built target reduction_O3

[ 36%] Built target reduction_real_intrinsics_interleave4_O3

[ 39%] Built target reduction_real_vectorize_Ofast

[ 41%] Built target reduction_real_intrinsics_interleave2_O3

[ 43%] Built target reduction_real_intrinsics_O3

[ 45%] Built target reduction_real_O3

[ 47%] Built target reduction_real_O0

[ 50%] Built target reduction_real_vectorize_O3

[ 52%] Built target barycentre_intrinsics

[ 54%] Built target barycentre_base_O2

[ 56%] Built target barycentre_base_O1

[ 58%] Built target barycentre_base_O0

[ 60%] Built target barycentre_vectorizeSplit_O3

[ 63%] Built target barycentre_base_Ofast

[ 65%] Built target barycentre_base_O3

[ 67%] Built target barycentre_vectorize_O3

[ 69%] Built target sgemm_intrinsicsPitch_O3

[ 71%] Built target sgemm_vectorize_Ofast

[ 73%] Built target sgemm_base_O1

[ 76%] Built target sgemm_vectorize_O3

[ 78%] Built target sgemm_base_Ofast

[ 80%] Built target sgemm_base_O3

[ 82%] Built target sgemm_base_O0

[ 84%] Built target sgemm_intrinsics_O3

[ 86%] Built target sgemm_swap_Ofast

[ 89%] Built target sgemm_swap_O3

[ 91%] Built target sgemm_base_O2

Scanning dependencies of target branchPrediction_Ofast

[ 91%] Building CXX object 7-BranchingPredicator/CMakeFiles/branchPrediction_Ofast.dir/main.cpp.o

[ 93%] Linking CXX executable branchPrediction_Ofast

[ 93%] Built target branchPrediction_Ofast

Scanning dependencies of target branchPrediction_O0

[ 95%] Building CXX object 7-BranchingPredicator/CMakeFiles/branchPrediction_O0.dir/main.cpp.o

[ 95%] Linking CXX executable branchPrediction_O0

[ 95%] Built target branchPrediction_O0

Scanning dependencies of target branchPrediction_O2

[ 95%] Building CXX object 7-BranchingPredicator/CMakeFiles/branchPrediction_O2.dir/main.cpp.o

[ 95%] Linking CXX executable branchPrediction_O2

[ 95%] Built target branchPrediction_O2

Scanning dependencies of target branchPrediction_O1

[ 95%] Building CXX object 7-BranchingPredicator/CMakeFiles/branchPrediction_O1.dir/main.cpp.o

[ 97%] Linking CXX executable branchPrediction_O1

[ 97%] Built target branchPrediction_O1

Scanning dependencies of target branchPrediction_O3

[100%] Building CXX object 7-BranchingPredicator/CMakeFiles/branchPrediction_O3.dir/main.cpp.o

[100%] Linking CXX executable branchPrediction_O3

[100%] Built target branchPrediction_O3



Let's get the performances :

$ make plot_all

[ 0%] Built target asterics_hpc

[ 1%] Built target branchPrediction_O3

[ 2%] Built target branchPrediction_Ofast

[ 3%] Built target branchPrediction_O0

[ 3%] Built target branchPrediction_O2

[ 4%] Built target branchPrediction_O1

Scanning dependencies of target plot_branchPredicator

[ 4%] Run branchPrediction_Ofast program

Branching probability

evaluateDummyCopy : proba = 0.1, nbElement = 10000, cyclePerElement = 2.7577 cy/el, elapsedTime = 27577 cy

evaluateDummyCopy : proba = 0.2, nbElement = 10000, cyclePerElement = 4.664 cy/el, elapsedTime = 46640 cy

evaluateDummyCopy : proba = 0.3, nbElement = 10000, cyclePerElement = 6.6438 cy/el, elapsedTime = 66438 cy

evaluateDummyCopy : proba = 0.4, nbElement = 10000, cyclePerElement = 8.5596 cy/el, elapsedTime = 85596 cy

evaluateDummyCopy : proba = 0.5, nbElement = 10000, cyclePerElement = 9.4054 cy/el, elapsedTime = 94054 cy

evaluateDummyCopy : proba = 0.6, nbElement = 10000, cyclePerElement = 8.0784 cy/el, elapsedTime = 80784 cy

evaluateDummyCopy : proba = 0.7, nbElement = 10000, cyclePerElement = 6.4467 cy/el, elapsedTime = 64467 cy

evaluateDummyCopy : proba = 0.8, nbElement = 10000, cyclePerElement = 4.3135 cy/el, elapsedTime = 43135 cy

evaluateDummyCopy : proba = 0.9, nbElement = 10000, cyclePerElement = 2.5526 cy/el, elapsedTime = 25526 cy

[ 4%] Run branchPrediction_O0 program

Branching probability

evaluateDummyCopy : proba = 0.1, nbElement = 10000, cyclePerElement = 8.6561 cy/el, elapsedTime = 86561 cy

evaluateDummyCopy : proba = 0.2, nbElement = 10000, cyclePerElement = 12.2829 cy/el, elapsedTime = 122829 cy

evaluateDummyCopy : proba = 0.3, nbElement = 10000, cyclePerElement = 15.6031 cy/el, elapsedTime = 156031 cy

evaluateDummyCopy : proba = 0.4, nbElement = 10000, cyclePerElement = 19.1187 cy/el, elapsedTime = 191187 cy

evaluateDummyCopy : proba = 0.5, nbElement = 10000, cyclePerElement = 20.0603 cy/el, elapsedTime = 200603 cy

evaluateDummyCopy : proba = 0.6, nbElement = 10000, cyclePerElement = 18.609 cy/el, elapsedTime = 186090 cy

evaluateDummyCopy : proba = 0.7, nbElement = 10000, cyclePerElement = 15.6832 cy/el, elapsedTime = 156832 cy

evaluateDummyCopy : proba = 0.8, nbElement = 10000, cyclePerElement = 12.2314 cy/el, elapsedTime = 122314 cy

evaluateDummyCopy : proba = 0.9, nbElement = 10000, cyclePerElement = 8.6759 cy/el, elapsedTime = 86759 cy

[ 4%] Run branchPrediction_O1 program

Branching probability

evaluateDummyCopy : proba = 0.1, nbElement = 10000, cyclePerElement = 2.8215 cy/el, elapsedTime = 28215 cy

evaluateDummyCopy : proba = 0.2, nbElement = 10000, cyclePerElement = 4.5344 cy/el, elapsedTime = 45344 cy

evaluateDummyCopy : proba = 0.3, nbElement = 10000, cyclePerElement = 6.7235 cy/el, elapsedTime = 67235 cy

evaluateDummyCopy : proba = 0.4, nbElement = 10000, cyclePerElement = 9.4147 cy/el, elapsedTime = 94147 cy

evaluateDummyCopy : proba = 0.5, nbElement = 10000, cyclePerElement = 10.3784 cy/el, elapsedTime = 103784 cy

evaluateDummyCopy : proba = 0.6, nbElement = 10000, cyclePerElement = 9.6791 cy/el, elapsedTime = 96791 cy

evaluateDummyCopy : proba = 0.7, nbElement = 10000, cyclePerElement = 7.4134 cy/el, elapsedTime = 74134 cy

evaluateDummyCopy : proba = 0.8, nbElement = 10000, cyclePerElement = 4.9292 cy/el, elapsedTime = 49292 cy

evaluateDummyCopy : proba = 0.9, nbElement = 10000, cyclePerElement = 2.955 cy/el, elapsedTime = 29550 cy

[ 6%] Run branchPrediction_O2 program

Branching probability

evaluateDummyCopy : proba = 0.1, nbElement = 10000, cyclePerElement = 2.7869 cy/el, elapsedTime = 27869 cy

evaluateDummyCopy : proba = 0.2, nbElement = 10000, cyclePerElement = 4.5225 cy/el, elapsedTime = 45225 cy

evaluateDummyCopy : proba = 0.3, nbElement = 10000, cyclePerElement = 6.6983 cy/el, elapsedTime = 66983 cy

evaluateDummyCopy : proba = 0.4, nbElement = 10000, cyclePerElement = 8.635 cy/el, elapsedTime = 86350 cy

evaluateDummyCopy : proba = 0.5, nbElement = 10000, cyclePerElement = 9.4544 cy/el, elapsedTime = 94544 cy

evaluateDummyCopy : proba = 0.6, nbElement = 10000, cyclePerElement = 8.2676 cy/el, elapsedTime = 82676 cy

evaluateDummyCopy : proba = 0.7, nbElement = 10000, cyclePerElement = 6.5888 cy/el, elapsedTime = 65888 cy

evaluateDummyCopy : proba = 0.8, nbElement = 10000, cyclePerElement = 4.3457 cy/el, elapsedTime = 43457 cy

evaluateDummyCopy : proba = 0.9, nbElement = 10000, cyclePerElement = 2.6152 cy/el, elapsedTime = 26152 cy

[ 6%] Run branchPrediction_O3 program

Branching probability

evaluateDummyCopy : proba = 0.1, nbElement = 10000, cyclePerElement = 2.6587 cy/el, elapsedTime = 26587 cy

evaluateDummyCopy : proba = 0.2, nbElement = 10000, cyclePerElement = 4.6211 cy/el, elapsedTime = 46211 cy

evaluateDummyCopy : proba = 0.3, nbElement = 10000, cyclePerElement = 6.6255 cy/el, elapsedTime = 66255 cy

evaluateDummyCopy : proba = 0.4, nbElement = 10000, cyclePerElement = 8.7231 cy/el, elapsedTime = 87231 cy

evaluateDummyCopy : proba = 0.5, nbElement = 10000, cyclePerElement = 9.1485 cy/el, elapsedTime = 91485 cy

evaluateDummyCopy : proba = 0.6, nbElement = 10000, cyclePerElement = 8.4031 cy/el, elapsedTime = 84031 cy

evaluateDummyCopy : proba = 0.7, nbElement = 10000, cyclePerElement = 6.4995 cy/el, elapsedTime = 64995 cy

evaluateDummyCopy : proba = 0.8, nbElement = 10000, cyclePerElement = 4.3294 cy/el, elapsedTime = 43294 cy

evaluateDummyCopy : proba = 0.9, nbElement = 10000, cyclePerElement = 2.6311 cy/el, elapsedTime = 26311 cy

[ 7%] Call gnuplot branchPredicator

[ 7%] Built target plot_branchPredicator

[ 8%] Built target hadamard_product_intrinsics

[ 8%] Built target hadamard_product_vectorize

[ 8%] Built target hadamard_product_O3

[ 9%] Built target plot_hadamardIntrinsics

[ 10%] Built target hadamard_product_Ofast

[ 12%] Built target hadamard_product_O2

[ 13%] Built target hadamard_product_O1

[ 13%] Built target hadamard_product_O0

[ 15%] Built target plot_hadamardBase

[ 16%] Built target plot_hadamardVectorize

[ 18%] Built target saxpy_intrinsics

[ 19%] Built target saxpy_O3

[ 20%] Built target saxpy_vectorize

[ 21%] Built target plot_saxpyIntrinsics

[ 22%] Built target plot_saxpyVectorize

[ 22%] Built target saxpy_Ofast

[ 24%] Built target saxpy_O2

[ 25%] Built target saxpy_O0

[ 25%] Built target saxpy_O1

[ 27%] Built target plot_saxpyBase

[ 28%] Built target reduction_real_intrinsics_O3

[ 30%] Built target reduction_real_intrinsics_interleave8_O3

[ 31%] Built target reduction_real_Ofast

[ 32%] Built target reduction_real_intrinsics_interleave4_O3

[ 33%] Built target reduction_real_vectorize_Ofast

[ 34%] Built target reduction_real_intrinsics_interleave2_O3

[ 37%] Built target plot_reductionIntrinsicsInterleave8

[ 38%] Built target reduction_real_vectorize_O3

[ 39%] Built target reduction_real_O3

[ 42%] Built target plot_reductionVectorize

[ 43%] Built target reduction_O3

[ 44%] Built target reduction_O0

[ 44%] Built target reduction_O1

[ 45%] Built target reduction_O2

[ 48%] Built target plot_reductionBase

[ 49%] Built target reduction_real_O0

[ 50%] Built target reduction_real_O2

[ 51%] Built target reduction_real_O1

[ 54%] Built target plot_reductionReal

[ 56%] Built target plot_reductionIntrinsicsInterleave2

[ 59%] Built target plot_reductionIntrinsicsInterleave4

[ 61%] Built target plot_reductionIntrinsics

[ 62%] Built target barycentre_vectorize_O3

[ 63%] Built target barycentre_intrinsics

[ 65%] Built target barycentre_vectorizeSplit_O3

[ 66%] Built target barycentre_base_O3

[ 68%] Built target plot_barycentreIntrinsics

[ 69%] Built target barycentre_base_O2

[ 71%] Built target barycentre_base_O1

[ 72%] Built target barycentre_base_O0

[ 73%] Built target barycentre_base_Ofast

[ 75%] Built target plot_barycentreBase

[ 77%] Built target plot_barycentreVectorize

[ 78%] Built target sgemm_intrinsics_O3

[ 79%] Built target sgemm_intrinsicsPitch_O3

[ 80%] Built target sgemm_vectorize_Ofast

[ 81%] Built target sgemm_vectorize_O3

[ 84%] Built target plot_sgemmIntrinsicsPitch

[ 85%] Built target plot_sgemmIntrinsics

[ 86%] Built target sgemm_base_O2

[ 87%] Built target sgemm_base_O1

[ 89%] Built target sgemm_base_Ofast

[ 90%] Built target sgemm_base_O3

[ 91%] Built target sgemm_base_O0

[ 93%] Built target plot_sgemmBase

[ 95%] Built target sgemm_swap_O3

[ 96%] Built target sgemm_swap_Ofast

[ 98%] Built target plot_sgemmVectorize

[100%] Built target plot_sgemmSwap

[100%] Built target plot_all