11.4.3 : The compilation
Let's compile :|
$ 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 [ 11%] Built target saxpy_O0 [ 13%] Built target saxpy_O3 [ 15%] Built target saxpy_O1 [ 15%] Built target saxpy_Ofast [ 17%] Built target saxpy_vectorize [ 20%] Built target saxpy_intrinsics [ 22%] Built target reduction_real_O2 [ 24%] Built target reduction_real_intrinsics_interleave8_O3 [ 26%] Built target reduction_real_O1 [ 28%] Built target reduction_real_Ofast [ 28%] Built target reduction_O0 [ 31%] 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 [ 40%] 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 [ 77%] Built target sgemm_base_O0 [ 80%] Built target sgemm_intrinsics_O3 [ 82%] Built target sgemm_swap_Ofast [ 84%] Built target sgemm_swap_O3 [ 86%] Built target sgemm_base_O2 Scanning dependencies of target branchIntrinsics_O3 [ 86%] Building CXX object 7-BranchingPredicator/CMakeFiles/branchIntrinsics_O3.dir/main_intrinsics.cpp.o [ 86%] Linking CXX executable branchIntrinsics_O3 [ 86%] Built target branchIntrinsics_O3 [ 88%] Built target branchVectorize_Ofast [ 91%] Built target branchVectorize_O3 [ 93%] Built target branchPrediction_O1 [ 93%] Built target branchPrediction_O2 [ 95%] Built target branchPrediction_O0 [ 97%] Built target branchPrediction_O3 [ 97%] Built target branchPrediction_Ofast [100%] Built target branchOptimise_O3 [100%] Built target branchOptimise_Ofast |
Let's get the performances :
|
$ make plot_all [ 0%] Built target asterics_hpc [ 0%] Built target branchOptimise_Ofast [ 1%] Built target branchPrediction_O3 [ 1%] Built target branchPrediction_Ofast [ 2%] Built target branchOptimise_O3 [ 3%] Built target plot_branchOptimise [ 3%] Built target hadamard_product_intrinsics [ 4%] Built target hadamard_product_vectorize [ 6%] Built target hadamard_product_O3 [ 7%] Built target plot_hadamardIntrinsics [ 8%] Built target hadamard_product_Ofast [ 8%] Built target hadamard_product_O2 [ 9%] Built target hadamard_product_O1 [ 9%] Built target hadamard_product_O0 [ 12%] Built target plot_hadamardBase [ 13%] Built target plot_hadamardVectorize [ 14%] Built target saxpy_intrinsics [ 15%] Built target saxpy_O3 [ 16%] Built target saxpy_vectorize [ 18%] Built target plot_saxpyIntrinsics [ 19%] Built target plot_saxpyVectorize [ 19%] Built target saxpy_Ofast [ 19%] Built target saxpy_O2 [ 20%] Built target saxpy_O0 [ 21%] Built target saxpy_O1 [ 24%] Built target plot_saxpyBase [ 24%] Built target reduction_real_intrinsics_O3 [ 25%] Built target reduction_real_intrinsics_interleave8_O3 [ 26%] Built target reduction_real_Ofast [ 27%] Built target reduction_real_intrinsics_interleave4_O3 [ 28%] Built target reduction_real_vectorize_Ofast [ 30%] Built target reduction_real_intrinsics_interleave2_O3 [ 32%] Built target plot_reductionIntrinsicsInterleave8 [ 33%] Built target reduction_real_vectorize_O3 [ 34%] Built target reduction_real_O3 [ 36%] Built target plot_reductionVectorize [ 37%] Built target reduction_O3 [ 37%] Built target reduction_O0 [ 38%] Built target reduction_O1 [ 38%] Built target reduction_O2 [ 40%] Built target plot_reductionBase [ 42%] Built target reduction_real_O0 [ 43%] Built target reduction_real_O2 [ 44%] Built target reduction_real_O1 [ 46%] Built target plot_reductionReal [ 48%] Built target plot_reductionIntrinsicsInterleave2 [ 50%] Built target plot_reductionIntrinsicsInterleave4 [ 53%] Built target plot_reductionIntrinsics [ 54%] Built target barycentre_vectorize_O3 [ 55%] Built target barycentre_intrinsics [ 56%] Built target barycentre_vectorizeSplit_O3 [ 57%] Built target barycentre_base_O3 [ 59%] Built target plot_barycentreIntrinsics [ 60%] Built target barycentre_base_O2 [ 61%] Built target barycentre_base_O1 [ 62%] Built target barycentre_base_O0 [ 63%] Built target barycentre_base_Ofast [ 66%] Built target plot_barycentreBase [ 67%] Built target plot_barycentreVectorize [ 68%] Built target sgemm_intrinsics_O3 [ 69%] Built target sgemm_intrinsicsPitch_O3 [ 71%] Built target sgemm_vectorize_Ofast [ 72%] Built target sgemm_vectorize_O3 [ 74%] Built target plot_sgemmIntrinsicsPitch [ 75%] Built target plot_sgemmIntrinsics [ 77%] Built target sgemm_base_O2 [ 78%] Built target sgemm_base_O1 [ 79%] Built target sgemm_base_Ofast [ 80%] Built target sgemm_base_O3 [ 80%] Built target sgemm_base_O0 [ 83%] Built target plot_sgemmBase [ 84%] Built target sgemm_swap_O3 [ 85%] Built target sgemm_swap_Ofast [ 87%] Built target plot_sgemmVectorize [ 89%] Built target plot_sgemmSwap [ 90%] Built target branchVectorize_Ofast [ 91%] Built target branchVectorize_O3 [ 92%] Built target plot_branchVectorize [ 93%] Built target branchPrediction_O1 [ 93%] Built target branchPrediction_O2 [ 95%] Built target branchPrediction_O0 [ 97%] Built target plot_branchPredicator [ 97%] Built target branchIntrinsics_O3 Scanning dependencies of target plot_branchIntrinsics [ 98%] Run branchIntrinsics_O3 program Branching probability no branching evaluateDummyCopy : proba = 0.1, nbElement = 10000, cyclePerElement = 0.5131 cy/el, elapsedTime = 5131 cy evaluateDummyCopy : proba = 0.2, nbElement = 10000, cyclePerElement = 0.4989 cy/el, elapsedTime = 4989 cy evaluateDummyCopy : proba = 0.3, nbElement = 10000, cyclePerElement = 0.4789 cy/el, elapsedTime = 4789 cy evaluateDummyCopy : proba = 0.4, nbElement = 10000, cyclePerElement = 0.4819 cy/el, elapsedTime = 4819 cy evaluateDummyCopy : proba = 0.5, nbElement = 10000, cyclePerElement = 0.4422 cy/el, elapsedTime = 4422 cy evaluateDummyCopy : proba = 0.6, nbElement = 10000, cyclePerElement = 0.4587 cy/el, elapsedTime = 4587 cy evaluateDummyCopy : proba = 0.7, nbElement = 10000, cyclePerElement = 0.475 cy/el, elapsedTime = 4750 cy evaluateDummyCopy : proba = 0.8, nbElement = 10000, cyclePerElement = 0.471 cy/el, elapsedTime = 4710 cy evaluateDummyCopy : proba = 0.9, nbElement = 10000, cyclePerElement = 0.4658 cy/el, elapsedTime = 4658 cy [100%] Call gnuplot branchIntrinsics [100%] Built target plot_branchIntrinsics [100%] Built target plot_all |