CppCon 2015

Grant Mercer and I had the opportunity to present our talk, ‘Parallelizing the STL’, at Cppcon 2015. We both consider ourselves lucky for being able to attend the conference. The buzz of the atmosphere and C++ community was truly exciting to witness. Attendees were both from all over the world and performance critical industries ranging from gaming and finance to scientific computing. As Jon Kalb highlighted in his talk, C++ is receiving a resurgence for several performance related reasons: Moore’s Law is coming to end and the subsequent shift to multi-core architectures, increased computational demands from the private sector, and the rise of power constrained mobile architectures. Combined with the interest in the standardization process, C++17 and beyond, there was a palpable excitement.

The buzz was only complemented by the number of great talks. The opening keynote by Bjarne Stroustrup introduced the C++ core guidelines (github.com/isocpp/CppCoreGuidelines) to limit resource leaks, ensure static type safety and provide proscriptive guidelines that teams can follow. The idea is to support open dialogue so that better tools can be used and cleaner code can be written. The guidelines were a theme of the conference. Herb Sutter’s day 2 keynote showed off what the upcoming editions of Microsoft visual studio can catch. Aside from a push to more compatible C++ tools, upcoming language features were shown. Friday’s keynote by Eric Niebler demonstrated the upcoming ranges proposal. He introduced programming with his ranges library that he hopes to be in the future STL2. Using ranges, he created a calendar that had no for loops, used lazy evaluation and had immutable types that can serve to limit bugs.

Grant and I delivered our talk on Tuesday where we introduced how the parallel algorithms are implemented inside of HPX and how the application developer can communicate with the algorithm. We wanted to highlight first that the we can communicate the with algorithms via execution policies and there associated executors and executor parameters and second, that we did this through a generic partitioning scheme. As this being my first talk, I was quite nervous! Luckily, there were other students and certainly, a little bit nerves doesn’t outweigh getting to be a part of the C++ community.

Leave a Reply

Your email address will not be published. Required fields are marked *