Chapter 7.2 : La compilation

Comme toujours, on créer un dossier build, dans notre projet, puis on va dedans :

1
2
mkdir build
cd build


On appelle cmake :

cmake ..
-- The C compiler identification is GNU 11.3.0
-- The CXX compiler identification is GNU 11.3.0
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Check for working C compiler: /usr/bin/gcc - skipped
-- Detecting C compile features
-- Detecting C compile features - done
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Check for working CXX compiler: /usr/bin/g++ - skipped
-- Detecting CXX compile features
-- Detecting CXX compile features - done
-- Configuring done
-- Generating done
-- Build files have been written to: XXX/FullHadamardProduct/build


On appelle make :

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
make
[  2%] Building CXX object AstericsHPC/CMakeFiles/asterics_hpc.dir/asterics_alloc.cpp.o
[  5%] Building CXX object AstericsHPC/CMakeFiles/asterics_hpc.dir/timer.cpp.o
[  8%] Linking CXX shared library libasterics_hpc.so
[  8%] Built target asterics_hpc
[ 11%] Building CXX object CMakeFiles/hadamard_product_cpp20_seq_O0.dir/main_cpp20.cpp.o
[ 14%] Linking CXX executable hadamard_product_cpp20_seq_O0
[ 14%] Built target hadamard_product_cpp20_seq_O0
[ 17%] Building CXX object CMakeFiles/hadamard_product_cpp20_seq_O1.dir/main_cpp20.cpp.o
[ 20%] Linking CXX executable hadamard_product_cpp20_seq_O1
[ 20%] Built target hadamard_product_cpp20_seq_O1
[ 22%] Building CXX object CMakeFiles/hadamard_product_cpp20_seq_O2.dir/main_cpp20.cpp.o
[ 25%] Linking CXX executable hadamard_product_cpp20_seq_O2
[ 25%] Built target hadamard_product_cpp20_seq_O2
[ 28%] Building CXX object CMakeFiles/hadamard_product_cpp20_unseq_O1.dir/main_cpp20.cpp.o
[ 31%] Linking CXX executable hadamard_product_cpp20_unseq_O1
[ 31%] Built target hadamard_product_cpp20_unseq_O1
[ 34%] Building CXX object CMakeFiles/hadamard_product_cpp20_unseq_O2.dir/main_cpp20.cpp.o
[ 37%] Linking CXX executable hadamard_product_cpp20_unseq_O2
[ 37%] Built target hadamard_product_cpp20_unseq_O2
[ 40%] Building CXX object CMakeFiles/hadamard_product_cpp20_unseq_O3.dir/main_cpp20.cpp.o
[ 42%] Linking CXX executable hadamard_product_cpp20_unseq_O3
[ 42%] Built target hadamard_product_cpp20_unseq_O3
[ 45%] Building CXX object CMakeFiles/hadamard_product_cpp20_unseq_vectorize.dir/main_cpp20.cpp.o
[ 48%] Linking CXX executable hadamard_product_cpp20_unseq_vectorize
[ 48%] Built target hadamard_product_cpp20_unseq_vectorize
[ 51%] Building CXX object CMakeFiles/hadamard_product_cpp20_unseq_vectorize_align.dir/main_cpp20_vectorize.cpp.o
[ 54%] Linking CXX executable hadamard_product_cpp20_unseq_vectorize_align
[ 54%] Built target hadamard_product_cpp20_unseq_vectorize_align
[ 57%] Building CXX object CMakeFiles/hadamard_product_O0.dir/main.cpp.o
[ 60%] Linking CXX executable hadamard_product_O0
[ 60%] Built target hadamard_product_O0
[ 62%] Building CXX object CMakeFiles/hadamard_product_O1.dir/main.cpp.o
[ 65%] Linking CXX executable hadamard_product_O1
[ 65%] Built target hadamard_product_O1
[ 68%] Building CXX object CMakeFiles/hadamard_product_O2.dir/main.cpp.o
[ 71%] Linking CXX executable hadamard_product_O2
[ 71%] Built target hadamard_product_O2
[ 74%] Building CXX object CMakeFiles/hadamard_product_O3.dir/main.cpp.o
[ 77%] Linking CXX executable hadamard_product_O3
[ 77%] Built target hadamard_product_O3
[ 80%] Building CXX object CMakeFiles/hadamard_product_Ofast.dir/main.cpp.o
[ 82%] Linking CXX executable hadamard_product_Ofast
[ 82%] Built target hadamard_product_Ofast
[ 85%] Building CXX object CMakeFiles/hadamard_product_vectorize.dir/main_vectorize.cpp.o
[ 88%] Linking CXX executable hadamard_product_vectorize
[ 88%] Built target hadamard_product_vectorize
[ 91%] Building CXX object CMakeFiles/hadamard_product_intrinsics.dir/main_intrinsics.cpp.o
[ 94%] Linking CXX executable hadamard_product_intrinsics
[ 94%] Built target hadamard_product_intrinsics
[ 97%] Building CXX object CMakeFiles/hadamard_product_intrinsics_interleaved2.dir/main_intrinsics_interleaved2.cpp.o
[100%] Linking CXX executable hadamard_product_intrinsics_interleaved2
[100%] Built target hadamard_product_intrinsics_interleaved2


On lance les tests de performance et on fait les plots :

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
make plot_all
Consolidate compiler generated dependencies of target asterics_hpc
[  3%] Built target asterics_hpc
Consolidate compiler generated dependencies of target hadamard_product_intrinsics_interleaved2
[  5%] Built target hadamard_product_intrinsics_interleaved2
[  6%] Run hadamard_product_intrinsics_interleaved2 program
Hadamard product intrinsics interleaved 2
evaluateHadamardProduct : nbElement = 1008, cyclePerElement = 0.0714286 cy/el, elapsedTime = 72 cy
evaluateHadamardProduct : nbElement = 1600, cyclePerElement = 0.0675 cy/el, elapsedTime = 108 cy
evaluateHadamardProduct : nbElement = 2000, cyclePerElement = 0.071 cy/el, elapsedTime = 142 cy
evaluateHadamardProduct : nbElement = 2400, cyclePerElement = 0.07125 cy/el, elapsedTime = 171 cy
evaluateHadamardProduct : nbElement = 2656, cyclePerElement = 0.0715361 cy/el, elapsedTime = 190 cy
evaluateHadamardProduct : nbElement = 3008, cyclePerElement = 0.0701463 cy/el, elapsedTime = 211 cy
evaluateHadamardProduct : nbElement = 4000, cyclePerElement = 0.06775 cy/el, elapsedTime = 271 cy
evaluateHadamardProduct : nbElement = 5008, cyclePerElement = 0.177915 cy/el, elapsedTime = 891 cy
evaluateHadamardProduct : nbElement = 10000, cyclePerElement = 0.1769 cy/el, elapsedTime = 1769 cy
[  6%] Built target run_hadamard_product_intrinsics_interleaved2
Consolidate compiler generated dependencies of target hadamard_product_vectorize
[  8%] Built target hadamard_product_vectorize
[  9%] Run hadamard_product_vectorize program
Hadamard product vectorized
evaluateHadamardProduct : nbElement = 1000, cyclePerElement = 0.112 cy/el, elapsedTime = 112 cy, res = 0
evaluateHadamardProduct : nbElement = 1500, cyclePerElement = 0.0866667 cy/el, elapsedTime = 130 cy, res = 0
evaluateHadamardProduct : nbElement = 2000, cyclePerElement = 0.27 cy/el, elapsedTime = 540 cy, res = 0
evaluateHadamardProduct : nbElement = 2500, cyclePerElement = 0.0772 cy/el, elapsedTime = 193 cy, res = 0
evaluateHadamardProduct : nbElement = 2666, cyclePerElement = 0.0851463 cy/el, elapsedTime = 227 cy, res = 0
evaluateHadamardProduct : nbElement = 3000, cyclePerElement = 0.0776667 cy/el, elapsedTime = 233 cy, res = 0
evaluateHadamardProduct : nbElement = 4000, cyclePerElement = 0.07325 cy/el, elapsedTime = 293 cy, res = 0
evaluateHadamardProduct : nbElement = 5000, cyclePerElement = 0.1778 cy/el, elapsedTime = 889 cy, res = 0
evaluateHadamardProduct : nbElement = 10000, cyclePerElement = 0.1784 cy/el, elapsedTime = 1784 cy, res = 0
[  9%] Built target run_hadamard_product_vectorize
Consolidate compiler generated dependencies of target hadamard_product_intrinsics
[ 12%] Built target hadamard_product_intrinsics
[ 13%] Run hadamard_product_intrinsics program
Hadamard product intrinsics
evaluateHadamardProduct : nbElement = 1000, cyclePerElement = 0.086 cy/el, elapsedTime = 86 cy
evaluateHadamardProduct : nbElement = 1600, cyclePerElement = 0.07625 cy/el, elapsedTime = 122 cy
evaluateHadamardProduct : nbElement = 2000, cyclePerElement = 0.074 cy/el, elapsedTime = 148 cy
evaluateHadamardProduct : nbElement = 2400, cyclePerElement = 0.0729167 cy/el, elapsedTime = 175 cy
evaluateHadamardProduct : nbElement = 2664, cyclePerElement = 0.0713213 cy/el, elapsedTime = 190 cy
evaluateHadamardProduct : nbElement = 3000, cyclePerElement = 0.071 cy/el, elapsedTime = 213 cy
evaluateHadamardProduct : nbElement = 4000, cyclePerElement = 0.06975 cy/el, elapsedTime = 279 cy
evaluateHadamardProduct : nbElement = 5000, cyclePerElement = 0.1784 cy/el, elapsedTime = 892 cy
evaluateHadamardProduct : nbElement = 10000, cyclePerElement = 0.1783 cy/el, elapsedTime = 1783 cy
[ 13%] Built target run_hadamard_product_intrinsics
[ 14%] Call gnuplot hadamardIntrinsicsInterleaved2
[ 17%] Built target plot_hadamardIntrinsicsInterleaved2
Consolidate compiler generated dependencies of target hadamard_product_cpp20_seq_O0
[ 19%] Built target hadamard_product_cpp20_seq_O0
[ 20%] Run hadamard_product_cpp20_seq_O0 program
Hadamard product C++ 20
evaluateHadamardProduct C++20 : nbElement = 1000, cyclePerElement = 21.584 cy/el, elapsedTime = 21584 cy, res = 0
evaluateHadamardProduct C++20 : nbElement = 2000, cyclePerElement = 21.397 cy/el, elapsedTime = 42794 cy, res = 0
evaluateHadamardProduct C++20 : nbElement = 3000, cyclePerElement = 21.442 cy/el, elapsedTime = 64326 cy, res = 0
evaluateHadamardProduct C++20 : nbElement = 5000, cyclePerElement = 21.3828 cy/el, elapsedTime = 106914 cy, res = 0
evaluateHadamardProduct C++20 : nbElement = 10000, cyclePerElement = 21.4693 cy/el, elapsedTime = 214693 cy, res = 0
[ 20%] Built target run_hadamard_product_cpp20_seq_O0
Consolidate compiler generated dependencies of target hadamard_product_cpp20_seq_O1
[ 23%] Built target hadamard_product_cpp20_seq_O1
[ 24%] Run hadamard_product_cpp20_seq_O1 program
Hadamard product C++ 20
evaluateHadamardProduct C++20 : nbElement = 1000, cyclePerElement = 0.493 cy/el, elapsedTime = 493 cy, res = 0
evaluateHadamardProduct C++20 : nbElement = 2000, cyclePerElement = 0.4775 cy/el, elapsedTime = 955 cy, res = 0
evaluateHadamardProduct C++20 : nbElement = 3000, cyclePerElement = 0.469667 cy/el, elapsedTime = 1409 cy, res = 0
evaluateHadamardProduct C++20 : nbElement = 5000, cyclePerElement = 0.5568 cy/el, elapsedTime = 2784 cy, res = 0
evaluateHadamardProduct C++20 : nbElement = 10000, cyclePerElement = 0.585 cy/el, elapsedTime = 5850 cy, res = 0
[ 24%] Built target run_hadamard_product_cpp20_seq_O1
Consolidate compiler generated dependencies of target hadamard_product_cpp20_seq_O2
[ 26%] Built target hadamard_product_cpp20_seq_O2
[ 27%] Run hadamard_product_cpp20_seq_O2 program
Hadamard product C++ 20
evaluateHadamardProduct C++20 : nbElement = 1000, cyclePerElement = 0.743 cy/el, elapsedTime = 743 cy, res = 0
evaluateHadamardProduct C++20 : nbElement = 2000, cyclePerElement = 0.657 cy/el, elapsedTime = 1314 cy, res = 0
evaluateHadamardProduct C++20 : nbElement = 3000, cyclePerElement = 0.67 cy/el, elapsedTime = 2010 cy, res = 0
evaluateHadamardProduct C++20 : nbElement = 5000, cyclePerElement = 0.695 cy/el, elapsedTime = 3475 cy, res = 0
evaluateHadamardProduct C++20 : nbElement = 10000, cyclePerElement = 0.5566 cy/el, elapsedTime = 5566 cy, res = 0
[ 27%] Built target run_hadamard_product_cpp20_seq_O2
Consolidate compiler generated dependencies of target hadamard_product_cpp20_unseq_O1
[ 29%] Built target hadamard_product_cpp20_unseq_O1
[ 30%] Run hadamard_product_cpp20_unseq_O1 program
Hadamard product C++ 20
evaluateHadamardProduct C++20 : nbElement = 1000, cyclePerElement = 0.564 cy/el, elapsedTime = 564 cy, res = 0
evaluateHadamardProduct C++20 : nbElement = 2000, cyclePerElement = 0.5515 cy/el, elapsedTime = 1103 cy, res = 0
evaluateHadamardProduct C++20 : nbElement = 3000, cyclePerElement = 0.536333 cy/el, elapsedTime = 1609 cy, res = 0
evaluateHadamardProduct C++20 : nbElement = 5000, cyclePerElement = 0.5798 cy/el, elapsedTime = 2899 cy, res = 0
evaluateHadamardProduct C++20 : nbElement = 10000, cyclePerElement = 0.6147 cy/el, elapsedTime = 6147 cy, res = 0
[ 30%] Built target run_hadamard_product_cpp20_unseq_O1
Consolidate compiler generated dependencies of target hadamard_product_cpp20_unseq_O2
[ 32%] Built target hadamard_product_cpp20_unseq_O2
[ 34%] Run hadamard_product_cpp20_unseq_O2 program
Hadamard product C++ 20
evaluateHadamardProduct C++20 : nbElement = 1000, cyclePerElement = 0.486 cy/el, elapsedTime = 486 cy, res = 0
evaluateHadamardProduct C++20 : nbElement = 2000, cyclePerElement = 0.4605 cy/el, elapsedTime = 921 cy, res = 0
evaluateHadamardProduct C++20 : nbElement = 3000, cyclePerElement = 0.457 cy/el, elapsedTime = 1371 cy, res = 0
evaluateHadamardProduct C++20 : nbElement = 5000, cyclePerElement = 0.5558 cy/el, elapsedTime = 2779 cy, res = 0
evaluateHadamardProduct C++20 : nbElement = 10000, cyclePerElement = 0.5802 cy/el, elapsedTime = 5802 cy, res = 0
[ 34%] Built target run_hadamard_product_cpp20_unseq_O2
Consolidate compiler generated dependencies of target hadamard_product_cpp20_unseq_O3
[ 36%] Built target hadamard_product_cpp20_unseq_O3
[ 37%] Run hadamard_product_cpp20_unseq_O3 program
Hadamard product C++ 20
evaluateHadamardProduct C++20 : nbElement = 1000, cyclePerElement = 0.156 cy/el, elapsedTime = 156 cy, res = 0
evaluateHadamardProduct C++20 : nbElement = 2000, cyclePerElement = 0.1395 cy/el, elapsedTime = 279 cy, res = 0
evaluateHadamardProduct C++20 : nbElement = 3000, cyclePerElement = 0.136333 cy/el, elapsedTime = 409 cy, res = 0
evaluateHadamardProduct C++20 : nbElement = 5000, cyclePerElement = 0.175 cy/el, elapsedTime = 875 cy, res = 0
evaluateHadamardProduct C++20 : nbElement = 10000, cyclePerElement = 0.1845 cy/el, elapsedTime = 1845 cy, res = 0
[ 37%] Built target run_hadamard_product_cpp20_unseq_O3
Consolidate compiler generated dependencies of target hadamard_product_cpp20_unseq_vectorize
[ 39%] Built target hadamard_product_cpp20_unseq_vectorize
[ 40%] Run hadamard_product_cpp20_unseq_vectorize program
Hadamard product C++ 20
evaluateHadamardProduct C++20 : nbElement = 1000, cyclePerElement = 0.119 cy/el, elapsedTime = 119 cy, res = 0
evaluateHadamardProduct C++20 : nbElement = 2000, cyclePerElement = 0.112 cy/el, elapsedTime = 224 cy, res = 0
evaluateHadamardProduct C++20 : nbElement = 3000, cyclePerElement = 0.116 cy/el, elapsedTime = 348 cy, res = 0
evaluateHadamardProduct C++20 : nbElement = 5000, cyclePerElement = 0.2238 cy/el, elapsedTime = 1119 cy, res = 0
evaluateHadamardProduct C++20 : nbElement = 10000, cyclePerElement = 0.2146 cy/el, elapsedTime = 2146 cy, res = 0
[ 40%] Built target run_hadamard_product_cpp20_unseq_vectorize
Consolidate compiler generated dependencies of target hadamard_product_cpp20_unseq_vectorize_align
[ 42%] Built target hadamard_product_cpp20_unseq_vectorize_align
[ 43%] Run hadamard_product_cpp20_unseq_vectorize_align program
Hadamard product vectorized
evaluateHadamardProduct : nbElement = 1000, cyclePerElement = 0.095 cy/el, elapsedTime = 95 cy, res = 0
evaluateHadamardProduct : nbElement = 1500, cyclePerElement = 0.0793333 cy/el, elapsedTime = 119 cy, res = 0
evaluateHadamardProduct : nbElement = 2000, cyclePerElement = 0.0745 cy/el, elapsedTime = 149 cy, res = 0
evaluateHadamardProduct : nbElement = 2500, cyclePerElement = 0.0728 cy/el, elapsedTime = 182 cy, res = 0
evaluateHadamardProduct : nbElement = 2666, cyclePerElement = 0.0735184 cy/el, elapsedTime = 196 cy, res = 0
evaluateHadamardProduct : nbElement = 3000, cyclePerElement = 0.0716667 cy/el, elapsedTime = 215 cy, res = 0
evaluateHadamardProduct : nbElement = 4000, cyclePerElement = 0.06975 cy/el, elapsedTime = 279 cy, res = 0
evaluateHadamardProduct : nbElement = 5000, cyclePerElement = 0.1784 cy/el, elapsedTime = 892 cy, res = 0
evaluateHadamardProduct : nbElement = 10000, cyclePerElement = 0.178 cy/el, elapsedTime = 1780 cy, res = 0
[ 43%] Built target run_hadamard_product_cpp20_unseq_vectorize_align
Consolidate compiler generated dependencies of target hadamard_product_O0
[ 46%] Built target hadamard_product_O0
[ 47%] Run hadamard_product_O0 program
Hadamard product
evaluateHadamardProduct : nbElement = 1000, cyclePerElement = 1.963 cy/el, elapsedTime = 1963 cy, res = 0
evaluateHadamardProduct : nbElement = 2000, cyclePerElement = 1.944 cy/el, elapsedTime = 3888 cy, res = 0
evaluateHadamardProduct : nbElement = 3000, cyclePerElement = 1.93233 cy/el, elapsedTime = 5797 cy, res = 0
evaluateHadamardProduct : nbElement = 5000, cyclePerElement = 1.9906 cy/el, elapsedTime = 9953 cy, res = 0
evaluateHadamardProduct : nbElement = 10000, cyclePerElement = 1.9927 cy/el, elapsedTime = 19927 cy, res = 0
[ 47%] Built target run_hadamard_product_O0
Consolidate compiler generated dependencies of target hadamard_product_O1
[ 49%] Built target hadamard_product_O1
[ 50%] Run hadamard_product_O1 program
Hadamard product
evaluateHadamardProduct : nbElement = 1000, cyclePerElement = 0.5 cy/el, elapsedTime = 500 cy, res = 0
evaluateHadamardProduct : nbElement = 2000, cyclePerElement = 0.468 cy/el, elapsedTime = 936 cy, res = 0
evaluateHadamardProduct : nbElement = 3000, cyclePerElement = 0.464667 cy/el, elapsedTime = 1394 cy, res = 0
evaluateHadamardProduct : nbElement = 5000, cyclePerElement = 0.5694 cy/el, elapsedTime = 2847 cy, res = 0
evaluateHadamardProduct : nbElement = 10000, cyclePerElement = 0.578 cy/el, elapsedTime = 5780 cy, res = 0
[ 50%] Built target run_hadamard_product_O1
Consolidate compiler generated dependencies of target hadamard_product_O2
[ 52%] Built target hadamard_product_O2
[ 53%] Run hadamard_product_O2 program
Hadamard product
evaluateHadamardProduct : nbElement = 1000, cyclePerElement = 0.481 cy/el, elapsedTime = 481 cy, res = 0
evaluateHadamardProduct : nbElement = 2000, cyclePerElement = 0.4625 cy/el, elapsedTime = 925 cy, res = 0
evaluateHadamardProduct : nbElement = 3000, cyclePerElement = 0.461 cy/el, elapsedTime = 1383 cy, res = 0
evaluateHadamardProduct : nbElement = 5000, cyclePerElement = 0.5578 cy/el, elapsedTime = 2789 cy, res = 0
evaluateHadamardProduct : nbElement = 10000, cyclePerElement = 0.5687 cy/el, elapsedTime = 5687 cy, res = 0
[ 53%] Built target run_hadamard_product_O2
Consolidate compiler generated dependencies of target hadamard_product_O3
[ 56%] Built target hadamard_product_O3
[ 57%] Run hadamard_product_O3 program
Hadamard product
evaluateHadamardProduct : nbElement = 1000, cyclePerElement = 0.174 cy/el, elapsedTime = 174 cy, res = 0
evaluateHadamardProduct : nbElement = 2000, cyclePerElement = 0.1405 cy/el, elapsedTime = 281 cy, res = 0
evaluateHadamardProduct : nbElement = 3000, cyclePerElement = 0.137 cy/el, elapsedTime = 411 cy, res = 0
evaluateHadamardProduct : nbElement = 5000, cyclePerElement = 0.1942 cy/el, elapsedTime = 971 cy, res = 0
evaluateHadamardProduct : nbElement = 10000, cyclePerElement = 0.1847 cy/el, elapsedTime = 1847 cy, res = 0
[ 57%] Built target run_hadamard_product_O3
Consolidate compiler generated dependencies of target hadamard_product_Ofast
[ 59%] Built target hadamard_product_Ofast
[ 60%] Run hadamard_product_Ofast program
Hadamard product
evaluateHadamardProduct : nbElement = 1000, cyclePerElement = 0.158 cy/el, elapsedTime = 158 cy, res = 0
evaluateHadamardProduct : nbElement = 2000, cyclePerElement = 0.141 cy/el, elapsedTime = 282 cy, res = 0
evaluateHadamardProduct : nbElement = 3000, cyclePerElement = 0.137 cy/el, elapsedTime = 411 cy, res = 0
evaluateHadamardProduct : nbElement = 5000, cyclePerElement = 0.1904 cy/el, elapsedTime = 952 cy, res = 0
evaluateHadamardProduct : nbElement = 10000, cyclePerElement = 0.1839 cy/el, elapsedTime = 1839 cy, res = 0
[ 60%] Built target run_hadamard_product_Ofast
[ 60%] Built target run_all
[ 61%] Call gnuplot hadamardBase
[ 67%] Built target plot_hadamardBase
[ 68%] Call gnuplot hadamardCpp20seq
[ 71%] Built target plot_hadamardCpp20seq
[ 72%] Call gnuplot hadamardCpp20unseq
[ 78%] Built target plot_hadamardCpp20unseq
[ 79%] Call gnuplot hadamardBaseCpp20
[ 84%] Built target plot_hadamardBaseCpp20
[ 85%] Call gnuplot hadamardVectorize
[ 90%] Built target plot_hadamardVectorize
[ 91%] Call gnuplot hadamardIntrinsics
[ 94%] Built target plot_hadamardIntrinsics
[ 95%] Call gnuplot hadamardSummary
[100%] Built target plot_hadamardSummary
[100%] Built target plot_all