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.
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.
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.
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 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.
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 l'architecture multiprocesseur avancée, discutant de la logistique des cours, des composants, du classement et des tendances des systèmes informatiques modernes.
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.
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.
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.
Explore l'accélération de l'analyse complexe par la spéculation, la parallélisation des requêtes, la gestion des erreurs de prédiction et la transition vers des plans spéculatifs.