Introduction au NVidia HPC_SDK
Pierre Aubert
Objectif du cours
Ce cours à pour but de montrer comment utiliser le NVidia HPC_SDK pour :
- Développer des programmes C++17/C++20/C++23 qui s'exécutent sur CPU et GPU
Prérequis
Compilateur
Ce cours utilisera le compilateur nvc++ fourni par le HPC_SDK. Le compilateur g++ 11 sera utiliser en complément, ou un autre compilateur compatible C++17/C++20/C++23.Outils de compilation
Nous utiliserons CMake et Make pour compiler nos programmes et effectuer nos tests de performance.Outil de gestion des versions
Nous utiliserons Git pour gérer les versions des programmes.Spécification Hardware
Le HPC_SDK est fourni par NVidia. Par conséquent, il n'y a pas de garanti qu'il fonctionne avec des GPU autres que NVidia. Il faudra aussi que le GPU que vous avez à disposition soit assez récent (Compute Capabilities 6 ou plus). Si ce n'est pas le cas, vous pourrez tout de même suivre ce cours en utilisant la Plateforme MUST qui est le centre de calcul du LAPPCorrection du projet complet
La correction des projets complets :- SimpleHadamardProduct.tar.gz.
- SimpleHadamardProductBetterInit.tar.gz.
- SimpleHadamardProductBestInit.tar.gz.
- SimpleDotProduct.tar.gz.
- SimpleDotProductBestInit.tar.gz.
- SimpleDotProductRandom.tar.gz.
- CURANDReduce.tar.gz.
- CURANDReduceVector.tar.gz.
- CUFFT_HDF5_CUDA.tar.gz.
- CUFFT_HDF5_Thrust.tar.gz.
- CUFFT_HDF5_Unified.tar.gz.
- FullCalibrationBench.tar.gz.