The view from the SG14 Games Dev/Low Latency meeting at CPPCon 2015

SG14 report
In short, we had a super successful meeting. The room was full the entire day and the discussions were healthy and constructive. Thank you to all who helped to make this so much fun and enjoyable. I predict there will be even more participation next year as people seems to really enjoy participation in a design process and not just the mere act of listening to presentations.
I wish to than everyone who made it to the meeting, my co-chairs Sean Middleditch (Wargaming) and Nicolas Guillemot (Intel), as well as the scribes for the meeting who worked under difficult conditions:
Billy Baker (Flight Safety)
John McFarlane (Zoox.com)
Guy Davidson (Creative Assembly)

We plan to continue monthly telecon to conduct paper reviews. At Kona, we will have a Wednesday night evening session to update everyone.

Please see the slides for the report here which was presented in the Friday session by Sean and Nicolas which also outlines the problem domain, our motivation as well as the status of the discussion.

The Birth of SG14
https://docs.google.com/presentation/d/19iM3VIa24bStFHQwgniSO1J4vQjHR8curjOt6j3Liz8/edit#slide=id.g66ea100d2_0_58

We have 8 papers upstreamed from the meeting
P0037R0 Fixed point real numbers John McFarlane LEWG SG14/SG6
P0038R0 Flat Containers Sean Middleditch LEWG SG14
P0039R0 Extending raw_storage_iterator Brent Friedman LEWG SG14
P0040R0 Extending memory management tools Brent Friedman LEWG SG14
P0041R0 Unstable remove algorithms Brent Friedman LEWG SG14
P0048R0 Games Dev/Low Latency/Financial Trading/Banking Meeting Minutes 2015/08/12-2015/09/23 Michael Wong SG14
P0059R0 Add rings to the Standard Library Guy Davidson LEWG SG14
P0130R0 Comparing virtual functions Scott Wardle, Roberto Parolin EWG SG14

We had a major brain storm on why games programmers tends to turn off exception handling, and a brain storm session to see what kind of options and ideas to address their concerns.

We also briefly discussed the scope and coverage and decided that because of the common interest of

  • Real Time Graphics
  • Interactive simulation
  • Low-Latency
  • Constrained Resources

All are areas of interest to Games Dev, but they also intersect Financial Trading, Simulation and Embedded devices as can be seen from slide 12 of The Birth of SG14 talk.

As such a more appropriate name for SG14 group may be: Games Dev/Financial Trading/Banking/Simulation and we wish to invite representatives from these industries to join.

We intend to bring to discussion in addition to Exception/RTTI costs, topics regarding the following, some of which crosses into other groups such as SG1 Concurrency, SG6 Numerics and SG7 Reflections.

There are a few papers in the current mailing that is of interest to SG14.

GPU Accelerator support
P0069R0 A C++ Compiler for Heterogeneous Computing

We actually intend to study the design of C++AMP, OpenMP Accelerator/OpenACC, OpenCL, OpenGL and Vulcan for a GPU accelerator design to support gamers. We plan to review this paper under a co-located SG14 session which can run with SG1, but we are interested in taking this work further.
Allocators
P0089R0 Quantifying Memory-Allocation Strategies
Coroutines and games
P0054R0 Coroutines: reports from the fields
P0055R0 On Interactions Between Coroutines and Networking Library
P0070R0 Coroutines: Return Before Await
P0071R0 Coroutines: Keyword alternatives
P0073R0 On unifying the coroutines and resumable functions proposals
P0099R0 A low-level API for stackful context switching
Intrusive containers

likely/unlikely

function multiversioning

low latency for financial/trading

matrix operations

SIMD vectors
P0076R0 Vector and Wavefront Policies

Reflection

Numerics:
P0106R0 C++ Binary Fixed-Point Arithmetic
Our next telecon call is next Wednesday. You can get the detail by watching this mailing list:
And at the next C++ Standard meeting, we will be discussing the papers above. Thanks.