Chapter 12.3 : 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 -- NVHPC_CUDA_VERSION not specified. -- Default CUDA version selected: 11.8 -- Found HDF5: /usr/lib/x86_64-linux-gnu/hdf5/serial/libhdf5.so;/usr/lib/x86_64-linux-gnu/libcrypto.so;/usr/lib/x86_64-linux-gnu/libcurl.so;/usr/lib/x86_64-linux-gnu/libpthread.a;/usr/lib/x86_64-linux-gnu/libsz.so;/usr/lib/x86_64-linux-gnu/libz.so;/usr/lib/x86_64-linux-gnu/libdl.a;/usr/lib/x86_64-linux-gnu/libm.so;/usr/lib/x86_64-linux-gnu/hdf5/serial/libhdf5_cpp.so;/usr/lib/x86_64-linux-gnu/hdf5/serial/libhdf5.so;/usr/lib/x86_64-linux-gnu/libcrypto.so;/usr/lib/x86_64-linux-gnu/libcurl.so;/usr/lib/x86_64-linux-gnu/libpthread.a;/usr/lib/x86_64-linux-gnu/libsz.so;/usr/lib/x86_64-linux-gnu/libz.so;/usr/lib/x86_64-linux-gnu/libdl.a;/usr/lib/x86_64-linux-gnu/libm.so (found version "1.10.7") found components: C CXX -- HDF5_CXX_LIBRARIES = /usr/lib/x86_64-linux-gnu/hdf5/serial/libhdf5_cpp.so;/usr/lib/x86_64-linux-gnu/hdf5/serial/libhdf5.so;/usr/lib/x86_64-linux-gnu/libcrypto.so;/usr/lib/x86_64-linux-gnu/libcurl.so;/usr/lib/x86_64-linux-gnu/libpthread.a;/usr/lib/x86_64-linux-gnu/libsz.so;/usr/lib/x86_64-linux-gnu/libz.so;/usr/lib/x86_64-linux-gnu/libdl.a;/usr/lib/x86_64-linux-gnu/libm.so -- Use nvc++ compiler at /opt/nvidia/hpc_sdk/Linux_x86_64/22.11/compilers/bin/nvc++ -- Configuring done -- Generating done -- Build files have been written to: XXX/CUFFT_HDF5_Unified/build
Note : si vous n'avez pas d'autre compilateurs que nvc++, vous pouver appeler directement cmake .. -DCMAKE_CXX_COMPILER=${NVCPP}
On appelle make :
1 2 3 4 5 6 7 8 9 10 |
[ 14%] Building CXX object src/CMakeFiles/compute_hdf5_data_format.dir/RawHdf5.cpp.o [ 28%] Building CXX object src/CMakeFiles/compute_hdf5_data_format.dir/RawHdf5_hdf5.cpp.o [ 42%] Linking CXX static library libcompute_hdf5_data_format.a [ 42%] Built target compute_hdf5_data_format [ 57%] Building CXX object src/CMakeFiles/compute_cufft_on_hdf5.dir/main.cpp.o [ 71%] Linking CXX executable compute_cufft_on_hdf5 [ 71%] Built target compute_cufft_on_hdf5 [ 85%] Building CXX object src/CMakeFiles/create_hdf5_normal_distribution.dir/main_create_file.cpp.o [100%] Linking CXX executable create_hdf5_normal_distribution [100%] Built target create_hdf5_normal_distribution |