L'école traitera de l’optimisation des calculs sur différents types de matériels (CPU, GPU), en présentant leurs caractéristiques respectives, architectures et goulots d’étranglements. Il portera d’une part sur les méthodes d’optimisation génériques applicables à tout type de matériel, et d’autre part sur les différentes bibliothèques, technologies et langages dont on dispose pour atteindre la meilleure performance possible. Idéalement, la performance crête de la machine.
- Matériels envisagés: CPU, GPU.
- Langages envisagés : C++17, C++20, CUDA, Fortran, Rust, Python
- Bibliothèques envisagées : SYCL, Eve, Numpy, cunumerics, legate, Jax, Thrust.
- Compilateurs envisagés : G++, Clang++, nvc++, gfortran, nvfortran, dpc++.
- Outils de Profilage : Valgrind, Maqao, Perf, NSight, Malt et NumaProf
Toutes les méthodes seront illustrées sur des exemples simples, comme des produits de Hadamard, des réductions, des calculs de barycentres et des produits de matrice afin d'être appliquées à un problème unique : la simulation d'une réaction de Gray Scott. Ce problème est suffisamment simple pour être compris rapidement et suffisamment complexe pour que les compilateurs aient des difficultés à l’optimiser sans aide. Chaque méthode sera déclinée en version simple, utilisant des options par défaut, et une ou plusieurs versions avancées, qui permettront de discuter et quantifier leurs avantages et inconvénients.
Pour plus d'informations sur son contenu, veuillez consulter le site web de l'école
Sur le site satellite de l'Université de Namur, vous bénéficierez des avantages suivants :
- Interactions avec les formateurs officiels du LAPP ;
- De l'entraide en groupe et une bonne ambiance de travail ;
- Un lunch et un drink en fin de journée le premier jour;
- Vous choisissez ce que vous voulez suivre sur place. Nous vous encourageons à venir le premier jour, mais vous faites votre programme à la carte les autres jours.
Pour s'inscrire au site satellite de l'UNamur : https://docs.google.com/forms/d/e/1FAIpQLScxikCQTfsQl9zZfnidm4xLSuDpdJGcgyLKOfJ2wo4VMgrgRw/viewform