2025/10 - Concurrency and Parallelism for Game Programming – A Deep Dive (Jason Gregory - Naughty Dog)
Version du programme : 1
Type de formation
Formation présentielleDurée de formation
7 heures (1 jour)Accessibilité
Oui2025/10 - Concurrency and Parallelism for Game Programming – A Deep Dive (Jason Gregory - Naughty Dog)
Modern gaming platforms achieve their blazing speeds via highly parallelized hardware architectures: Multicore CPUs operate in tandem with GPUs containing thousands of SIMD cores. Take an in-depth guided tour through the fascinating, mysterious, and often vexing landscape of multithreading and concurrent programming on parallelized hardware within the context of high-performance real-time game programming. Join programming lead Jason Gregory of Naughty Dog for a deep dive into the intricacies of building a game that maximizes the benefits of parallel hardware. Through lectures, interactive exercises, group discussion and real-world examples, attendees will learn how to write reliable performant programs that take full advantage of multicore CPUs and the GPU. The course does a deep dive into how multithreaded synchronization works under the hood. We’ll discuss how to implement custom locks and the basics of lock-free programming. Participants will also learn how to apply their knowledge to build a job system, and how to build engine systems that fully utilize the hardware. We’ll also cover optimization via SIMD and GPU programming. The course concludes with a discussion of best practices, and how to think in a concurrent, data-oriented manner. October 13th in Bordeaux - October 15th in Paris - October 17th in Lyon Intro: Motivation, The Problem We’re Solving, Agenda I - Hardware and OS for Concurrent Programming II - Race Conditions and Locking III - Common Gotchas in Concurrent Programming IV - Under the Hood: Atomics, Custom Locks V - Concurrent Game Engines and Job Systems VI - Intro to Lock-Free Programming VII - SIMD and GPU Programming VIII - Best Practices and Thinking Concurrently
Objectifs de la formation
- Master Concurrent Programming Fundamentals
- Design and Implement Scalable Systems
- Optimize Code Using SIMD and GPU Programming
- Apply Best Practices and Real-World Techniques
Profil des bénéficiaires
- Runtime game programmers of all specialties: Gameplay, animation, physics, rendering, audio, etc.
- Comfortable programming in C++
- Solid understanding of the basics of game programming
- (Optional) Some exposure to assembly language or CPU hardware architectures
- Masterclass in English
Contenu de la formation
Hardware and OS for Concurrent Programming
- Implicit parallelism: Pipelining, superscalar
- Explicit parallelism, Flynn’s taxonomy
Race Conditions and Locking
- Semaphores, critical sections, producer/consumer models
- C++ memory ordering semantics
Common Gotchas in Concurrent Programming
- Deadlock, livelock, priority invert, starve
Under the Hood: Atomics, Custom Locks
- Atomic CPU instructions, barriers, fences
- Implementing custom locks
Concurrent Game Engines and Job Systems
- Parallel updates, feed-forward, data-oriented designs
- Building a job system
Équipe pédagogique
Suivi de l'exécution et évaluation des résultats
- Feuilles de présence.
- Questions orales ou écrites (QCM).
- Mises en situation.
- Formulaires d'évaluation de la formation.
Ressources techniques et pédagogiques
- Accueil des apprenants dans une salle dédiée à la formation.
- Documents supports de formation projetés.
- Exposés théoriques
- Etude de cas concrets
- Quiz en salle
- Mise à disposition en ligne de documents supports à la suite de la formation.
Qualité et satisfaction
Modalités de certification
- Délivrance d'une attestation
Capacité d'accueil
Délai d'accès
Accessibilité
Pour les entreprises qui souhaitent une prise en charge par leur OPCO, l’inscription doit être réalisée au plus tard deux semaines avant le début de la formation pour respecter les délais d’instruction des OPCO.