Skip to content
0:00 / 0:00

#atomics#lock-free#multicore

CppCon 2014: Jeff Preshing "How Ubisoft Develops Games for Multicore - Before and After C++11"

CppCon

189K subscribers • 101 videos on Hallway • Conference channel

YouTube
  • Recommended by 2 people: 2 on Hacker News.
  • Presented by Jeff Preshing, Technical Architect at Ubisoft Montreal
  • Linked in the descriptionCppCon/CppCon2014
  • May be out of date. Uploaded 12 years ago, in an area where tools change fast.

Advanced. Deep dive for people who know the field.

53K views12 years ago2 recommendations

Game developmentSystems programmingC++Concurrency and parallelismGame programming

Jeff Preshing explains how Ubisoft Montreal designs game engines for multicore processors, detailing atomic operations and lock-free programming before and after C++11.

cppcon.org — Presentation Slides, PDFs, Source Code and other presenter materials are available at: github.com/CppCon/CppCon2014 -- "How Ubisoft Montreal Develops Games for Multicore - Before and After C++11" -- Multicore hit the video game industry in a big way. Every platform we develop for now comes in a multicore configuration, and we're always under pressure to exploit the hardware to its fullest. This talk will share our experience learning to develop C++ software for multicore processors over the last decade. It will also explore the new concurrency support in C++11, and examine the way C++11 has influenced the way we develop multicore software so far. -- Jeff Preshing is a Technical Architect at Ubisoft Montreal, where he's worked on games such as Rainbow Six Vegas, Child of Light and Assassin's Creed Unity. He also maintains a blog where he writes frequently about lock-free programming and the C++11 atomic library. -- Videos Filmed & Edited by Bash Films: BashFilms.com Work at Hudson River Trading (HRT): tinyurl.com/safxfctf

Why it's here

2 people recommend this

What people say. Highly recommended as an exceptionally clear introduction to atomic operations and lock-free programming in real-world game engines.

zamalekon Hacker News • Recommends

On “Comparison: Lockless programming with atomics in C++ 11 vs. mutex and RW-locks”

Jeff Preshing gave a really good introduction to atomics at CppCon 2014.1 He explains it so clearly that 1 day later I had a fully tested lock-free work stealing queue and a queue. One of my favorite talks of last year. 1: link to this video

dougbinkson Hacker News • Recommends

On “Implementing a lightweight task scheduler in C++”

For those interested in the implementation of atomic operations see Jeff Preshing's "How Ubisoft Develops Games for Multicore - Before and After C++11", especially after 15m55s in on the video, or slide 37 of the pdf on github. Video: link to this video PDF: link

corysamaon Hacker News • Mentions

On “Parallelizing the Naughty Dog Engine Using Fibers [video]”

Similar talk: CppCon 2014: Jeff Preshing "How Ubisoft Develops Games for Multicore - Before and After C++11" link to this video Ubisoft's talk spends more time getting into the weeds with atomic ops. Naughty Dog's is more of an architecture discussion. If you can only watch one, I'll recommend Naughty Dog's.

genson Hacker News • Mentions

On “Ask HN: What are you working on?”

I'm making a game/engine with efficiency/performance as a top goal. I'v spent years thinking about the design. And after i figured it out, i found a talk from an Ubisoft employee that is mostly what i came up with. The problems are many, especially since i want to support multiplayer. The biggest solutions are around how data is transformed and scheduling the code that transforms it, more or less. The talk: link to this video