10.3.5 : 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 [ 6%] Built target hadamard_product_vectorize [ 8%] Built target hadamard_product_O0 [ 8%] Built target hadamard_product_O3 [ 10%] Built target hadamard_product_Ofast [ 13%] Built target hadamard_product_intrinsics [ 15%] Built target asterics_hpc [ 17%] Built target saxpy_O2 [ 17%] Built target saxpy_O0 [ 19%] Built target saxpy_O3 [ 21%] Built target saxpy_O1 [ 23%] Built target saxpy_Ofast [ 26%] Built target saxpy_vectorize [ 26%] Built target saxpy_intrinsics [ 28%] Built target reduction_real_O2 [ 30%] Built target reduction_real_intrinsics_interleave8_O3 [ 34%] Built target reduction_real_O1 [ 36%] Built target reduction_real_Ofast [ 39%] Built target reduction_O0 [ 41%] Built target reduction_O1 [ 41%] Built target reduction_O2 [ 43%] Built target reduction_O3 [ 45%] Built target reduction_real_intrinsics_interleave4_O3 [ 47%] Built target reduction_real_vectorize_Ofast [ 52%] Built target reduction_real_intrinsics_interleave2_O3 [ 54%] Built target reduction_real_intrinsics_O3 [ 56%] Built target reduction_real_O3 [ 58%] Built target reduction_real_O0 [ 60%] Built target reduction_real_vectorize_O3 [ 63%] Built target barycentre_intrinsics [ 65%] Built target barycentre_base_O2 [ 67%] Built target barycentre_base_O1 [ 69%] Built target barycentre_base_O0 [ 71%] Built target barycentre_vectorizeSplit_O3 [ 76%] Built target barycentre_base_Ofast [ 78%] Built target barycentre_base_O3 [ 80%] Built target barycentre_vectorize_O3 [ 84%] Built target sgemm_base_O1 [ 86%] Built target sgemm_base_Ofast [ 89%] Built target sgemm_base_O3 [ 91%] Built target sgemm_base_O0 Scanning dependencies of target sgemm_swap_Ofast [ 93%] Building CXX object 6-Sgemm/CMakeFiles/sgemm_swap_Ofast.dir/sgemm_swap.cpp.o [ 93%] Building CXX object 6-Sgemm/CMakeFiles/sgemm_swap_Ofast.dir/main_sgemm_swap.cpp.o [ 95%] Linking CXX executable sgemm_swap_Ofast [ 95%] Built target sgemm_swap_Ofast Scanning dependencies of target sgemm_swap_O3 [ 97%] Building CXX object 6-Sgemm/CMakeFiles/sgemm_swap_O3.dir/sgemm_swap.cpp.o [ 97%] Building CXX object 6-Sgemm/CMakeFiles/sgemm_swap_O3.dir/main_sgemm_swap.cpp.o [ 97%] Linking CXX executable sgemm_swap_O3 [ 97%] Built target sgemm_swap_O3 [100%] Built target sgemm_base_O2 |
Let's get the performances :
|
$ make plot_all [ 1%] Built target asterics_hpc [ 2%] Built target sgemm_swap_O3 [ 3%] Built target sgemm_base_Ofast [ 4%] Built target sgemm_base_O3 [ 7%] Built target sgemm_swap_Ofast Scanning dependencies of target plot_sgemmSwap [ 7%] Run sgemm_swap_Ofast program SGEMM Swap evaluateSgemm : nbElement = 10, cyclePerElement = 15.69 cy/el, elapsedTime = 1569 cy evaluateSgemm : nbElement = 20, cyclePerElement = 16.23 cy/el, elapsedTime = 6492 cy evaluateSgemm : nbElement = 30, cyclePerElement = 23.3 cy/el, elapsedTime = 20970 cy evaluateSgemm : nbElement = 50, cyclePerElement = 30.3024 cy/el, elapsedTime = 75756 cy evaluateSgemm : nbElement = 80, cyclePerElement = 37.2161 cy/el, elapsedTime = 238183 cy evaluateSgemm : nbElement = 100, cyclePerElement = 45.8609 cy/el, elapsedTime = 458609 cy [ 8%] Run sgemm_swap_O3 program SGEMM Swap evaluateSgemm : nbElement = 10, cyclePerElement = 14.94 cy/el, elapsedTime = 1494 cy evaluateSgemm : nbElement = 20, cyclePerElement = 16.95 cy/el, elapsedTime = 6780 cy evaluateSgemm : nbElement = 30, cyclePerElement = 22.7011 cy/el, elapsedTime = 20431 cy evaluateSgemm : nbElement = 50, cyclePerElement = 28.504 cy/el, elapsedTime = 71260 cy evaluateSgemm : nbElement = 80, cyclePerElement = 36.1014 cy/el, elapsedTime = 231049 cy evaluateSgemm : nbElement = 100, cyclePerElement = 45.3551 cy/el, elapsedTime = 453551 cy [ 8%] Call gnuplot sgemmSwap [ 9%] Built target plot_sgemmSwap [ 10%] Built target hadamard_product_intrinsics [ 12%] Built target hadamard_product_vectorize [ 12%] Built target hadamard_product_O3 [ 14%] Built target plot_hadamardIntrinsics [ 15%] Built target hadamard_product_Ofast [ 17%] Built target hadamard_product_O2 [ 18%] Built target hadamard_product_O1 [ 19%] Built target hadamard_product_O0 [ 21%] Built target plot_hadamardBase [ 23%] Built target plot_hadamardVectorize [ 23%] Built target saxpy_intrinsics [ 24%] Built target saxpy_O3 [ 25%] Built target saxpy_vectorize [ 28%] Built target plot_saxpyIntrinsics [ 29%] Built target plot_saxpyVectorize [ 30%] Built target saxpy_Ofast [ 31%] Built target saxpy_O2 [ 31%] Built target saxpy_O0 [ 32%] Built target saxpy_O1 [ 35%] Built target plot_saxpyBase [ 36%] Built target reduction_real_intrinsics_O3 [ 37%] Built target reduction_real_intrinsics_interleave8_O3 [ 39%] Built target reduction_real_Ofast [ 40%] Built target reduction_real_intrinsics_interleave4_O3 [ 41%] Built target reduction_real_vectorize_Ofast [ 43%] Built target reduction_real_intrinsics_interleave2_O3 [ 47%] Built target plot_reductionIntrinsicsInterleave8 [ 48%] Built target reduction_real_vectorize_O3 [ 50%] Built target reduction_real_O3 [ 52%] Built target plot_reductionVectorize [ 53%] Built target reduction_O3 [ 54%] Built target reduction_O0 [ 56%] Built target reduction_O1 [ 56%] Built target reduction_O2 [ 58%] Built target plot_reductionBase [ 59%] Built target reduction_real_O0 [ 60%] Built target reduction_real_O2 [ 63%] Built target reduction_real_O1 [ 67%] Built target plot_reductionReal [ 69%] Built target plot_reductionIntrinsicsInterleave2 [ 71%] Built target plot_reductionIntrinsicsInterleave4 [ 74%] Built target plot_reductionIntrinsics [ 75%] Built target barycentre_vectorize_O3 [ 76%] Built target barycentre_intrinsics [ 78%] Built target barycentre_vectorizeSplit_O3 [ 79%] Built target barycentre_base_O3 [ 81%] Built target plot_barycentreIntrinsics [ 82%] Built target barycentre_base_O2 [ 84%] Built target barycentre_base_O1 [ 85%] Built target barycentre_base_O0 [ 87%] Built target barycentre_base_Ofast [ 90%] Built target plot_barycentreBase [ 92%] Built target plot_barycentreVectorize [ 93%] Built target sgemm_base_O2 [ 96%] Built target sgemm_base_O1 [ 97%] Built target sgemm_base_O0 [100%] Built target plot_sgemmBase [100%] Built target plot_all |