C++ Weekly Episode 68: std::iota—Jason Turner
Episode 68 of C++ Weekly.
std::iota
by Jason Turner
About the show:
What is std::iota, which was added in C++11, and what other options are there?
June 16-21, Sofia, Bulgaria
September 13-19, Aurora, CO, USA
October 25, Pavia, Italy
November 6-8, Berlin, Germany
November 16-21, Kona, HI, USA
By Jason Turner | Jun 19, 2017 10:30 AM | Tags: c++14 c++11 basics
Episode 68 of C++ Weekly.
std::iota
by Jason Turner
About the show:
What is std::iota, which was added in C++11, and what other options are there?
By Adrien Hamelin | Jun 16, 2017 12:04 PM | Tags: performance community
Have you registered for CppCon 2017 in September? Don’t delay – Registration is open now.
While we wait for this year’s event, we’re featuring videos of some of the 100+ talks from CppCon 2016 for you to enjoy. Here is today’s feature:
Bringing Clang and C++ to GPUs: An Open-Source, CUDA-Compatible GPU C++ Compiler
by Justin Lebar
Summary of the talk:
GPU computing has gone mainstream. It is a dominant part of the performance landscape, providing the initial 10x performance lift to a wide variety of applications. However, programing for GPUs can be extremely challenging. C++ is rarely available in an unmodified form, and there are few portable and open source approaches available. One of the most popular platforms, CUDA, has no production quality open source implementation. As a consequence, its C++ support has lagged behind and it has been a less appealing area for researchers and others that weren’t comfortable relying on NVIDIA’s tooling.
However, today things are different. Clang is now a fully functional open-source GPU compiler. It provides a CUDA-compatible programming model and can compile most of the awesome CUDA libraries out there ranging from Thrust (the CUDA-enabled parallel algorithms library that gave rise to the new parallelism technical specification) to Eigen and TensorFlow.
In this talk we will give an overview of how LLVM and Clang support targeting C++ to GPUs, how they work to be compatible with existing CUDA code, and how you can build your code today to run on GPUs with this open source compiler.
By robwirving | Jun 16, 2017 07:07 AM | Tags: None
Episode 105 of CppCast the only podcast for C++ developers by C++ developers. In this episode Rob and Jason are joined by Felix Petriconi to talk about his contributions to the stlab Concurrency library and the future of C++ futures.
CppCast Episode 105: stlab Concurrency with Felix Petriconi
by Rob Irving and Jason Turner
About the interviewee:
Felix Petriconi is working as professional programmer since 1993 after he had finished his study of electrical engineering. He started his career as teacher for intellectually gifted children, freelance programmer among others in telecommunication and automotive projects. Since 2003 he is employed as programmer and development manager at the MeVis Medical Solutions AG in Bremen, Germany. He is part of a team that develops and maintains radiological medical devices. His focus is on C++ development, training of modern C++, and application performance tuning. He is a regular speaker at the C++ user group in Bremen and a member of the ACCU’s conference committee.
By Adrien Hamelin | Jun 14, 2017 08:00 AM | Tags: None
Have you registered for CppCon 2017 in September? Don’t delay – Registration is open now.
While we wait for this year’s event, we’re featuring videos of some of the 100+ talks from CppCon 2016 for you to enjoy. Here is today’s feature:
extern c: Talking to C Programmers about C++
by Dan Saks
Summary of the talk:
Most of us have heard this story. We’ve even told it ourselves…
C++ is nearly all of C, plus a whole lot more. Migrating code from C to C++ is pretty easy. Moreover, the migration itself can yield immediate benefits by exposing questionable type conversions that can be sources of latent bugs. After migration, the code performs as well in C++ as in the original C. And now that it’s C++, you have ready access to a wealth of advanced features you can (but don’t have to) use to implement enhancements.
Who wouldn’t want that? Legions of C programmers, apparently.
Despite the success of C++ in numerous application domains, C remains considerably more popular, especially in embedded, automotive, and aerospace applications. In many cases, projects resist C++ because their managers think the risks outweigh the benefits. In other cases, the resistance comes from programmers who persist in believing bad things about C++, even when those things aren’t true.
What can the C++ community do to overcome this resistance? Drawing on lessons from cognitive science, linguistics and psychology, and (of course) computer science, this talk offers suggestions about how to make the case for C++ more persuasive to C programmers.
By Adrien Hamelin | Jun 12, 2017 02:09 PM | Tags: performance community
Have you registered for CppCon 2017 in September? Don’t delay – Registration is open now.
While we wait for this year’s event, we’re featuring videos of some of the 100+ talks from CppCon 2016 for you to enjoy. Here is today’s feature:
Practical Performance Practices
by Jason Turner
Summary of the talk:
In the past 6 years ChaiScript's performance has been improved by nearly 100x. This was not accomplished by adding a virtual machine or performing dynamic recompilation. Instead, these increases have been accomplished by moving to more simple, cleaner, idiomatic C++ and by following some simple rules. We will outline these concepts with examples for how they both simplified code while improving performance.
By Jason Turner | Jun 12, 2017 12:08 PM | Tags: c++17 basics
Episode 67 of C++ Weekly.
C++17's std::gcd and std::lcm
by Jason Turner
About the show:
In this episode Jason explores the new std::gcd and std::lcm functions that have been added in C++17.
By robwirving | Jun 9, 2017 05:57 PM | Tags: None
Episode 104 of CppCast the only podcast for C++ developers by C++ developers. In this episode Rob and Jason are joined by Tony Van Eerd to talk about his recent award winning C++Now talk on Postmodern C++ and his views on lock-free programming.
CppCast Episode 104: Postmodern C++ with Tony Van Eerd
by Rob Irving and Jason Turner
About the interviewee:
Tony Van Eerd has been coding for well over 25 years, and hopefully coding well for some of that. Mostly in graphics/video/film/broadcast (at Inscriber & Adobe), writing low level pixel++, high level UI, threading, and everything else. He now enables painting with light at Christie Digital. He is on the C++ Committee. He is a Ninja and a Jedi.
By Adrien Hamelin | Jun 9, 2017 12:09 PM | Tags: community c++11
Have you registered for CppCon 2017 in September? Don’t delay – Registration is open now.
While we wait for this year’s event, we’re featuring videos of some of the 100+ talks from CppCon 2016 for you to enjoy. Here is today’s feature:
STL Algorithms - why you should use them, and how to write your own
by Marshall Clow
Summary of the talk:
One of the most powerful features of the C++ standard library is the collection of basic algorithms. Everyone knows about sort and copy, but there are is a lot of powerful capabilities in the other algorithms as well. In this talk, I will explore some of the algorithms in the library, and give a rationale for writing your own, along with examples.
The motivation for writing your own algorithms is that you can create generic building blocks that can be used over and over again in your library or application, and which will allow your to program at a higher level of abstraction. Instead of thinking, "how do I sort this vector", you just call std::sort. The same should apply to the algorithms that are specific to your domain - once you write them.
By Adrien Hamelin | Jun 7, 2017 08:00 AM | Tags: None
Have you registered for CppCon 2017 in September? Don’t delay – Registration is open now.
While we wait for this year’s event, we’re featuring videos of some of the 100+ talks from CppCon 2016 for you to enjoy. Here is today’s feature:
High Performance Code 201: Hybrid Data Structures
by Chandler Carruth
Summary of the talk:
Modern programs’ performance characteristics are often dictated by their data. Whether the cache locality of data access, the size of working set, or avoiding costly memory allocation overhead. Unfortunately, the standard C++ library data structures range from adequate to terrible at controlling these aspects, and they don’t provide any of the core mechanisms needed for extremely efficient data structure design.
This talk will present the core concepts of designing high performance data structures in C++. It is based on years of experience in the LLVM compiler as well as several other large code bases. From these principles, the talk will propose a suite of data structures that provide performance without loss of generality or functionality. As much as this talk will present specific data structure designs, its primary intent will be to give an understanding of what makes these structures have greater performance than more naive approaches.
By Jason Turner | Jun 5, 2017 06:27 AM | Tags: intermediate c++17 c++11
Episode 66 of C++ Weekly.
Variadic fmin in C++11
by Jason Turner
About the show:
This episode demonstrates how fold expressions can be emulated in C++11 by back porting episode 65's C++17 variadic fmin to C++11.