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 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'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.
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'é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.
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 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 efficacement l'optimisation de joint accéléré GPU pour les requêtes complexes, en se concentrant sur l'amélioration des temps d'optimisation et de la qualité du plan heuristique.
Explore Conc-Tree Combiners pour la programmation parallèle en Scala, couvrant les opérations tampons, les nœuds de morceaux et les méthodes de combinaison.
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 les opérations de pliage (réduction) dans la programmation parallèle à l'aide de Scala, couvrant les opérations associatives, les arbres d'expression, la réduction parallèle et la réduction du réseau.
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.
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.