11.2.3 : The compilation

Let's compile :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
$ 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
[  4%] Built target hadamard_product_O0
[  6%] Built target hadamard_product_O3
[  8%] Built target hadamard_product_Ofast
[  8%] Built target hadamard_product_intrinsics
[  8%] Built target asterics_hpc
[  8%] Built target saxpy_O2
[  8%] Built target saxpy_O0
[ 11%] Built target saxpy_O3
[ 13%] Built target saxpy_O1
[ 15%] Built target saxpy_Ofast
[ 17%] Built target saxpy_vectorize
[ 17%] Built target saxpy_intrinsics
[ 20%] Built target reduction_real_O2
[ 22%] Built target reduction_real_intrinsics_interleave8_O3
[ 24%] Built target reduction_real_O1
[ 26%] Built target reduction_real_Ofast
[ 28%] Built target reduction_O0
[ 28%] Built target reduction_O1
[ 31%] Built target reduction_O2
[ 33%] Built target reduction_O3
[ 35%] Built target reduction_real_intrinsics_interleave4_O3
[ 37%] Built target reduction_real_vectorize_Ofast
[ 40%] Built target reduction_real_intrinsics_interleave2_O3
[ 42%] Built target reduction_real_intrinsics_O3
[ 42%] Built target reduction_real_O3
[ 44%] Built target reduction_real_O0
[ 46%] Built target reduction_real_vectorize_O3
[ 48%] Built target barycentre_intrinsics
[ 51%] Built target barycentre_base_O2
[ 53%] Built target barycentre_base_O1
[ 55%] Built target barycentre_base_O0
[ 57%] Built target barycentre_vectorizeSplit_O3
[ 60%] Built target barycentre_base_Ofast
[ 62%] Built target barycentre_base_O3
[ 64%] Built target barycentre_vectorize_O3
[ 66%] Built target sgemm_intrinsicsPitch_O3
[ 68%] Built target sgemm_vectorize_Ofast
[ 71%] Built target sgemm_base_O1
[ 73%] Built target sgemm_vectorize_O3
[ 75%] Built target sgemm_base_Ofast
[ 77%] 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
[ 88%] Built target sgemm_base_O2
[ 91%] Built target branchPrediction_O1
[ 91%] Built target branchPrediction_O2
[ 93%] Built target branchPrediction_O0
[ 95%] Built target branchPrediction_O3
[ 97%] Built target branchPrediction_Ofast
Scanning dependencies of target branchOptimise_O3
[ 97%] Building CXX object 7-BranchingPredicator/CMakeFiles/branchOptimise_O3.dir/main_optimise.cpp.o
[100%] Linking CXX executable branchOptimise_O3
[100%] Built target branchOptimise_O3
Scanning dependencies of target branchOptimise_Ofast
[100%] Building CXX object 7-BranchingPredicator/CMakeFiles/branchOptimise_Ofast.dir/main_optimise.cpp.o
[100%] Linking CXX executable branchOptimise_Ofast
[100%] Built target branchOptimise_Ofast
Let's get the performances :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
$ make plot_all
[  0%] Built target asterics_hpc
[  0%] Built target branchOptimise_Ofast
[  1%] Built target branchPrediction_O3
[  2%] Built target branchPrediction_Ofast
[  3%] Built target branchOptimise_O3
Scanning dependencies of target plot_branchOptimise
[  3%] Run branchOptimise_Ofast program
Branching probability no branching
evaluateDummyCopy : proba = 0.1, nbElement = 10000, cyclePerElement = 0.6877 cy/el, elapsedTime = 6877 cy
evaluateDummyCopy : proba = 0.2, nbElement = 10000, cyclePerElement = 0.7236 cy/el, elapsedTime = 7236 cy
evaluateDummyCopy : proba = 0.3, nbElement = 10000, cyclePerElement = 0.6525 cy/el, elapsedTime = 6525 cy
evaluateDummyCopy : proba = 0.4, nbElement = 10000, cyclePerElement = 0.6275 cy/el, elapsedTime = 6275 cy
evaluateDummyCopy : proba = 0.5, nbElement = 10000, cyclePerElement = 0.6795 cy/el, elapsedTime = 6795 cy
evaluateDummyCopy : proba = 0.6, nbElement = 10000, cyclePerElement = 0.6808 cy/el, elapsedTime = 6808 cy
evaluateDummyCopy : proba = 0.7, nbElement = 10000, cyclePerElement = 0.6762 cy/el, elapsedTime = 6762 cy
evaluateDummyCopy : proba = 0.8, nbElement = 10000, cyclePerElement = 0.6578 cy/el, elapsedTime = 6578 cy
evaluateDummyCopy : proba = 0.9, nbElement = 10000, cyclePerElement = 0.6798 cy/el, elapsedTime = 6798 cy
[  3%] Run branchOptimise_O3 program
Branching probability no branching
evaluateDummyCopy : proba = 0.1, nbElement = 10000, cyclePerElement = 0.7829 cy/el, elapsedTime = 7829 cy
evaluateDummyCopy : proba = 0.2, nbElement = 10000, cyclePerElement = 0.7822 cy/el, elapsedTime = 7822 cy
evaluateDummyCopy : proba = 0.3, nbElement = 10000, cyclePerElement = 0.7729 cy/el, elapsedTime = 7729 cy
evaluateDummyCopy : proba = 0.4, nbElement = 10000, cyclePerElement = 0.753 cy/el, elapsedTime = 7530 cy
evaluateDummyCopy : proba = 0.5, nbElement = 10000, cyclePerElement = 0.7696 cy/el, elapsedTime = 7696 cy
evaluateDummyCopy : proba = 0.6, nbElement = 10000, cyclePerElement = 0.7435 cy/el, elapsedTime = 7435 cy
evaluateDummyCopy : proba = 0.7, nbElement = 10000, cyclePerElement = 0.7851 cy/el, elapsedTime = 7851 cy
evaluateDummyCopy : proba = 0.8, nbElement = 10000, cyclePerElement = 0.7331 cy/el, elapsedTime = 7331 cy
evaluateDummyCopy : proba = 0.9, nbElement = 10000, cyclePerElement = 0.734 cy/el, elapsedTime = 7340 cy
[  3%] Call gnuplot branchOptimise
[  4%] Built target plot_branchOptimise
[  4%] Built target hadamard_product_intrinsics
[  6%] Built target hadamard_product_vectorize
[  7%] Built target hadamard_product_O3
[  8%] Built target plot_hadamardIntrinsics
[  9%] Built target hadamard_product_Ofast
[  9%] Built target hadamard_product_O2
[ 10%] Built target hadamard_product_O1
[ 10%] Built target hadamard_product_O0
[ 13%] Built target plot_hadamardBase
[ 14%] Built target plot_hadamardVectorize
[ 14%] Built target saxpy_intrinsics
[ 15%] Built target saxpy_O3
[ 17%] Built target saxpy_vectorize
[ 18%] Built target plot_saxpyIntrinsics
[ 19%] Built target plot_saxpyVectorize
[ 20%] Built target saxpy_Ofast
[ 20%] Built target saxpy_O2
[ 20%] Built target saxpy_O0
[ 21%] Built target saxpy_O1
[ 24%] Built target plot_saxpyBase
[ 25%] Built target reduction_real_intrinsics_O3
[ 26%] Built target reduction_real_intrinsics_interleave8_O3
[ 28%] Built target reduction_real_Ofast
[ 29%] Built target reduction_real_intrinsics_interleave4_O3
[ 30%] Built target reduction_real_vectorize_Ofast
[ 31%] Built target reduction_real_intrinsics_interleave2_O3
[ 35%] Built target plot_reductionIntrinsicsInterleave8
[ 36%] Built target reduction_real_vectorize_O3
[ 36%] Built target reduction_real_O3
[ 39%] Built target plot_reductionVectorize
[ 40%] Built target reduction_O3
[ 41%] Built target reduction_O0
[ 41%] Built target reduction_O1
[ 42%] Built target reduction_O2
[ 45%] Built target plot_reductionBase
[ 46%] Built target reduction_real_O0
[ 47%] Built target reduction_real_O2
[ 48%] Built target reduction_real_O1
[ 50%] Built target plot_reductionReal
[ 51%] Built target plot_reductionIntrinsicsInterleave2
[ 53%] Built target plot_reductionIntrinsicsInterleave4
[ 56%] Built target plot_reductionIntrinsics
[ 57%] Built target barycentre_vectorize_O3
[ 58%] 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
[ 64%] Built target barycentre_base_O1
[ 65%] Built target barycentre_base_O0
[ 67%] Built target barycentre_base_Ofast
[ 69%] Built target plot_barycentreBase
[ 71%] Built target plot_barycentreVectorize
[ 73%] Built target sgemm_intrinsics_O3
[ 74%] Built target sgemm_intrinsicsPitch_O3
[ 75%] Built target sgemm_vectorize_Ofast
[ 76%] Built target sgemm_vectorize_O3
[ 79%] Built target plot_sgemmIntrinsicsPitch
[ 80%] Built target plot_sgemmIntrinsics
[ 81%] Built target sgemm_base_O2
[ 82%] Built target sgemm_base_O1
[ 84%] Built target sgemm_base_Ofast
[ 85%] Built target sgemm_base_O3
[ 86%] Built target sgemm_base_O0
[ 89%] Built target plot_sgemmBase
[ 90%] Built target sgemm_swap_O3
[ 91%] Built target sgemm_swap_Ofast
[ 92%] Built target plot_sgemmVectorize
[ 95%] Built target plot_sgemmSwap
[ 96%] Built target branchPrediction_O1
[ 96%] Built target branchPrediction_O2
[ 97%] Built target branchPrediction_O0
[100%] Built target plot_branchPredicator
[100%] Built target plot_all