8.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
$ make
-- Configuring done
-- Generating done
-- Build files have been written to: ExampleOptimisation/build
[  5%] Built target hadamard_product_O2
[ 10%] Built target hadamard_product_O1
[ 15%] Built target hadamard_product_vectorize
[ 20%] Built target hadamard_product_O0
[ 25%] Built target hadamard_product_O3
[ 30%] Built target hadamard_product_Ofast
[ 35%] Built target hadamard_product_intrinsics
[ 43%] Built target asterics_hpc
[ 48%] Built target saxpy_O2
[ 53%] Built target saxpy_O0
[ 58%] Built target saxpy_O3
[ 64%] Built target saxpy_O1
[ 69%] Built target saxpy_Ofast
[ 74%] Built target saxpy_vectorize
[ 79%] Built target saxpy_intrinsics
Scanning dependencies of target reduction_O3
[ 82%] Building CXX object 4-Reduction/CMakeFiles/reduction_O3.dir/main.cpp.o
[ 84%] Linking CXX executable reduction_O3
[ 84%] Built target reduction_O3
Scanning dependencies of target reduction_O0
[ 87%] Building CXX object 4-Reduction/CMakeFiles/reduction_O0.dir/main.cpp.o
[ 89%] Linking CXX executable reduction_O0
[ 89%] Built target reduction_O0
Scanning dependencies of target reduction_O1
[ 92%] Building CXX object 4-Reduction/CMakeFiles/reduction_O1.dir/main.cpp.o
[ 94%] Linking CXX executable reduction_O1
[ 94%] Built target reduction_O1
Scanning dependencies of target reduction_O2
[ 97%] Building CXX object 4-Reduction/CMakeFiles/reduction_O2.dir/main.cpp.o
[100%] Linking CXX executable reduction_O2
[100%] Built target reduction_O2
Let's get the restults :
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
$ make plot_all
[  4%] Built target asterics_hpc
[  7%] Built target reduction_O2
[ 10%] Built target reduction_O3
[ 12%] Built target reduction_O0
[ 15%] Built target reduction_O1
Scanning dependencies of target plot_reductionBase
[ 17%] Run reduction_O3 program
Reduction
evaluateReduction : nbElement = 1000, cyclePerElement = 0 cy/el, elapsedTime = 0 cy
evaluateReduction : nbElement = 2000, cyclePerElement = 0 cy/el, elapsedTime = 0 cy
evaluateReduction : nbElement = 3000, cyclePerElement = 0 cy/el, elapsedTime = 0 cy
evaluateReduction : nbElement = 5000, cyclePerElement = 0 cy/el, elapsedTime = 0 cy
evaluateReduction : nbElement = 10000, cyclePerElement = 0 cy/el, elapsedTime = 0 cy
[ 18%] Run reduction_O0 program
Reduction
evaluateReduction : nbElement = 1000, cyclePerElement = 32.747 cy/el, elapsedTime = 32747 cy
evaluateReduction : nbElement = 2000, cyclePerElement = 32.778 cy/el, elapsedTime = 65556 cy
evaluateReduction : nbElement = 3000, cyclePerElement = 32.8067 cy/el, elapsedTime = 98420 cy
evaluateReduction : nbElement = 5000, cyclePerElement = 32.788 cy/el, elapsedTime = 163940 cy
evaluateReduction : nbElement = 10000, cyclePerElement = 32.8182 cy/el, elapsedTime = 328182 cy
[ 20%] Run reduction_O1 program
Reduction
evaluateReduction : nbElement = 1000, cyclePerElement = 0.003 cy/el, elapsedTime = 3 cy
evaluateReduction : nbElement = 2000, cyclePerElement = 0.0015 cy/el, elapsedTime = 3 cy
evaluateReduction : nbElement = 3000, cyclePerElement = 0.001 cy/el, elapsedTime = 3 cy
evaluateReduction : nbElement = 5000, cyclePerElement = 0.0006 cy/el, elapsedTime = 3 cy
evaluateReduction : nbElement = 10000, cyclePerElement = 0.0003 cy/el, elapsedTime = 3 cy
[ 21%] Run reduction_O2 program
Reduction
evaluateReduction : nbElement = 1000, cyclePerElement = 0 cy/el, elapsedTime = 0 cy
evaluateReduction : nbElement = 2000, cyclePerElement = 0 cy/el, elapsedTime = 0 cy
evaluateReduction : nbElement = 3000, cyclePerElement = 0 cy/el, elapsedTime = 0 cy
evaluateReduction : nbElement = 5000, cyclePerElement = 0 cy/el, elapsedTime = 0 cy
evaluateReduction : nbElement = 10000, cyclePerElement = 0 cy/el, elapsedTime = 0 cy
[ 22%] Call gnuplot reductionBase
[ 22%] Built target plot_reductionBase
[ 25%] Built target hadamard_product_intrinsics
[ 28%] Built target hadamard_product_vectorize
[ 31%] Built target hadamard_product_O3
[ 37%] Built target plot_hadamardIntrinsics
[ 40%] Built target hadamard_product_Ofast
[ 42%] Built target hadamard_product_O2
[ 45%] Built target hadamard_product_O1
[ 48%] Built target hadamard_product_O0
[ 57%] Built target plot_hadamardBase
[ 61%] Built target plot_hadamardVectorize
[ 64%] Built target saxpy_intrinsics
[ 67%] Built target saxpy_O3
[ 70%] Built target saxpy_vectorize
[ 75%] Built target plot_saxpyIntrinsics
[ 80%] Built target plot_saxpyVectorize
[ 82%] Built target saxpy_Ofast
[ 85%] Built target saxpy_O2
[ 88%] Built target saxpy_O0
[ 91%] Built target saxpy_O1
[100%] Built target plot_saxpyBase
[100%] Built target plot_all
	I have a question about the timing.
	Ok, but, let's do the performances plots before.