Logo de l'organisme de formation

GAME MASTER CLASSES

Représentation de la formation : 2025/10 - Concurrency and Parallelism for Game Programming – A Deep Dive (Jason Gregory - Naughty Dog)

2025/10 - Concurrency and Parallelism for Game Programming – A Deep Dive (Jason Gregory - Naughty Dog)

Formation présentielle
Accessible
Durée : 7 heures (1 jour)
0/10
(0 avis)
Durée :7 heures (1 jour)
HT
S'inscrire
Durée :7 heures (1 jour)
HT
S'inscrire
Durée :7 heures (1 jour)
HT
S'inscrire

Formation créée le 15/07/2025.

Version du programme : 1

Programme de la formation

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

Pour qui
  • Runtime game programmers of all specialties: Gameplay, animation, physics, rendering, audio, etc.
Prérequis
  • 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

  • Intro: Motivation, The Problem We’re Solving, Agenda
  • 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
  • Intro to Lock-Free Programming
  • SIMD and GPU Programming
  • Best Practices and Thinking Concurrently
Équipe pédagogique

Jason Gregory has worked as a software engineer in the games industry since March 1999, and as a professional software engineer since 1994. He got his start in game programming at Midway Home Entertainment in San Diego, where he worked on tools, engine technology and game play code for Hydro Thunder™ 2 (arcade). He also wrote the PlayStation® 2/Xbox animation system for Freaky Flyers™ and Crank the Weasel. In 2003, Jason moved to Electronic Arts Los Angeles, where he worked on engine and game play technology for Medal of Honor:™ Pacific Assault and served as a lead engineer on the Medal of Honor:™ Airborne project. Jason is currently a Lead Programmer at Naughty Dog Inc., where he and his team are working on an exciting new game title for PlayStation® 5. He also developed engine and gameplay software for Naughty Dog's Uncharted: Drake’s Fortune™, Uncharted 2: Among Thieves™, Uncharted 3: Drake's Deception™, Uncharted 4: A Thief's End™, Uncharted: The Lost Legacy™, The Last of Us Part I™ and The Last of Us Part II™ for PlayStation® 5, PlayStation® 4, PlayStation® 3, and PC. Jason has also developed and taught courses in game technology at the University of Southern California.

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

Taux de satisfaction des apprenants et assiduité
0/10
(0 avis)

Modalités de certification

Modalité d'obtention
  • Délivrance d'une attestation

Capacité d'accueil

Entre 4 et 100 apprenants

Délai d'accès

2 semaines

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.