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.
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 la motivation et les avantages de l'utilisation des GPU pour le calcul, en se concentrant sur leurs performances et leur programmation via CUDA.
Introduit le balayage parallèle gauche dans Scala, couvrant ses propriétés, des solutions séquentielles, et des techniques de calcul parallèles efficaces.
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 les opérations parallèles de données dans Scala, la conversion des collections, la mise en œuvre de la somme et l'examen des opérations de plis.
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 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.
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'évolution de l'informatique, du droit de Moore au multicores, la recherche sur la parallélisation du code Lisp, les expériences à UC Berkeley et Microsoft Research, et les idées sur l'informatique en nuage et la gestion du corps professoral.
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 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.