11.1.3 : 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 [ 4%] Built target hadamard_product_vectorize [ 4%] Built target hadamard_product_O0 [ 4%] Built target hadamard_product_O3 [ 6%] Built target hadamard_product_Ofast [ 8%] Built target hadamard_product_intrinsics [ 8%] Built target asterics_hpc [ 10%] Built target saxpy_O2 [ 13%] Built target saxpy_O0 [ 15%] Built target saxpy_O3 [ 15%] Built target saxpy_O1 [ 15%] Built target saxpy_Ofast [ 17%] Built target saxpy_vectorize [ 19%] Built target saxpy_intrinsics [ 21%] Built target reduction_real_O2 [ 23%] Built target reduction_real_intrinsics_interleave8_O3 [ 26%] Built target reduction_real_O1 [ 28%] Built target reduction_real_Ofast [ 30%] Built target reduction_O0 [ 30%] Built target reduction_O1 [ 32%] Built target reduction_O2 [ 34%] Built target reduction_O3 [ 36%] Built target reduction_real_intrinsics_interleave4_O3 [ 39%] Built target reduction_real_vectorize_Ofast [ 41%] Built target reduction_real_intrinsics_interleave2_O3 [ 43%] Built target reduction_real_intrinsics_O3 [ 45%] Built target reduction_real_O3 [ 47%] Built target reduction_real_O0 [ 50%] Built target reduction_real_vectorize_O3 [ 52%] Built target barycentre_intrinsics [ 54%] Built target barycentre_base_O2 [ 56%] Built target barycentre_base_O1 [ 58%] Built target barycentre_base_O0 [ 60%] Built target barycentre_vectorizeSplit_O3 [ 63%] Built target barycentre_base_Ofast [ 65%] Built target barycentre_base_O3 [ 67%] Built target barycentre_vectorize_O3 [ 69%] Built target sgemm_intrinsicsPitch_O3 [ 71%] Built target sgemm_vectorize_Ofast [ 73%] Built target sgemm_base_O1 [ 76%] Built target sgemm_vectorize_O3 [ 78%] Built target sgemm_base_Ofast [ 80%] Built target sgemm_base_O3 [ 82%] Built target sgemm_base_O0 [ 84%] Built target sgemm_intrinsics_O3 [ 86%] Built target sgemm_swap_Ofast [ 89%] Built target sgemm_swap_O3 [ 91%] Built target sgemm_base_O2 Scanning dependencies of target branchPrediction_Ofast [ 91%] Building CXX object 7-BranchingPredicator/CMakeFiles/branchPrediction_Ofast.dir/main.cpp.o [ 93%] Linking CXX executable branchPrediction_Ofast [ 93%] Built target branchPrediction_Ofast Scanning dependencies of target branchPrediction_O0 [ 95%] Building CXX object 7-BranchingPredicator/CMakeFiles/branchPrediction_O0.dir/main.cpp.o [ 95%] Linking CXX executable branchPrediction_O0 [ 95%] Built target branchPrediction_O0 Scanning dependencies of target branchPrediction_O2 [ 95%] Building CXX object 7-BranchingPredicator/CMakeFiles/branchPrediction_O2.dir/main.cpp.o [ 95%] Linking CXX executable branchPrediction_O2 [ 95%] Built target branchPrediction_O2 Scanning dependencies of target branchPrediction_O1 [ 95%] Building CXX object 7-BranchingPredicator/CMakeFiles/branchPrediction_O1.dir/main.cpp.o [ 97%] Linking CXX executable branchPrediction_O1 [ 97%] Built target branchPrediction_O1 Scanning dependencies of target branchPrediction_O3 [100%] Building CXX object 7-BranchingPredicator/CMakeFiles/branchPrediction_O3.dir/main.cpp.o [100%] Linking CXX executable branchPrediction_O3 [100%] Built target branchPrediction_O3 |
Let's get the performances :
|
$ make plot_all [ 0%] Built target asterics_hpc [ 1%] Built target branchPrediction_O3 [ 2%] Built target branchPrediction_Ofast [ 3%] Built target branchPrediction_O0 [ 3%] Built target branchPrediction_O2 [ 4%] Built target branchPrediction_O1 Scanning dependencies of target plot_branchPredicator [ 4%] Run branchPrediction_Ofast program Branching probability evaluateDummyCopy : proba = 0.1, nbElement = 10000, cyclePerElement = 2.7577 cy/el, elapsedTime = 27577 cy evaluateDummyCopy : proba = 0.2, nbElement = 10000, cyclePerElement = 4.664 cy/el, elapsedTime = 46640 cy evaluateDummyCopy : proba = 0.3, nbElement = 10000, cyclePerElement = 6.6438 cy/el, elapsedTime = 66438 cy evaluateDummyCopy : proba = 0.4, nbElement = 10000, cyclePerElement = 8.5596 cy/el, elapsedTime = 85596 cy evaluateDummyCopy : proba = 0.5, nbElement = 10000, cyclePerElement = 9.4054 cy/el, elapsedTime = 94054 cy evaluateDummyCopy : proba = 0.6, nbElement = 10000, cyclePerElement = 8.0784 cy/el, elapsedTime = 80784 cy evaluateDummyCopy : proba = 0.7, nbElement = 10000, cyclePerElement = 6.4467 cy/el, elapsedTime = 64467 cy evaluateDummyCopy : proba = 0.8, nbElement = 10000, cyclePerElement = 4.3135 cy/el, elapsedTime = 43135 cy evaluateDummyCopy : proba = 0.9, nbElement = 10000, cyclePerElement = 2.5526 cy/el, elapsedTime = 25526 cy [ 4%] Run branchPrediction_O0 program Branching probability evaluateDummyCopy : proba = 0.1, nbElement = 10000, cyclePerElement = 8.6561 cy/el, elapsedTime = 86561 cy evaluateDummyCopy : proba = 0.2, nbElement = 10000, cyclePerElement = 12.2829 cy/el, elapsedTime = 122829 cy evaluateDummyCopy : proba = 0.3, nbElement = 10000, cyclePerElement = 15.6031 cy/el, elapsedTime = 156031 cy evaluateDummyCopy : proba = 0.4, nbElement = 10000, cyclePerElement = 19.1187 cy/el, elapsedTime = 191187 cy evaluateDummyCopy : proba = 0.5, nbElement = 10000, cyclePerElement = 20.0603 cy/el, elapsedTime = 200603 cy evaluateDummyCopy : proba = 0.6, nbElement = 10000, cyclePerElement = 18.609 cy/el, elapsedTime = 186090 cy evaluateDummyCopy : proba = 0.7, nbElement = 10000, cyclePerElement = 15.6832 cy/el, elapsedTime = 156832 cy evaluateDummyCopy : proba = 0.8, nbElement = 10000, cyclePerElement = 12.2314 cy/el, elapsedTime = 122314 cy evaluateDummyCopy : proba = 0.9, nbElement = 10000, cyclePerElement = 8.6759 cy/el, elapsedTime = 86759 cy [ 4%] Run branchPrediction_O1 program Branching probability evaluateDummyCopy : proba = 0.1, nbElement = 10000, cyclePerElement = 2.8215 cy/el, elapsedTime = 28215 cy evaluateDummyCopy : proba = 0.2, nbElement = 10000, cyclePerElement = 4.5344 cy/el, elapsedTime = 45344 cy evaluateDummyCopy : proba = 0.3, nbElement = 10000, cyclePerElement = 6.7235 cy/el, elapsedTime = 67235 cy evaluateDummyCopy : proba = 0.4, nbElement = 10000, cyclePerElement = 9.4147 cy/el, elapsedTime = 94147 cy evaluateDummyCopy : proba = 0.5, nbElement = 10000, cyclePerElement = 10.3784 cy/el, elapsedTime = 103784 cy evaluateDummyCopy : proba = 0.6, nbElement = 10000, cyclePerElement = 9.6791 cy/el, elapsedTime = 96791 cy evaluateDummyCopy : proba = 0.7, nbElement = 10000, cyclePerElement = 7.4134 cy/el, elapsedTime = 74134 cy evaluateDummyCopy : proba = 0.8, nbElement = 10000, cyclePerElement = 4.9292 cy/el, elapsedTime = 49292 cy evaluateDummyCopy : proba = 0.9, nbElement = 10000, cyclePerElement = 2.955 cy/el, elapsedTime = 29550 cy [ 6%] Run branchPrediction_O2 program Branching probability evaluateDummyCopy : proba = 0.1, nbElement = 10000, cyclePerElement = 2.7869 cy/el, elapsedTime = 27869 cy evaluateDummyCopy : proba = 0.2, nbElement = 10000, cyclePerElement = 4.5225 cy/el, elapsedTime = 45225 cy evaluateDummyCopy : proba = 0.3, nbElement = 10000, cyclePerElement = 6.6983 cy/el, elapsedTime = 66983 cy evaluateDummyCopy : proba = 0.4, nbElement = 10000, cyclePerElement = 8.635 cy/el, elapsedTime = 86350 cy evaluateDummyCopy : proba = 0.5, nbElement = 10000, cyclePerElement = 9.4544 cy/el, elapsedTime = 94544 cy evaluateDummyCopy : proba = 0.6, nbElement = 10000, cyclePerElement = 8.2676 cy/el, elapsedTime = 82676 cy evaluateDummyCopy : proba = 0.7, nbElement = 10000, cyclePerElement = 6.5888 cy/el, elapsedTime = 65888 cy evaluateDummyCopy : proba = 0.8, nbElement = 10000, cyclePerElement = 4.3457 cy/el, elapsedTime = 43457 cy evaluateDummyCopy : proba = 0.9, nbElement = 10000, cyclePerElement = 2.6152 cy/el, elapsedTime = 26152 cy [ 6%] Run branchPrediction_O3 program Branching probability evaluateDummyCopy : proba = 0.1, nbElement = 10000, cyclePerElement = 2.6587 cy/el, elapsedTime = 26587 cy evaluateDummyCopy : proba = 0.2, nbElement = 10000, cyclePerElement = 4.6211 cy/el, elapsedTime = 46211 cy evaluateDummyCopy : proba = 0.3, nbElement = 10000, cyclePerElement = 6.6255 cy/el, elapsedTime = 66255 cy evaluateDummyCopy : proba = 0.4, nbElement = 10000, cyclePerElement = 8.7231 cy/el, elapsedTime = 87231 cy evaluateDummyCopy : proba = 0.5, nbElement = 10000, cyclePerElement = 9.1485 cy/el, elapsedTime = 91485 cy evaluateDummyCopy : proba = 0.6, nbElement = 10000, cyclePerElement = 8.4031 cy/el, elapsedTime = 84031 cy evaluateDummyCopy : proba = 0.7, nbElement = 10000, cyclePerElement = 6.4995 cy/el, elapsedTime = 64995 cy evaluateDummyCopy : proba = 0.8, nbElement = 10000, cyclePerElement = 4.3294 cy/el, elapsedTime = 43294 cy evaluateDummyCopy : proba = 0.9, nbElement = 10000, cyclePerElement = 2.6311 cy/el, elapsedTime = 26311 cy [ 7%] Call gnuplot branchPredicator [ 7%] Built target plot_branchPredicator [ 8%] Built target hadamard_product_intrinsics [ 8%] Built target hadamard_product_vectorize [ 8%] Built target hadamard_product_O3 [ 9%] Built target plot_hadamardIntrinsics [ 10%] Built target hadamard_product_Ofast [ 12%] Built target hadamard_product_O2 [ 13%] Built target hadamard_product_O1 [ 13%] Built target hadamard_product_O0 [ 15%] Built target plot_hadamardBase [ 16%] Built target plot_hadamardVectorize [ 18%] Built target saxpy_intrinsics [ 19%] Built target saxpy_O3 [ 20%] Built target saxpy_vectorize [ 21%] Built target plot_saxpyIntrinsics [ 22%] Built target plot_saxpyVectorize [ 22%] Built target saxpy_Ofast [ 24%] Built target saxpy_O2 [ 25%] Built target saxpy_O0 [ 25%] Built target saxpy_O1 [ 27%] Built target plot_saxpyBase [ 28%] Built target reduction_real_intrinsics_O3 [ 30%] Built target reduction_real_intrinsics_interleave8_O3 [ 31%] Built target reduction_real_Ofast [ 32%] Built target reduction_real_intrinsics_interleave4_O3 [ 33%] Built target reduction_real_vectorize_Ofast [ 34%] Built target reduction_real_intrinsics_interleave2_O3 [ 37%] Built target plot_reductionIntrinsicsInterleave8 [ 38%] Built target reduction_real_vectorize_O3 [ 39%] Built target reduction_real_O3 [ 42%] Built target plot_reductionVectorize [ 43%] Built target reduction_O3 [ 44%] Built target reduction_O0 [ 44%] Built target reduction_O1 [ 45%] Built target reduction_O2 [ 48%] Built target plot_reductionBase [ 49%] Built target reduction_real_O0 [ 50%] Built target reduction_real_O2 [ 51%] Built target reduction_real_O1 [ 54%] Built target plot_reductionReal [ 56%] Built target plot_reductionIntrinsicsInterleave2 [ 59%] Built target plot_reductionIntrinsicsInterleave4 [ 61%] Built target plot_reductionIntrinsics [ 62%] Built target barycentre_vectorize_O3 [ 63%] Built target barycentre_intrinsics [ 65%] Built target barycentre_vectorizeSplit_O3 [ 66%] Built target barycentre_base_O3 [ 68%] Built target plot_barycentreIntrinsics [ 69%] Built target barycentre_base_O2 [ 71%] Built target barycentre_base_O1 [ 72%] Built target barycentre_base_O0 [ 73%] Built target barycentre_base_Ofast [ 75%] Built target plot_barycentreBase [ 77%] Built target plot_barycentreVectorize [ 78%] Built target sgemm_intrinsics_O3 [ 79%] Built target sgemm_intrinsicsPitch_O3 [ 80%] Built target sgemm_vectorize_Ofast [ 81%] Built target sgemm_vectorize_O3 [ 84%] Built target plot_sgemmIntrinsicsPitch [ 85%] Built target plot_sgemmIntrinsics [ 86%] Built target sgemm_base_O2 [ 87%] Built target sgemm_base_O1 [ 89%] Built target sgemm_base_Ofast [ 90%] Built target sgemm_base_O3 [ 91%] Built target sgemm_base_O0 [ 93%] Built target plot_sgemmBase [ 95%] Built target sgemm_swap_O3 [ 96%] Built target sgemm_swap_Ofast [ 98%] Built target plot_sgemmVectorize [100%] Built target plot_sgemmSwap [100%] Built target plot_all |