8.2.5.5 : The compilation

Let's compile :

$ make

[ 2%] Built target hadamard_product_O2

[ 6%] Built target hadamard_product_O1

[ 8%] Built target hadamard_product_vectorize

[ 12%] Built target hadamard_product_O0

[ 17%] Built target hadamard_product_O3

[ 21%] Built target hadamard_product_Ofast

[ 25%] Built target hadamard_product_intrinsics

[ 29%] Built target asterics_hpc

[ 31%] Built target saxpy_O2

[ 36%] Built target saxpy_O0

[ 40%] Built target saxpy_O3

[ 44%] Built target saxpy_O1

[ 48%] Built target saxpy_Ofast

[ 53%] Built target saxpy_vectorize

[ 57%] Built target saxpy_intrinsics

Scanning dependencies of target reduction_real_O0

[ 59%] Building CXX object 4-Reduction/CMakeFiles/reduction_real_O0.dir/reduction.cpp.o

[ 61%] Building CXX object 4-Reduction/CMakeFiles/reduction_real_O0.dir/main_reduction.cpp.o

[ 63%] Linking CXX executable reduction_real_O0

[ 63%] Built target reduction_real_O0

[ 65%] Built target reduction_O1

[ 70%] Built target reduction_O0

Scanning dependencies of target reduction_real_Ofast

[ 72%] Building CXX object 4-Reduction/CMakeFiles/reduction_real_Ofast.dir/reduction.cpp.o

[ 74%] Building CXX object 4-Reduction/CMakeFiles/reduction_real_Ofast.dir/main_reduction.cpp.o

[ 76%] Linking CXX executable reduction_real_Ofast

[ 76%] Built target reduction_real_Ofast

[ 80%] Built target reduction_O3

Scanning dependencies of target reduction_real_O3

[ 82%] Building CXX object 4-Reduction/CMakeFiles/reduction_real_O3.dir/reduction.cpp.o

[ 85%] Building CXX object 4-Reduction/CMakeFiles/reduction_real_O3.dir/main_reduction.cpp.o

[ 85%] Linking CXX executable reduction_real_O3

[ 85%] Built target reduction_real_O3

Scanning dependencies of target reduction_real_O1

[ 85%] Building CXX object 4-Reduction/CMakeFiles/reduction_real_O1.dir/reduction.cpp.o

[ 87%] Building CXX object 4-Reduction/CMakeFiles/reduction_real_O1.dir/main_reduction.cpp.o

[ 89%] Linking CXX executable reduction_real_O1

[ 89%] Built target reduction_real_O1

Scanning dependencies of target reduction_real_O2

[ 91%] Building CXX object 4-Reduction/CMakeFiles/reduction_real_O2.dir/reduction.cpp.o

[ 93%] Building CXX object 4-Reduction/CMakeFiles/reduction_real_O2.dir/main_reduction.cpp.o

[ 95%] Linking CXX executable reduction_real_O2

[ 95%] Built target reduction_real_O2

[100%] Built target reduction_O2



Let's get the restults :

$ make plot_all

[ 2%] Built target asterics_hpc

[ 5%] Built target reduction_O2

[ 6%] Built target reduction_O1

[ 8%] Built target reduction_O0

[ 11%] Built target reduction_O3

[ 16%] Built target plot_reductionBase

[ 18%] Built target hadamard_product_intrinsics

[ 20%] Built target hadamard_product_vectorize

[ 22%] Built target hadamard_product_O3

[ 26%] Built target plot_hadamardIntrinsics

[ 28%] Built target hadamard_product_Ofast

[ 30%] Built target hadamard_product_O2

[ 32%] Built target hadamard_product_O1

[ 35%] Built target hadamard_product_O0

[ 42%] Built target plot_hadamardBase

[ 46%] Built target plot_hadamardVectorize

[ 48%] Built target saxpy_intrinsics

[ 51%] Built target saxpy_O3

[ 53%] Built target saxpy_vectorize

[ 57%] Built target plot_saxpyIntrinsics

[ 61%] Built target plot_saxpyVectorize

[ 63%] Built target saxpy_Ofast

[ 65%] Built target saxpy_O2

[ 67%] Built target saxpy_O0

[ 70%] Built target saxpy_O1

[ 77%] Built target plot_saxpyBase

[ 81%] Built target reduction_real_O2

[ 85%] Built target reduction_real_O0

[ 88%] Built target reduction_real_Ofast

[ 91%] Built target reduction_real_O3

[ 93%] Built target reduction_real_O1

Scanning dependencies of target plot_reductionReal

[ 93%] Run reduction_real_Ofast program

Reduction

evaluateReduction : nbElement = 1000, cyclePerElement = 3.149 cy/el, elapsedTime = 3149 cy

evaluateReduction : nbElement = 2000, cyclePerElement = 3.3915 cy/el, elapsedTime = 6783 cy

evaluateReduction : nbElement = 3000, cyclePerElement = 3.476 cy/el, elapsedTime = 10428 cy

evaluateReduction : nbElement = 5000, cyclePerElement = 3.5432 cy/el, elapsedTime = 17716 cy

evaluateReduction : nbElement = 10000, cyclePerElement = 3.596 cy/el, elapsedTime = 35960 cy

[ 95%] Run reduction_real_O0 program

Reduction

evaluateReduction : nbElement = 1000, cyclePerElement = 32.743 cy/el, elapsedTime = 32743 cy

evaluateReduction : nbElement = 2000, cyclePerElement = 32.777 cy/el, elapsedTime = 65554 cy

evaluateReduction : nbElement = 3000, cyclePerElement = 32.7923 cy/el, elapsedTime = 98377 cy

evaluateReduction : nbElement = 5000, cyclePerElement = 32.7892 cy/el, elapsedTime = 163946 cy

evaluateReduction : nbElement = 10000, cyclePerElement = 32.8056 cy/el, elapsedTime = 328056 cy

[ 96%] Run reduction_real_O1 program

Reduction

evaluateReduction : nbElement = 1000, cyclePerElement = 13.91 cy/el, elapsedTime = 13910 cy

evaluateReduction : nbElement = 2000, cyclePerElement = 14.2415 cy/el, elapsedTime = 28483 cy

evaluateReduction : nbElement = 3000, cyclePerElement = 14.3533 cy/el, elapsedTime = 43060 cy

evaluateReduction : nbElement = 5000, cyclePerElement = 14.4422 cy/el, elapsedTime = 72211 cy

evaluateReduction : nbElement = 10000, cyclePerElement = 14.5121 cy/el, elapsedTime = 145121 cy

[ 97%] Run reduction_real_O2 program

Reduction

evaluateReduction : nbElement = 1000, cyclePerElement = 13.911 cy/el, elapsedTime = 13911 cy

evaluateReduction : nbElement = 2000, cyclePerElement = 14.2435 cy/el, elapsedTime = 28487 cy

evaluateReduction : nbElement = 3000, cyclePerElement = 14.3523 cy/el, elapsedTime = 43057 cy

evaluateReduction : nbElement = 5000, cyclePerElement = 14.4424 cy/el, elapsedTime = 72212 cy

evaluateReduction : nbElement = 10000, cyclePerElement = 14.5128 cy/el, elapsedTime = 145128 cy

[ 98%] Run reduction_real_O3 program

Reduction

evaluateReduction : nbElement = 1000, cyclePerElement = 13.912 cy/el, elapsedTime = 13912 cy

evaluateReduction : nbElement = 2000, cyclePerElement = 14.2455 cy/el, elapsedTime = 28491 cy

evaluateReduction : nbElement = 3000, cyclePerElement = 14.3543 cy/el, elapsedTime = 43063 cy

evaluateReduction : nbElement = 5000, cyclePerElement = 14.4424 cy/el, elapsedTime = 72212 cy

evaluateReduction : nbElement = 10000, cyclePerElement = 14.5126 cy/el, elapsedTime = 145126 cy

[100%] Call gnuplot reductionReal

[100%] Built target plot_reductionReal

[100%] Built target plot_all



Sounds better!