Introduit les fondamentaux de l'architecture multiprocesseur, couvrant les serveurs post-Moore, les datacenters durables, la programmation parallèle et l'utilisation du GPU.
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.
Couvre l'optimisation logicielle, l'efficacité du cache, la planification parallèle et les stratégies de distribution de travail pour les programmes parallèles rapides.
Couvre les optimisations logicielles pour améliorer les performances du programme en maximisant les succès de cache et en optimisant la distribution du travail.
Explore les principes de synchronisation à l'aide de verrous et de barrières, en mettant l'accent sur des implémentations matérielles efficaces et des mécanismes de coordination tels qu'OpenMP.
Couvre les principes de la synchronisation dans le calcul parallèle, en mettant l'accent sur la synchronisation de la mémoire partagée et différentes méthodes comme les verrous et les barrières.
Explore la mémoire transactionnelle pour le contrôle de la concurrence matérielle, en discutant des mécanismes de verrouillage, des compromis de performance et des modifications matérielles.
Explore la mémoire transactionnelle et la simplification matérielle pour le contrôle de la concurrence dans les logiciels, mettant l'accent sur les avantages de la spéculation matérielle et de la concurrence déclarative.
Explore le multithreading dans l'architecture informatique, en se concentrant sur l'utilisation du pipeline et l'impact sur les performances dans diverses techniques, y compris le multithreading bloqué et à grain fin.
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.
Explore l'évolution du matériel parallèle, de la loi de Moore aux défis des années 2000, et le passage à des systèmes d'extension dans les centres de données.
Explore la cohérence de la mémoire dans les systèmes multiprocesseurs, en discutant de la cohérence, des modèles de cohérence et des compromis entre les contraintes de commande et les performances.