Explore le parallélisme dans la programmation, en mettant l'accent sur les compromis entre la programmabilité et la performance, et introduit la programmation parallèle en mémoire partagée à l'aide d'OpenMP.
Explore Multi Masters Systems, en discutant des architectures avec plusieurs processeurs, mémoire partagée, exclusion mutuelle et accélérateurs matériels.
Explore la conception de mémoire cache, les succès, les ratés et les politiques d'expulsion dans les systèmes informatiques, en mettant l'accent sur la localité spatiale et temporelle.
Explore l'architecture des GPU, la programmation CUDA, le traitement d'image et leur importance dans l'informatique moderne, en mettant l'accent sur le démarrage précoce et l'exactitude de la programmation GPU.
Introduit les fondamentaux de l'architecture multiprocesseur, couvrant les serveurs post-Moore, les datacenters durables, la programmation parallèle et l'utilisation du GPU.
Explore les principes de cache mémoire, en mettant l'accent sur la localisation spatiale, l'impact de la latence et les stratégies d'efficacité du cache.
Couvre les bases de la concurrence, se concentrant sur les threads et la synchronisation, y compris l'assemblage des threads et les défis de l'exécution non déterministe.
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 cohérence des caches dans les systèmes multiprocesseurs et les défis du maintien de la cohérence et de la cohérence dans les processeurs modernes.
Releve les défis de la synthèse de haut niveau et de l'optimisation des constructions de boucles en utilisant le modèle polyédrique pour améliorer les performances et la planification.