12.1.1.4 : Compilateur, langages et developpement
- CUDA: New Features and Beyond : quand même, ils optimisent un calcul en double précision en passant par la précision simple et en itérant après pour rafiner le résultat et ils obtiennent le même résultats qu'en double!!!! avec CUDA
- Les warp qui deviennent des threads
- chargement de fonctions en parallel, constexpr et auto.
- Les cuda stream c'est trop bien, l'allocation est asynchrone
- Optimizing Applications with Asynchronous GPU programming in CUDA C++
- Le son est juste completement pourrit (jusqu'à 6min)
- On peut copier des données du L2 à la shared memory directement avec Ampere
- Inside NVC++ and NVFORTRAN [S31358] 33min
- On va avoir le multi GPU parallel avec nvc++ (big binary option)
- Pareil pour Fortran 202x (avec un exemple de Jacobi qui déchire sur GPU)
- En Fortran il faut utiliser Matmul et pas refaire la multiplication de matrice à la main, sinon on pert un facteur 30x sur GPU
- Maintenant ça fonctionne avec les intrnisics de ARM
- Cuda C++ va arriver dans nvc++ pour 2022
- nvc++ va faire des binares pour architecture hétérogènes pour 2022
- Le code sera parallèle par défaut et hétérogène par défaut => plus de __host__ et de __device__
- La mémoire sera Unifiée automatiquement
- plus de __CUDA_ARCH__ pour spécifier l'architecture (host ou device) à la compilation. On pourra faire un if target(description)
- CUDA Code Optimization and Auto-Tuning Made Easy [S31429]
- Suprimer les valeurs Hardcodées dans les kernel (taille des block) gérer par le kernel automatiquement
- kernel_tuner est un module python
- On développe un kernel avec des macros, et le kernel_tuner va optimiser toutes les valeurs des macro et générer un header avec les macro optimisées pour l'architecture en question