10.6.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 [ 2%] Built target hadamard_product_O1 [ 4%] Built target hadamard_product_vectorize [ 6%] Built target hadamard_product_O0 [ 8%] Built target hadamard_product_O3 [ 10%] Built target hadamard_product_Ofast [ 10%] Built target hadamard_product_intrinsics [ 13%] Built target asterics_hpc [ 15%] Built target saxpy_O2 [ 17%] Built target saxpy_O0 [ 19%] Built target saxpy_O3 [ 19%] Built target saxpy_O1 [ 19%] Built target saxpy_Ofast [ 21%] Built target saxpy_vectorize [ 23%] Built target saxpy_intrinsics [ 26%] Built target reduction_real_O2 [ 28%] Built target reduction_real_intrinsics_interleave8_O3 [ 30%] Built target reduction_real_O1 [ 32%] Built target reduction_real_Ofast [ 34%] Built target reduction_O0 [ 36%] Built target reduction_O1 [ 39%] Built target reduction_O2 [ 39%] Built target reduction_O3 [ 41%] Built target reduction_real_intrinsics_interleave4_O3 [ 43%] Built target reduction_real_vectorize_Ofast [ 45%] Built target reduction_real_intrinsics_interleave2_O3 [ 47%] Built target reduction_real_intrinsics_O3 [ 52%] Built target reduction_real_O3 [ 54%] Built target reduction_real_O0 [ 56%] Built target reduction_real_vectorize_O3 [ 58%] Built target barycentre_intrinsics [ 60%] Built target barycentre_base_O2 [ 63%] Built target barycentre_base_O1 [ 65%] Built target barycentre_base_O0 [ 67%] Built target barycentre_vectorizeSplit_O3 [ 69%] Built target barycentre_base_Ofast [ 71%] Built target barycentre_base_O3 [ 73%] Built target barycentre_vectorize_O3 Scanning dependencies of target sgemm_intrinsicsPitch_O3 [ 73%] Building CXX object 6-Sgemm/CMakeFiles/sgemm_intrinsicsPitch_O3.dir/sgemm_intrinsics_pitch.cpp.o [ 76%] Building CXX object 6-Sgemm/CMakeFiles/sgemm_intrinsicsPitch_O3.dir/main_sgemm_intrinsics_pitch.cpp.o [ 76%] Linking CXX executable sgemm_intrinsicsPitch_O3 [ 76%] Built target sgemm_intrinsicsPitch_O3 [ 80%] Built target sgemm_vectorize_Ofast [ 82%] Built target sgemm_base_O1 [ 84%] Built target sgemm_vectorize_O3 [ 86%] Built target sgemm_base_Ofast [ 89%] Built target sgemm_base_O3 [ 91%] Built target sgemm_base_O0 [ 93%] Built target sgemm_intrinsics_O3 [ 95%] Built target sgemm_swap_Ofast [ 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 [ 6%] Built target sgemm_swap_Ofast [ 8%] Built target plot_sgemmSwap [ 8%] Built target hadamard_product_intrinsics [ 9%] Built target hadamard_product_vectorize [ 10%] Built target hadamard_product_O3 [ 13%] Built target plot_hadamardIntrinsics [ 14%] Built target hadamard_product_Ofast [ 15%] Built target hadamard_product_O2 [ 15%] Built target hadamard_product_O1 [ 16%] Built target hadamard_product_O0 [ 19%] Built target plot_hadamardBase [ 20%] Built target plot_hadamardVectorize [ 21%] Built target saxpy_intrinsics [ 22%] Built target saxpy_O3 [ 24%] Built target saxpy_vectorize [ 26%] Built target plot_saxpyIntrinsics [ 27%] Built target plot_saxpyVectorize [ 27%] Built target saxpy_Ofast [ 28%] Built target saxpy_O2 [ 30%] Built target saxpy_O0 [ 30%] Built target saxpy_O1 [ 32%] Built target plot_saxpyBase [ 33%] Built target reduction_real_intrinsics_O3 [ 34%] Built target reduction_real_intrinsics_interleave8_O3 [ 36%] Built target reduction_real_Ofast [ 37%] Built target reduction_real_intrinsics_interleave4_O3 [ 38%] Built target reduction_real_vectorize_Ofast [ 39%] Built target reduction_real_intrinsics_interleave2_O3 [ 42%] Built target plot_reductionIntrinsicsInterleave8 [ 43%] Built target reduction_real_vectorize_O3 [ 45%] Built target reduction_real_O3 [ 48%] Built target plot_reductionVectorize [ 48%] Built target reduction_O3 [ 49%] Built target reduction_O0 [ 50%] Built target reduction_O1 [ 51%] Built target reduction_O2 [ 54%] Built target plot_reductionBase [ 55%] Built target reduction_real_O0 [ 56%] Built target reduction_real_O2 [ 57%] Built target reduction_real_O1 [ 60%] Built target plot_reductionReal [ 62%] Built target plot_reductionIntrinsicsInterleave2 [ 65%] Built target plot_reductionIntrinsicsInterleave4 [ 67%] Built target plot_reductionIntrinsics [ 68%] Built target barycentre_vectorize_O3 [ 69%] Built target barycentre_intrinsics [ 71%] Built target barycentre_vectorizeSplit_O3 [ 72%] Built target barycentre_base_O3 [ 74%] Built target plot_barycentreIntrinsics [ 75%] Built target barycentre_base_O2 [ 77%] Built target barycentre_base_O1 [ 78%] Built target barycentre_base_O0 [ 79%] Built target barycentre_base_Ofast [ 81%] Built target plot_barycentreBase [ 83%] Built target plot_barycentreVectorize [ 84%] Built target sgemm_intrinsics_O3 [ 85%] Built target sgemm_intrinsicsPitch_O3 [ 87%] Built target sgemm_vectorize_Ofast [ 89%] Built target sgemm_vectorize_O3 Scanning dependencies of target plot_sgemmIntrinsicsPitch [ 89%] Run sgemm_intrinsicsPitch_O3 program SGEMM Intrinsics Pitch evaluateSgemm : nbElement = 10, cyclePerElement = 5.88 cy/el, elapsedTime = 588 cy evaluateSgemm : nbElement = 16, cyclePerElement = 5.66406 cy/el, elapsedTime = 1450 cy evaluateSgemm : nbElement = 24, cyclePerElement = 6.52604 cy/el, elapsedTime = 3759 cy evaluateSgemm : nbElement = 32, cyclePerElement = 8.28906 cy/el, elapsedTime = 8488 cy evaluateSgemm : nbElement = 40, cyclePerElement = 9.885 cy/el, elapsedTime = 15816 cy evaluateSgemm : nbElement = 56, cyclePerElement = 12.8973 cy/el, elapsedTime = 40446 cy evaluateSgemm : nbElement = 80, cyclePerElement = 17.5147 cy/el, elapsedTime = 112094 cy evaluateSgemm : nbElement = 90, cyclePerElement = 20.7332 cy/el, elapsedTime = 167939 cy evaluateSgemm : nbElement = 104, cyclePerElement = 22.4213 cy/el, elapsedTime = 242509 cy [ 89%] Call gnuplot sgemmIntrinsicsPitch [ 91%] Built target plot_sgemmIntrinsicsPitch [ 92%] Built target plot_sgemmIntrinsics [ 93%] Built target sgemm_base_O2 [ 95%] Built target sgemm_base_O1 [ 96%] Built target sgemm_base_O0 [ 98%] Built target plot_sgemmBase [100%] Built target plot_sgemmVectorize [100%] Built target plot_all |