Chapter 3.3 : Compilation



Si nous nous positionnons à la racine du projet nous devons créer un dossier pour compiler :

mkdir build



Puis nous allons dedans :

cd build



Nous appelons cmake :

cmake ..

-- The C compiler identification is GNU 9.3.0

-- The CXX compiler identification is GNU 9.3.0

-- Check for working C compiler: /usr/bin/cc

-- Check for working C compiler: /usr/bin/cc -- works

-- Detecting C compiler ABI info

-- Detecting C compiler ABI info - done

-- Detecting C compile features

-- Detecting C compile features - done

-- Check for working CXX compiler: /usr/bin/c++

-- Check for working CXX compiler: /usr/bin/c++ -- works

-- Detecting CXX compiler ABI info

-- Detecting CXX compiler ABI info - done

-- Detecting CXX compile features

-- Detecting CXX compile features - done

-- LIBRARY_DIRECTORY = ''

-- SELF_TESTS_MODE = yes

-- Found MICROBENCHMARK headers : usr/include/MicroBenchmark

-- Found lib MICROBENCHMARK : usr/lib

-- Found DATASTREAM headers : usr/include/DataStream

-- Found lib DATASTREAM : usr/lib

-- Found TENSORALLOC headers : usr/include/TensorAlloc

-- Found lib TENSORALLOC : usr/lib

-- Found STRINGUTILS headers : usr/include/StringUtils

-- Found lib STRINGUTILS : usr/lib

-- Found FILEPARSER headers : usr/include/FileParser

-- Found lib FILEPARSER : usr/lib

-- Found OPTIONPARSER headers : usr/include/OptionParser

-- Found lib OPTIONPARSER : usr/lib

-- Found INTRINSICSGENERATOR headers : usr/include/IntrinsicsGenerator

-- Automatic searching for architecture flags

-- Get LINUX extensions

-- Find SSSE3

-- Find SSE4

-- Find AVX

-- Find AVX2

-- tmp FLAG_VECTORIZED_COMPILATION = -mavx2

-- global PHOENIX_FLAG_VECTORIZED_COMPILATION = -mavx2

-- Automatic searching for architecture flags

-- Get LINUX extensions

-- Find SSSE3

-- Find SSE4

-- Find AVX

-- Find AVX2

-- CMAKE_VERSION = 3.16.3, MODE_NUNBER = '5'

-- CPU_MODEL_NAME = Intel(R) Core(TM) i7-7820HQ CPU @ 2.90GHz

-- CPU_SIBLINGS = 8

-- NB_CORE = 4

-- CACHE_L1_DATA = 32768 B

-- CACHE_L1_INSTRUCTION = 32768 B

-- CACHE_L2 = 262144 B

-- CACHE_L3 = 8388608 B

-- ENDIANESS = LittleEndian

-- Configuring done

-- Generating done

-- Build files have been written to: PerfWithNan/build



Comme toujours, cmake nous donne quelques informations :
  • la version du compilateur qu'il a trouvé


La bibliothèquee de MicroBenchmark nous donne d'autres informations plus techniques :
  • les extensions présentes sur l'architecture (SSSE3, SSE4, AVX, AVX2)
  • le model du CPU et sa fréquence d'horloge
  • la taille des caches L1i, L1d, L2 et L3
  • l'endianess de l'architecture (qui ne nous servira pas dans ce cours car nous ne sauvegarderons pas de données binaires)


Enfin nous compilons :

make -j 8



Ce qui donne :

Scanning dependencies of target randinit

[ 0%] Building CXX object Examples/RandInit/CMakeFiles/randinit.dir/randinit.cpp.o

[ 0%] Linking CXX shared library librandinit.so

[ 0%] Built target randinit

Scanning dependencies of target hadamard_product_intrinsics_make_denorm_09_O3

Scanning dependencies of target hadamard_product_intrinsics_make_denorm_025_O3

Scanning dependencies of target hadamard_product_intrinsics_make_denorm_075_O3

Scanning dependencies of target hadamard_product_intrinsics_make_denorm_001_O3

Scanning dependencies of target hadamard_product_vectorize_make_denorm_05_O3

Scanning dependencies of target hadamard_product_vectorize_make_denorm_09_O3

Scanning dependencies of target hadamard_product_vectorize_make_denorm_025_O3

Scanning dependencies of target hadamard_product_intrinsics_nan_001_O3

[ 0%] Building CXX object Examples/1-HadamardProduct/CMakeFiles/hadamard_product_vectorize_make_denorm_05_O3.dir/hadamard_product_vectorize.cpp.o

[ 0%] Building CXX object Examples/1-HadamardProduct/CMakeFiles/hadamard_product_intrinsics_make_denorm_025_O3.dir/hadamard_product_intrinsics.cpp.o

[ 1%] Building CXX object Examples/1-HadamardProduct/CMakeFiles/hadamard_product_intrinsics_make_denorm_001_O3.dir/hadamard_product_intrinsics.cpp.o

[ 3%] Building CXX object Examples/1-HadamardProduct/CMakeFiles/hadamard_product_intrinsics_make_denorm_075_O3.dir/hadamard_product_intrinsics.cpp.o

[ 3%] Building CXX object Examples/1-HadamardProduct/CMakeFiles/hadamard_product_vectorize_make_denorm_09_O3.dir/hadamard_product_vectorize.cpp.o

[ 3%] Building CXX object Examples/1-HadamardProduct/CMakeFiles/hadamard_product_intrinsics_make_denorm_09_O3.dir/hadamard_product_intrinsics.cpp.o

[ 3%] Building CXX object Examples/1-HadamardProduct/CMakeFiles/hadamard_product_intrinsics_nan_001_O3.dir/hadamard_product_intrinsics.cpp.o

[ 3%] Building CXX object Examples/1-HadamardProduct/CMakeFiles/hadamard_product_vectorize_make_denorm_025_O3.dir/hadamard_product_vectorize.cpp.o

[ 5%] Building CXX object Examples/1-HadamardProduct/CMakeFiles/hadamard_product_intrinsics_make_denorm_09_O3.dir/main_generic.cpp.o

[ 5%] Building CXX object Examples/1-HadamardProduct/CMakeFiles/hadamard_product_intrinsics_make_denorm_075_O3.dir/main_generic.cpp.o

[ 5%] Building CXX object Examples/1-HadamardProduct/CMakeFiles/hadamard_product_intrinsics_make_denorm_025_O3.dir/main_generic.cpp.o

[ 5%] Building CXX object Examples/1-HadamardProduct/CMakeFiles/hadamard_product_intrinsics_make_denorm_001_O3.dir/main_generic.cpp.o

[ 5%] Building CXX object Examples/1-HadamardProduct/CMakeFiles/hadamard_product_vectorize_make_denorm_05_O3.dir/main_generic.cpp.o

[ 7%] Building CXX object Examples/1-HadamardProduct/CMakeFiles/hadamard_product_vectorize_make_denorm_09_O3.dir/main_generic.cpp.o

[ 7%] Building CXX object Examples/1-HadamardProduct/CMakeFiles/hadamard_product_vectorize_make_denorm_025_O3.dir/main_generic.cpp.o

[ 7%] Building CXX object Examples/1-HadamardProduct/CMakeFiles/hadamard_product_intrinsics_nan_001_O3.dir/main_generic.cpp.o

[ 7%] Linking CXX executable hadamard_product_intrinsics_make_denorm_09_O3

[ 9%] Linking CXX executable hadamard_product_intrinsics_make_denorm_025_O3

[ 9%] Linking CXX executable hadamard_product_vectorize_make_denorm_09_O3

[ 9%] Linking CXX executable hadamard_product_vectorize_make_denorm_05_O3

[ 9%] Linking CXX executable hadamard_product_intrinsics_make_denorm_001_O3

[ 9%] Linking CXX executable hadamard_product_intrinsics_make_denorm_075_O3

[ 9%] Linking CXX executable hadamard_product_intrinsics_nan_001_O3

[ 10%] Linking CXX executable hadamard_product_vectorize_make_denorm_025_O3

[ 10%] Built target hadamard_product_intrinsics_make_denorm_09_O3

[ 10%] Built target hadamard_product_intrinsics_make_denorm_025_O3

Scanning dependencies of target hadamard_product_base_O1

[ 10%] Built target hadamard_product_vectorize_make_denorm_09_O3

[ 10%] Built target hadamard_product_vectorize_make_denorm_05_O3

Scanning dependencies of target hadamard_product_base_make_denorm_001_O3

[ 10%] Built target hadamard_product_intrinsics_make_denorm_001_O3

Scanning dependencies of target hadamard_product_intrinsics_denorm_1_O3

Scanning dependencies of target hadamard_product_base_make_denorm_025_O3

[ 10%] Building CXX object Examples/1-HadamardProduct/CMakeFiles/hadamard_product_base_O1.dir/hadamard_product_base.cpp.o

[ 10%] Building CXX object Examples/1-HadamardProduct/CMakeFiles/hadamard_product_base_make_denorm_001_O3.dir/main_generic.cpp.o

[ 12%] Building CXX object Examples/1-HadamardProduct/CMakeFiles/hadamard_product_base_make_denorm_001_O3.dir/hadamard_product_base.cpp.o

[ 12%] Built target hadamard_product_intrinsics_make_denorm_075_O3

[ 12%] Building CXX object Examples/1-HadamardProduct/CMakeFiles/hadamard_product_intrinsics_denorm_1_O3.dir/hadamard_product_intrinsics.cpp.o

[ 12%] Building CXX object Examples/1-HadamardProduct/CMakeFiles/hadamard_product_base_make_denorm_025_O3.dir/hadamard_product_base.cpp.o

[ 12%] Built target hadamard_product_intrinsics_nan_001_O3

[ 12%] Building CXX object Examples/1-HadamardProduct/CMakeFiles/hadamard_product_base_make_denorm_025_O3.dir/main_generic.cpp.o

[ 12%] Building CXX object Examples/1-HadamardProduct/CMakeFiles/hadamard_product_intrinsics_denorm_1_O3.dir/main_generic.cpp.o

[ 12%] Built target hadamard_product_vectorize_make_denorm_025_O3

Scanning dependencies of target hadamard_product_base_make_denorm_1_O3

[ 12%] Building CXX object Examples/1-HadamardProduct/CMakeFiles/hadamard_product_base_make_denorm_1_O3.dir/hadamard_product_base.cpp.o

[ 14%] Building CXX object Examples/1-HadamardProduct/CMakeFiles/hadamard_product_base_O1.dir/main_generic.cpp.o

[ 14%] Building CXX object Examples/1-HadamardProduct/CMakeFiles/hadamard_product_base_make_denorm_1_O3.dir/main_generic.cpp.o

Scanning dependencies of target hadamard_product_vectorize_nan_05_O3

[ 14%] Building CXX object Examples/1-HadamardProduct/CMakeFiles/hadamard_product_vectorize_nan_05_O3.dir/hadamard_product_vectorize.cpp.o

[ 14%] Building CXX object Examples/1-HadamardProduct/CMakeFiles/hadamard_product_vectorize_nan_05_O3.dir/main_generic.cpp.o

Scanning dependencies of target hadamard_product_vectorize_nan_025_O3

[ 14%] Building CXX object Examples/1-HadamardProduct/CMakeFiles/hadamard_product_vectorize_nan_025_O3.dir/hadamard_product_vectorize.cpp.o

[ 16%] Building CXX object Examples/1-HadamardProduct/CMakeFiles/hadamard_product_vectorize_nan_025_O3.dir/main_generic.cpp.o

[ 16%] Linking CXX executable hadamard_product_base_make_denorm_001_O3

[ 16%] Linking CXX executable hadamard_product_intrinsics_denorm_1_O3

[ 18%] Linking CXX executable hadamard_product_base_make_denorm_025_O3

[ 18%] Built target hadamard_product_base_make_denorm_001_O3

Scanning dependencies of target hadamard_product_vectorize_O3

[ 18%] Built target hadamard_product_intrinsics_denorm_1_O3

Scanning dependencies of target hadamard_product_base_nan_1_O3

[ 18%] Building CXX object Examples/1-HadamardProduct/CMakeFiles/hadamard_product_vectorize_O3.dir/hadamard_product_vectorize.cpp.o

[ 18%] Building CXX object Examples/1-HadamardProduct/CMakeFiles/hadamard_product_base_nan_1_O3.dir/hadamard_product_base.cpp.o

[ 18%] Built target hadamard_product_base_make_denorm_025_O3

Scanning dependencies of target hadamard_product_intrinsics_denorm_01_O3

[ 18%] Building CXX object Examples/1-HadamardProduct/CMakeFiles/hadamard_product_intrinsics_denorm_01_O3.dir/hadamard_product_intrinsics.cpp.o

[ 18%] Linking CXX executable hadamard_product_base_O1

[ 20%] Linking CXX executable hadamard_product_base_make_denorm_1_O3

[ 20%] Built target hadamard_product_base_O1

Scanning dependencies of target hadamard_product_base_nan_05_O3

Scanning dependencies of target hadamard_product_vectorize_O2

[ 20%] Building CXX object Examples/1-HadamardProduct/CMakeFiles/hadamard_product_base_nan_05_O3.dir/hadamard_product_base.cpp.o

[ 20%] Building CXX object Examples/1-HadamardProduct/CMakeFiles/hadamard_product_vectorize_O2.dir/hadamard_product_vectorize.cpp.o

[ 21%] Linking CXX executable hadamard_product_vectorize_nan_05_O3

[ 21%] Built target hadamard_product_base_make_denorm_1_O3

Scanning dependencies of target hadamard_product_base_nan_09_O3

[ 23%] Building CXX object Examples/1-HadamardProduct/CMakeFiles/hadamard_product_base_nan_09_O3.dir/hadamard_product_base.cpp.o

[ 25%] Building CXX object Examples/1-HadamardProduct/CMakeFiles/hadamard_product_base_nan_1_O3.dir/main_generic.cpp.o

[ 25%] Built target hadamard_product_vectorize_nan_05_O3

Scanning dependencies of target hadamard_product_base_nan_075_O3

[ 25%] Building CXX object Examples/1-HadamardProduct/CMakeFiles/hadamard_product_base_nan_075_O3.dir/hadamard_product_base.cpp.o

[ 25%] Building CXX object Examples/1-HadamardProduct/CMakeFiles/hadamard_product_base_nan_05_O3.dir/main_generic.cpp.o

[ 25%] Building CXX object Examples/1-HadamardProduct/CMakeFiles/hadamard_product_base_nan_09_O3.dir/main_generic.cpp.o

[ 25%] Building CXX object Examples/1-HadamardProduct/CMakeFiles/hadamard_product_base_nan_075_O3.dir/main_generic.cpp.o

[ 25%] Building CXX object Examples/1-HadamardProduct/CMakeFiles/hadamard_product_vectorize_O3.dir/main_generic.cpp.o

[ 25%] Building CXX object Examples/1-HadamardProduct/CMakeFiles/hadamard_product_intrinsics_denorm_01_O3.dir/main_generic.cpp.o

[ 25%] Linking CXX executable hadamard_product_vectorize_nan_025_O3

[ 25%] Building CXX object Examples/1-HadamardProduct/CMakeFiles/hadamard_product_vectorize_O2.dir/main_generic.cpp.o

[ 25%] Built target hadamard_product_vectorize_nan_025_O3

Scanning dependencies of target hadamard_product_intrinsics_make_denorm_01_O3

[ 25%] Building CXX object Examples/1-HadamardProduct/CMakeFiles/hadamard_product_intrinsics_make_denorm_01_O3.dir/hadamard_product_intrinsics.cpp.o

[ 25%] Linking CXX executable hadamard_product_base_nan_1_O3

[ 25%] Built target hadamard_product_base_nan_1_O3

Scanning dependencies of target hadamard_product_intrinsics_nan_09_O3

[ 27%] Building CXX object Examples/1-HadamardProduct/CMakeFiles/hadamard_product_intrinsics_nan_09_O3.dir/hadamard_product_intrinsics.cpp.o

[ 29%] Linking CXX executable hadamard_product_base_nan_05_O3

[ 29%] Linking CXX executable hadamard_product_base_nan_09_O3

[ 29%] Built target hadamard_product_base_nan_05_O3

[ 30%] Building CXX object Examples/1-HadamardProduct/CMakeFiles/hadamard_product_intrinsics_make_denorm_01_O3.dir/main_generic.cpp.o

Scanning dependencies of target hadamard_product_base_Ofast

[ 30%] Built target hadamard_product_base_nan_09_O3

[ 32%] Building CXX object Examples/1-HadamardProduct/CMakeFiles/hadamard_product_base_Ofast.dir/hadamard_product_base.cpp.o

[ 32%] Building CXX object Examples/1-HadamardProduct/CMakeFiles/hadamard_product_base_Ofast.dir/main_generic.cpp.o

[ 32%] Linking CXX executable hadamard_product_base_nan_075_O3

[ 32%] Linking CXX executable hadamard_product_vectorize_O3

[ 32%] Built target hadamard_product_base_nan_075_O3

Scanning dependencies of target hadamard_product_intrinsics_make_denorm_1_O3

[ 32%] Building CXX object Examples/1-HadamardProduct/CMakeFiles/hadamard_product_intrinsics_make_denorm_1_O3.dir/hadamard_product_intrinsics.cpp.o

[ 32%] Built target hadamard_product_vectorize_O3

[ 34%] Linking CXX executable hadamard_product_intrinsics_denorm_01_O3

Scanning dependencies of target hadamard_product_base_nan_025_O3

[ 34%] Building CXX object Examples/1-HadamardProduct/CMakeFiles/hadamard_product_base_nan_025_O3.dir/hadamard_product_base.cpp.o

[ 34%] Built target hadamard_product_intrinsics_denorm_01_O3

Scanning dependencies of target hadamard_product_base_O3

[ 36%] Linking CXX executable hadamard_product_vectorize_O2

[ 36%] Building CXX object Examples/1-HadamardProduct/CMakeFiles/hadamard_product_base_O3.dir/hadamard_product_base.cpp.o

[ 36%] Building CXX object Examples/1-HadamardProduct/CMakeFiles/hadamard_product_base_O3.dir/main_generic.cpp.o

[ 36%] Built target hadamard_product_vectorize_O2

Scanning dependencies of target hadamard_product_base_denorm_01_O3

[ 36%] Building CXX object Examples/1-HadamardProduct/CMakeFiles/hadamard_product_base_denorm_01_O3.dir/hadamard_product_base.cpp.o

[ 38%] Building CXX object Examples/1-HadamardProduct/CMakeFiles/hadamard_product_base_nan_025_O3.dir/main_generic.cpp.o

[ 38%] Building CXX object Examples/1-HadamardProduct/CMakeFiles/hadamard_product_intrinsics_nan_09_O3.dir/main_generic.cpp.o

[ 38%] Building CXX object Examples/1-HadamardProduct/CMakeFiles/hadamard_product_base_denorm_01_O3.dir/main_generic.cpp.o

Scanning dependencies of target hadamard_product_base_O2

[ 38%] Building CXX object Examples/1-HadamardProduct/CMakeFiles/hadamard_product_base_O2.dir/hadamard_product_base.cpp.o

[ 38%] Building CXX object Examples/1-HadamardProduct/CMakeFiles/hadamard_product_intrinsics_make_denorm_1_O3.dir/main_generic.cpp.o

[ 38%] Building CXX object Examples/1-HadamardProduct/CMakeFiles/hadamard_product_base_O2.dir/main_generic.cpp.o

[ 38%] Linking CXX executable hadamard_product_base_Ofast

[ 38%] Linking CXX executable hadamard_product_intrinsics_make_denorm_01_O3

[ 38%] Built target hadamard_product_base_Ofast

Scanning dependencies of target hadamard_product_base_denorm_025_O3

[ 38%] Building CXX object Examples/1-HadamardProduct/CMakeFiles/hadamard_product_base_denorm_025_O3.dir/hadamard_product_base.cpp.o

[ 38%] Built target hadamard_product_intrinsics_make_denorm_01_O3

Scanning dependencies of target hadamard_product_intrinsics_O3

[ 38%] Building CXX object Examples/1-HadamardProduct/CMakeFiles/hadamard_product_intrinsics_O3.dir/hadamard_product_intrinsics.cpp.o

[ 38%] Linking CXX executable hadamard_product_base_O3

[ 38%] Building CXX object Examples/1-HadamardProduct/CMakeFiles/hadamard_product_base_denorm_025_O3.dir/main_generic.cpp.o

[ 38%] Built target hadamard_product_base_O3

Scanning dependencies of target hadamard_product_vectorize_nan_1_O3

[ 38%] Building CXX object Examples/1-HadamardProduct/CMakeFiles/hadamard_product_vectorize_nan_1_O3.dir/hadamard_product_vectorize.cpp.o

[ 38%] Linking CXX executable hadamard_product_base_nan_025_O3

[ 38%] Linking CXX executable hadamard_product_intrinsics_nan_09_O3

[ 38%] Built target hadamard_product_base_nan_025_O3

Scanning dependencies of target hadamard_product_intrinsics_O2

[ 38%] Building CXX object Examples/1-HadamardProduct/CMakeFiles/hadamard_product_intrinsics_O2.dir/hadamard_product_intrinsics.cpp.o

[ 40%] Linking CXX executable hadamard_product_base_denorm_01_O3

[ 40%] Built target hadamard_product_intrinsics_nan_09_O3

Scanning dependencies of target hadamard_product_vectorize_nan_01_O3

[ 41%] Building CXX object Examples/1-HadamardProduct/CMakeFiles/hadamard_product_vectorize_nan_01_O3.dir/hadamard_product_vectorize.cpp.o

[ 41%] Built target hadamard_product_base_denorm_01_O3

Scanning dependencies of target hadamard_product_vectorize_make_denorm_001_O3

[ 43%] Building CXX object Examples/1-HadamardProduct/CMakeFiles/hadamard_product_vectorize_make_denorm_001_O3.dir/hadamard_product_vectorize.cpp.o

[ 45%] Linking CXX executable hadamard_product_intrinsics_make_denorm_1_O3

[ 45%] Building CXX object Examples/1-HadamardProduct/CMakeFiles/hadamard_product_intrinsics_O3.dir/main_generic.cpp.o

[ 45%] Built target hadamard_product_intrinsics_make_denorm_1_O3

Scanning dependencies of target hadamard_product_vectorize_nan_075_O3

[ 45%] Building CXX object Examples/1-HadamardProduct/CMakeFiles/hadamard_product_vectorize_nan_075_O3.dir/hadamard_product_vectorize.cpp.o

[ 47%] Linking CXX executable hadamard_product_base_O2

[ 47%] Built target hadamard_product_base_O2

Scanning dependencies of target hadamard_product_base_O0

[ 47%] Building CXX object Examples/1-HadamardProduct/CMakeFiles/hadamard_product_base_O0.dir/hadamard_product_base.cpp.o

[ 49%] Building CXX object Examples/1-HadamardProduct/CMakeFiles/hadamard_product_vectorize_nan_1_O3.dir/main_generic.cpp.o

[ 49%] Building CXX object Examples/1-HadamardProduct/CMakeFiles/hadamard_product_intrinsics_O2.dir/main_generic.cpp.o

[ 49%] Building CXX object Examples/1-HadamardProduct/CMakeFiles/hadamard_product_base_O0.dir/main_generic.cpp.o

[ 49%] Building CXX object Examples/1-HadamardProduct/CMakeFiles/hadamard_product_vectorize_nan_01_O3.dir/main_generic.cpp.o

[ 49%] Building CXX object Examples/1-HadamardProduct/CMakeFiles/hadamard_product_vectorize_make_denorm_001_O3.dir/main_generic.cpp.o

[ 49%] Linking CXX executable hadamard_product_base_denorm_025_O3

[ 49%] Built target hadamard_product_base_denorm_025_O3

Scanning dependencies of target hadamard_product_intrinsics_Ofast

[ 50%] Building CXX object Examples/1-HadamardProduct/CMakeFiles/hadamard_product_intrinsics_Ofast.dir/hadamard_product_intrinsics.cpp.o

[ 50%] Building CXX object Examples/1-HadamardProduct/CMakeFiles/hadamard_product_vectorize_nan_075_O3.dir/main_generic.cpp.o

[ 50%] Linking CXX executable hadamard_product_intrinsics_O3

[ 50%] Built target hadamard_product_intrinsics_O3

Scanning dependencies of target hadamard_product_vectorize_Ofast

[ 52%] Building CXX object Examples/1-HadamardProduct/CMakeFiles/hadamard_product_vectorize_Ofast.dir/hadamard_product_vectorize.cpp.o

[ 52%] Linking CXX executable hadamard_product_base_O0

[ 52%] Building CXX object Examples/1-HadamardProduct/CMakeFiles/hadamard_product_intrinsics_Ofast.dir/main_generic.cpp.o

[ 52%] Linking CXX executable hadamard_product_vectorize_nan_1_O3

[ 52%] Built target hadamard_product_base_O0

[ 52%] Building CXX object Examples/1-HadamardProduct/CMakeFiles/hadamard_product_vectorize_Ofast.dir/main_generic.cpp.o

[ 54%] Linking CXX executable hadamard_product_intrinsics_O2

[ 54%] Built target hadamard_product_vectorize_nan_1_O3

Scanning dependencies of target hadamard_product_intrinsics_nan_01_O3

[ 56%] Building CXX object Examples/1-HadamardProduct/CMakeFiles/hadamard_product_intrinsics_nan_01_O3.dir/hadamard_product_intrinsics.cpp.o

[ 56%] Built target hadamard_product_intrinsics_O2

Scanning dependencies of target hadamard_product_vectorize_nan_001_O3

[ 56%] Building CXX object Examples/1-HadamardProduct/CMakeFiles/hadamard_product_vectorize_nan_001_O3.dir/hadamard_product_vectorize.cpp.o

[ 56%] Linking CXX executable hadamard_product_vectorize_nan_01_O3

[ 56%] Built target hadamard_product_vectorize_nan_01_O3

Scanning dependencies of target hadamard_product_intrinsics_denorm_025_O3

[ 56%] Building CXX object Examples/1-HadamardProduct/CMakeFiles/hadamard_product_intrinsics_denorm_025_O3.dir/hadamard_product_intrinsics.cpp.o

[ 56%] Linking CXX executable hadamard_product_vectorize_make_denorm_001_O3

[ 56%] Built target hadamard_product_vectorize_make_denorm_001_O3

Scanning dependencies of target hadamard_product_intrinsics_nan_05_O3

[ 56%] Building CXX object Examples/1-HadamardProduct/CMakeFiles/hadamard_product_intrinsics_nan_05_O3.dir/hadamard_product_intrinsics.cpp.o

[ 56%] Building CXX object Examples/1-HadamardProduct/CMakeFiles/hadamard_product_intrinsics_nan_05_O3.dir/main_generic.cpp.o

[ 56%] Linking CXX executable hadamard_product_vectorize_nan_075_O3

[ 56%] Built target hadamard_product_vectorize_nan_075_O3

Scanning dependencies of target hadamard_product_vectorize_make_denorm_01_O3

[ 56%] Building CXX object Examples/1-HadamardProduct/CMakeFiles/hadamard_product_vectorize_make_denorm_01_O3.dir/hadamard_product_vectorize.cpp.o

[ 56%] Building CXX object Examples/1-HadamardProduct/CMakeFiles/hadamard_product_intrinsics_nan_01_O3.dir/main_generic.cpp.o

[ 56%] Building CXX object Examples/1-HadamardProduct/CMakeFiles/hadamard_product_vectorize_nan_001_O3.dir/main_generic.cpp.o

[ 56%] Building CXX object Examples/1-HadamardProduct/CMakeFiles/hadamard_product_intrinsics_denorm_025_O3.dir/main_generic.cpp.o

[ 56%] Linking CXX executable hadamard_product_intrinsics_Ofast

[ 58%] Building CXX object Examples/1-HadamardProduct/CMakeFiles/hadamard_product_vectorize_make_denorm_01_O3.dir/main_generic.cpp.o

[ 58%] Linking CXX executable hadamard_product_vectorize_Ofast

[ 58%] Built target hadamard_product_intrinsics_Ofast

Scanning dependencies of target hadamard_product_intrinsics_nan_1_O3

[ 58%] Building CXX object Examples/1-HadamardProduct/CMakeFiles/hadamard_product_intrinsics_nan_1_O3.dir/hadamard_product_intrinsics.cpp.o

[ 58%] Built target hadamard_product_vectorize_Ofast

Scanning dependencies of target hadamard_product_intrinsics_make_denorm_05_O3

[ 58%] Building CXX object Examples/1-HadamardProduct/CMakeFiles/hadamard_product_intrinsics_make_denorm_05_O3.dir/hadamard_product_intrinsics.cpp.o

[ 58%] Building CXX object Examples/1-HadamardProduct/CMakeFiles/hadamard_product_intrinsics_make_denorm_05_O3.dir/main_generic.cpp.o

[ 60%] Linking CXX executable hadamard_product_intrinsics_nan_05_O3

[ 60%] Built target hadamard_product_intrinsics_nan_05_O3

Scanning dependencies of target hadamard_product_base_denorm_09_O3

[ 60%] Building CXX object Examples/1-HadamardProduct/CMakeFiles/hadamard_product_base_denorm_09_O3.dir/hadamard_product_base.cpp.o

[ 61%] Building CXX object Examples/1-HadamardProduct/CMakeFiles/hadamard_product_intrinsics_nan_1_O3.dir/main_generic.cpp.o

[ 61%] Building CXX object Examples/1-HadamardProduct/CMakeFiles/hadamard_product_base_denorm_09_O3.dir/main_generic.cpp.o

[ 61%] Linking CXX executable hadamard_product_intrinsics_nan_01_O3

Scanning dependencies of target hadamard_product_base_denorm_001_O3

[ 61%] Building CXX object Examples/1-HadamardProduct/CMakeFiles/hadamard_product_base_denorm_001_O3.dir/hadamard_product_base.cpp.o

[ 61%] Linking CXX executable hadamard_product_vectorize_nan_001_O3

[ 61%] Built target hadamard_product_intrinsics_nan_01_O3

Scanning dependencies of target hadamard_product_base_denorm_05_O3

[ 63%] Building CXX object Examples/1-HadamardProduct/CMakeFiles/hadamard_product_base_denorm_05_O3.dir/hadamard_product_base.cpp.o

[ 63%] Built target hadamard_product_vectorize_nan_001_O3

Scanning dependencies of target hadamard_product_base_nan_01_O3

[ 65%] Building CXX object Examples/1-HadamardProduct/CMakeFiles/hadamard_product_base_nan_01_O3.dir/hadamard_product_base.cpp.o

[ 65%] Linking CXX executable hadamard_product_intrinsics_denorm_025_O3

[ 65%] Linking CXX executable hadamard_product_vectorize_make_denorm_01_O3

[ 65%] Built target hadamard_product_intrinsics_denorm_025_O3

Scanning dependencies of target hadamard_product_base_denorm_075_O3

[ 65%] Building CXX object Examples/1-HadamardProduct/CMakeFiles/hadamard_product_base_denorm_075_O3.dir/hadamard_product_base.cpp.o

[ 65%] Built target hadamard_product_vectorize_make_denorm_01_O3

[ 67%] Building CXX object Examples/1-HadamardProduct/CMakeFiles/hadamard_product_base_denorm_001_O3.dir/main_generic.cpp.o

Scanning dependencies of target hadamard_product_base_denorm_1_O3

[ 67%] Building CXX object Examples/1-HadamardProduct/CMakeFiles/hadamard_product_base_denorm_1_O3.dir/hadamard_product_base.cpp.o

[ 67%] Building CXX object Examples/1-HadamardProduct/CMakeFiles/hadamard_product_base_denorm_05_O3.dir/main_generic.cpp.o

[ 67%] Building CXX object Examples/1-HadamardProduct/CMakeFiles/hadamard_product_base_nan_01_O3.dir/main_generic.cpp.o

[ 67%] Linking CXX executable hadamard_product_intrinsics_make_denorm_05_O3

[ 67%] Built target hadamard_product_intrinsics_make_denorm_05_O3

Scanning dependencies of target hadamard_product_vectorize_make_denorm_075_O3

[ 69%] Building CXX object Examples/1-HadamardProduct/CMakeFiles/hadamard_product_base_denorm_075_O3.dir/main_generic.cpp.o

[ 70%] Building CXX object Examples/1-HadamardProduct/CMakeFiles/hadamard_product_vectorize_make_denorm_075_O3.dir/hadamard_product_vectorize.cpp.o

[ 70%] Building CXX object Examples/1-HadamardProduct/CMakeFiles/hadamard_product_base_denorm_1_O3.dir/main_generic.cpp.o

[ 70%] Linking CXX executable hadamard_product_intrinsics_nan_1_O3

[ 72%] Linking CXX executable hadamard_product_base_denorm_09_O3

[ 72%] Built target hadamard_product_intrinsics_nan_1_O3

[ 72%] Built target hadamard_product_base_denorm_09_O3

Scanning dependencies of target hadamard_product_base_nan_001_O3

Scanning dependencies of target hadamard_product_vectorize_denorm_01_O3

[ 72%] Building CXX object Examples/1-HadamardProduct/CMakeFiles/hadamard_product_base_nan_001_O3.dir/hadamard_product_base.cpp.o

[ 72%] Building CXX object Examples/1-HadamardProduct/CMakeFiles/hadamard_product_vectorize_denorm_01_O3.dir/hadamard_product_vectorize.cpp.o

[ 72%] Building CXX object Examples/1-HadamardProduct/CMakeFiles/hadamard_product_vectorize_make_denorm_075_O3.dir/main_generic.cpp.o

[ 72%] Linking CXX executable hadamard_product_base_denorm_001_O3

[ 72%] Building CXX object Examples/1-HadamardProduct/CMakeFiles/hadamard_product_base_nan_001_O3.dir/main_generic.cpp.o

[ 72%] Linking CXX executable hadamard_product_base_denorm_05_O3

[ 72%] Built target hadamard_product_base_denorm_001_O3

Scanning dependencies of target hadamard_product_base_make_denorm_09_O3

[ 72%] Linking CXX executable hadamard_product_base_nan_01_O3

[ 72%] Building CXX object Examples/1-HadamardProduct/CMakeFiles/hadamard_product_base_make_denorm_09_O3.dir/hadamard_product_base.cpp.o

[ 72%] Built target hadamard_product_base_denorm_05_O3

Scanning dependencies of target hadamard_product_vectorize_denorm_025_O3

[ 72%] Building CXX object Examples/1-HadamardProduct/CMakeFiles/hadamard_product_vectorize_denorm_025_O3.dir/hadamard_product_vectorize.cpp.o

[ 72%] Built target hadamard_product_base_nan_01_O3

Scanning dependencies of target hadamard_product_vectorize_denorm_05_O3

[ 74%] Building CXX object Examples/1-HadamardProduct/CMakeFiles/hadamard_product_vectorize_denorm_05_O3.dir/hadamard_product_vectorize.cpp.o

[ 74%] Linking CXX executable hadamard_product_base_denorm_075_O3

[ 74%] Linking CXX executable hadamard_product_base_denorm_1_O3

[ 74%] Built target hadamard_product_base_denorm_075_O3

Scanning dependencies of target hadamard_product_vectorize_nan_09_O3

[ 76%] Building CXX object Examples/1-HadamardProduct/CMakeFiles/hadamard_product_vectorize_nan_09_O3.dir/hadamard_product_vectorize.cpp.o

[ 78%] Building CXX object Examples/1-HadamardProduct/CMakeFiles/hadamard_product_base_make_denorm_09_O3.dir/main_generic.cpp.o

[ 78%] Built target hadamard_product_base_denorm_1_O3

Scanning dependencies of target hadamard_product_vectorize_denorm_075_O3

[ 78%] Building CXX object Examples/1-HadamardProduct/CMakeFiles/hadamard_product_vectorize_denorm_075_O3.dir/hadamard_product_vectorize.cpp.o

[ 78%] Building CXX object Examples/1-HadamardProduct/CMakeFiles/hadamard_product_vectorize_denorm_01_O3.dir/main_generic.cpp.o

[ 78%] Building CXX object Examples/1-HadamardProduct/CMakeFiles/hadamard_product_vectorize_denorm_025_O3.dir/main_generic.cpp.o

[ 78%] Building CXX object Examples/1-HadamardProduct/CMakeFiles/hadamard_product_vectorize_denorm_05_O3.dir/main_generic.cpp.o

[ 78%] Linking CXX executable hadamard_product_vectorize_make_denorm_075_O3

[ 78%] Built target hadamard_product_vectorize_make_denorm_075_O3

Scanning dependencies of target hadamard_product_vectorize_denorm_09_O3

[ 78%] Building CXX object Examples/1-HadamardProduct/CMakeFiles/hadamard_product_vectorize_nan_09_O3.dir/main_generic.cpp.o

[ 78%] Building CXX object Examples/1-HadamardProduct/CMakeFiles/hadamard_product_vectorize_denorm_09_O3.dir/hadamard_product_vectorize.cpp.o

[ 78%] Linking CXX executable hadamard_product_base_nan_001_O3

[ 80%] Building CXX object Examples/1-HadamardProduct/CMakeFiles/hadamard_product_vectorize_denorm_075_O3.dir/main_generic.cpp.o

[ 80%] Built target hadamard_product_base_nan_001_O3

Scanning dependencies of target hadamard_product_vectorize_denorm_001_O3

[ 80%] Building CXX object Examples/1-HadamardProduct/CMakeFiles/hadamard_product_vectorize_denorm_001_O3.dir/hadamard_product_vectorize.cpp.o

[ 80%] Linking CXX executable hadamard_product_base_make_denorm_09_O3

[ 81%] Linking CXX executable hadamard_product_vectorize_denorm_01_O3

[ 81%] Built target hadamard_product_base_make_denorm_09_O3

Scanning dependencies of target hadamard_product_vectorize_make_denorm_1_O3

[ 81%] Building CXX object Examples/1-HadamardProduct/CMakeFiles/hadamard_product_vectorize_make_denorm_1_O3.dir/hadamard_product_vectorize.cpp.o

[ 81%] Built target hadamard_product_vectorize_denorm_01_O3

Scanning dependencies of target hadamard_product_vectorize_denorm_1_O3

[ 81%] Building CXX object Examples/1-HadamardProduct/CMakeFiles/hadamard_product_vectorize_denorm_1_O3.dir/hadamard_product_vectorize.cpp.o

[ 81%] Building CXX object Examples/1-HadamardProduct/CMakeFiles/hadamard_product_vectorize_denorm_09_O3.dir/main_generic.cpp.o

[ 83%] Building CXX object Examples/1-HadamardProduct/CMakeFiles/hadamard_product_vectorize_denorm_001_O3.dir/main_generic.cpp.o

[ 83%] Linking CXX executable hadamard_product_vectorize_denorm_025_O3

[ 83%] Linking CXX executable hadamard_product_vectorize_denorm_05_O3

[ 83%] Built target hadamard_product_vectorize_denorm_025_O3

Scanning dependencies of target hadamard_product_intrinsics_nan_075_O3

[ 83%] Building CXX object Examples/1-HadamardProduct/CMakeFiles/hadamard_product_intrinsics_nan_075_O3.dir/hadamard_product_intrinsics.cpp.o

[ 83%] Built target hadamard_product_vectorize_denorm_05_O3

Scanning dependencies of target hadamard_product_base_make_denorm_075_O3

[ 85%] Building CXX object Examples/1-HadamardProduct/CMakeFiles/hadamard_product_base_make_denorm_075_O3.dir/hadamard_product_base.cpp.o

[ 85%] Linking CXX executable hadamard_product_vectorize_nan_09_O3

[ 85%] Built target hadamard_product_vectorize_nan_09_O3

[ 85%] Linking CXX executable hadamard_product_vectorize_denorm_075_O3

Scanning dependencies of target hadamard_product_intrinsics_nan_025_O3

[ 85%] Building CXX object Examples/1-HadamardProduct/CMakeFiles/hadamard_product_intrinsics_nan_025_O3.dir/hadamard_product_intrinsics.cpp.o

[ 85%] Building CXX object Examples/1-HadamardProduct/CMakeFiles/hadamard_product_vectorize_make_denorm_1_O3.dir/main_generic.cpp.o

[ 85%] Built target hadamard_product_vectorize_denorm_075_O3

Scanning dependencies of target hadamard_product_intrinsics_denorm_09_O3

[ 85%] Building CXX object Examples/1-HadamardProduct/CMakeFiles/hadamard_product_intrinsics_denorm_09_O3.dir/hadamard_product_intrinsics.cpp.o

[ 85%] Building CXX object Examples/1-HadamardProduct/CMakeFiles/hadamard_product_vectorize_denorm_1_O3.dir/main_generic.cpp.o

[ 85%] Building CXX object Examples/1-HadamardProduct/CMakeFiles/hadamard_product_base_make_denorm_075_O3.dir/main_generic.cpp.o

[ 85%] Building CXX object Examples/1-HadamardProduct/CMakeFiles/hadamard_product_intrinsics_nan_075_O3.dir/main_generic.cpp.o

[ 87%] Linking CXX executable hadamard_product_vectorize_denorm_09_O3

[ 87%] Built target hadamard_product_vectorize_denorm_09_O3

Scanning dependencies of target hadamard_product_intrinsics_denorm_001_O3

[ 87%] Building CXX object Examples/1-HadamardProduct/CMakeFiles/hadamard_product_intrinsics_denorm_001_O3.dir/hadamard_product_intrinsics.cpp.o

[ 89%] Building CXX object Examples/1-HadamardProduct/CMakeFiles/hadamard_product_intrinsics_nan_025_O3.dir/main_generic.cpp.o

[ 89%] Linking CXX executable hadamard_product_vectorize_denorm_001_O3

[ 89%] Building CXX object Examples/1-HadamardProduct/CMakeFiles/hadamard_product_intrinsics_denorm_09_O3.dir/main_generic.cpp.o

[ 89%] Built target hadamard_product_vectorize_denorm_001_O3

Scanning dependencies of target hadamard_product_intrinsics_denorm_05_O3

[ 90%] Building CXX object Examples/1-HadamardProduct/CMakeFiles/hadamard_product_intrinsics_denorm_05_O3.dir/hadamard_product_intrinsics.cpp.o

[ 92%] Linking CXX executable hadamard_product_vectorize_make_denorm_1_O3

[ 92%] Built target hadamard_product_vectorize_make_denorm_1_O3

Scanning dependencies of target hadamard_product_base_make_denorm_05_O3

[ 92%] Building CXX object Examples/1-HadamardProduct/CMakeFiles/hadamard_product_base_make_denorm_05_O3.dir/hadamard_product_base.cpp.o

[ 92%] Linking CXX executable hadamard_product_vectorize_denorm_1_O3

[ 92%] Linking CXX executable hadamard_product_base_make_denorm_075_O3

[ 92%] Built target hadamard_product_vectorize_denorm_1_O3

Scanning dependencies of target hadamard_product_base_make_denorm_01_O3

[ 92%] Building CXX object Examples/1-HadamardProduct/CMakeFiles/hadamard_product_base_make_denorm_01_O3.dir/hadamard_product_base.cpp.o

[ 92%] Built target hadamard_product_base_make_denorm_075_O3

[ 94%] Building CXX object Examples/1-HadamardProduct/CMakeFiles/hadamard_product_base_make_denorm_01_O3.dir/main_generic.cpp.o

[ 96%] Building CXX object Examples/1-HadamardProduct/CMakeFiles/hadamard_product_intrinsics_denorm_001_O3.dir/main_generic.cpp.o

[ 96%] Building CXX object Examples/1-HadamardProduct/CMakeFiles/hadamard_product_base_make_denorm_05_O3.dir/main_generic.cpp.o

[ 96%] Building CXX object Examples/1-HadamardProduct/CMakeFiles/hadamard_product_intrinsics_denorm_05_O3.dir/main_generic.cpp.o

Scanning dependencies of target hadamard_product_intrinsics_denorm_075_O3

[ 96%] Linking CXX executable hadamard_product_intrinsics_nan_075_O3

[ 96%] Building CXX object Examples/1-HadamardProduct/CMakeFiles/hadamard_product_intrinsics_denorm_075_O3.dir/hadamard_product_intrinsics.cpp.o

[ 96%] Built target hadamard_product_intrinsics_nan_075_O3

[ 98%] Building CXX object Examples/1-HadamardProduct/CMakeFiles/hadamard_product_intrinsics_denorm_075_O3.dir/main_generic.cpp.o

[ 98%] Linking CXX executable hadamard_product_intrinsics_nan_025_O3

[100%] Linking CXX executable hadamard_product_intrinsics_denorm_09_O3

[100%] Built target hadamard_product_intrinsics_nan_025_O3

[100%] Built target hadamard_product_intrinsics_denorm_09_O3

[100%] Linking CXX executable hadamard_product_base_make_denorm_01_O3

[100%] Built target hadamard_product_base_make_denorm_01_O3

[100%] Linking CXX executable hadamard_product_intrinsics_denorm_05_O3

[100%] Linking CXX executable hadamard_product_intrinsics_denorm_001_O3

[100%] Built target hadamard_product_intrinsics_denorm_05_O3

[100%] Built target hadamard_product_intrinsics_denorm_001_O3

[100%] Linking CXX executable hadamard_product_base_make_denorm_05_O3

[100%] Built target hadamard_product_base_make_denorm_05_O3

[100%] Linking CXX executable hadamard_product_intrinsics_denorm_075_O3

[100%] Built target hadamard_product_intrinsics_denorm_075_O3



Voilà, nous avons compiler le projet.

Nous voyons clairement qu'il n'était pas raisonnable d'écrire des sources différentes pour chacun des tests de performance.