Couvre les bases de la programmation parallèle, y compris l'exploitation du parallélisme dans les algorithmes et l'importance d'éviter les conditions de race.
Explore la motivation et les avantages de l'utilisation des GPU pour le calcul, en se concentrant sur leurs performances et leur programmation via CUDA.
Couvre la transition de la programmation mono-thread à la programmation multithread, en se concentrant sur les modèles de mémoire et les problèmes de cohérence.
Explore l'importance de la concurrence dans l'amélioration des performances et de la réactivité du système, en mettant l'accent sur la nécessité de la synchronisation et de l'atomicité pour prévenir les conditions de course et le non-déterminisme.
Explore les moniteurs comme une construction de synchronisation fournissant l'exclusion mutuelle et la coopération entre les threads, avec des exemples comme le tampon d'un seul endroit.
Explore les perspectives historiques et les mécanismes de la mémoire transactionnelle, en soulignant l'importance et les défis de sa mise en œuvre dans les systèmes informatiques modernes.
Couvre l'architecture multiprocesseurs, l'informatique durable, l'impact de la formation sur les modèles d'IA et les principes fondamentaux de la programmation parallèle.
Couvre les bases de la programmation parallèle, y compris la concurrence, les formes de parallélisme, la synchronisation et les modèles de programmation tels que PThreads et OpenMP.
Explore les mécanismes de synchronisation évolutive pour de nombreux systèmes d'exploitation de base, en mettant l'accent sur les défis de la gestion de la croissance des données et des régressions dans le système d'exploitation.
Couvre l'évolution et les défis des multiprocesseurs, en mettant l'accent sur l'efficacité énergétique, la programmation parallèle, la cohérence du cache et le rôle des GPU.