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.

Why are we charging for SG14 Games Dev/Low Latency meeting at CPPCON 2015? (and how you can get in for free)

We are less then a month away from CPPCon 2015 near Seattle, the premier event for C++ Boot camp. I have two talks scheduled – one on Memory Model and Atomics in C++11/14/17 and a second one on the Birth of SG14. I also have a Grill the Committee Panel.

But I am most excited about a new add-on event. We showed evidence and interest to the Standard committee at the Lenexa Meeting and was approved to form SG14 a Subgroup for Games development, Low latency, real time, simulation, and I might add banking/finance. That name is a bit too long to be usable. So we have just shortened it to the first two labels. As such, we will be chairing a full day meeting of SG14 in a room at the Meydenbauer Center concurrent with CPPCon on Wednesday, Sept 23rd. This enables Game developers who cannot attend C++ Standard meeting to attend with Committee members present to evaluate their proposals. A second meeting is already set up on March 14-18 2016 at GDC 2015 hosted by Sony (thank you, Sony).

If you have been registering, you will have noticed in the registration page for CPPCon that we are charging $25 to attend SG14. You will wonder why is there a cost to attend an SG14 meeting. The reason is really simple and I will show you a way to get in for free simply for reading this blog!

The SG14 meeting is a real C++ Std working meeting where we will be triaging and evaluating proposals, and giving feedback to authors all day (or until all proposals are done). The room we are given is limited in seating capacity (about 50 I am told). So we need to give preference to paper authors, C++ committee members and truly interested attendees. The conference organizers told me, and I agree that to offer a free but limited seating event would be asking for it to be filled (because what is the harm in signing up if you can just show up and leave) and not allow any space for the people who really need to be there.

So as such, if you are a paper author, or a C++ Committee member who intends to be there most of the day to help evaluate proposals, just send me an email reply on the C++ Standard reflector and I will add you to the protected list who can get in for free. Many people are already on that list but those 50 seats run out fast.

Who are the paper authors? They have been busy discussing on the SG14 reflector some of the following topics where there will be a likelihood a paper will be ready to be discussed. Their authors also have a bye into SG14 and I know who they are.

  • flat_map
  • fixed point
  • uninitialized algorithms
  • string stuff
  • rolling queues
  • intrusive containers
  • EH costs
  • Compare virtual function and see if a class has implementation or not
  • thread safe STL

If you fit none of those (not a C++ std committee member, not on SG14, not a paper author) and still interested in attending, you should join the SG14 discussion first, then email me on SG14, here or my gmail address and ask for a free ticket with some justification as to why you might stick through it all. I will be happy to grant it as the aim of this is truly not to make any money, but one of the few gate keeping method we have of not having a limited capacity room flooded, assuming we have the luxury of having that problem:)

Finally, CPPCon 2015 will have a number of talks which seem to be Games related. I had triaged the list with the help of Sean MiIddleditch and Nicolas Guillermot. I can’t say for sure as I have not contacted each author yet, but in a list of likelihood are the following (thanks to Jon Kalb for sending me the correct CPPCon links):

  • Definitely games related:

    • C++ for cross-platform VR development:

http://cppcon2015.sched.org/event/7212a9da0198fcfd8de5c05be21b667c

    • Testing Battle.net (before deploying to millions of players):

http://cppcon2015.sched.org/event/ac2534ecb08510c5810e7df34cdddb94

    • The current memory and C++ debugging tools used at Electronic Arts:

http://cppcon2015.sched.org/event/a9bccd0c3f6beb05752b36a4197a1deb

    • The Birth of Sg14:

http://cppcon2015.sched.org/event/0404d7fede126851710420c16218cdb9

  • Probably interesting to games developers:

    • Live lock-free or deadlock (practical Lock-free programming)

http://cppcon2015.sched.org/event/595740ce3bab0220cc3c22fa92777830

    • Reflection techniques in C++:

http://cppcon2015.sched.org/event/1d5b459ba8433d8e5effad7a862d599a

    • Cross-Platform Mobile App Development with Visual C++ 2015

http://cppcon2015.sched.org/event/7104a3140c2ba28cdd0a68e323f78eb2

    • How to make your data structures wait-free for reads:

http://cppcon2015.sched.org/event/34d0ca4052e1acad959c725584329dd7

    • C++11/14/17 Atomics the Deep dive: the gory details, before the story consumes you!

http://cppcon2015.sched.org/event/6f91922313cebd5a25369c05a56d4359

    • C++ Atomics: The Sad Story of memory_order_consume: A Happy Ending at Last?

http://cppcon2015.sched.org/event/6d97f88ae259e8103f23830ae350dc30

    • C++ in the Audio Industry

http://cppcon2015.sched.org/event/1cded491a6eeea3a5e5f1541af80a2a7

    • 3D Face Tracking and Reconstruction using Modern C++

http://cppcon2015.sched.org/event/d5f2c8bdd2fbdee420fa24f166f8bdec

    • Implementation of a component-based entity system in modern C++14

http://cppcon2015.sched.org/event/eb915d37a737d8ace0fbb9e4b5892f6d

  • Probably less interesting to games developers:

    • C++ Multi-dimensional Arrays for Computational Physics and Applied Mathematics

http://cppcon2015.sched.org/event/3ec0f48e8500cb20789d2935facca8c5

    • CopperSpice: A Pure C++ GUI Library

http://cppcon2015.sched.org/event/e27044d13660bf65b8a799dac1eff177

I hope to see you at the conference and I am hoping you will attend SG14, despite this $25 charge because now you know how to get in for free!