January 2019

Call For Papers: Distributed & Heterogeneous Programming in C/C++

The call for papers is now open for DHPCC++19 and closes on 27th January.

DHPCC++, 13 May 2019, Northeastern University, Boston, USA

by the DHPCC++

From the article:

This will be the 3rd DHPCC++ event in partnership with IWOCL, the international OpenCL workshop with a focus on heterogeneous programming models for C and C++, covering all the programming models that have been designed to support heterogeneous programming in C and C++.

Many C++ programming models exist including SYCL, HPX, KoKKos, Raja, C++AMP, HCC, Boost.Compute, and CUDA. This conference aims to address the needs of both HPC and the consumer/embedded community where a number of C++ parallel programming frameworks have been developed to address the needs of multi-threaded and distributed applications. The C++11/14/17 International Standards have introduced new tools for parallel programming to the language, and the ongoing standardization effort is developing additional features which will enable support for heterogeneous and distributed parallelism into ISO C++ 20/23. This conference is an ideal place to discuss research in this domain, consolidate usage experience, and share new directions to support new hardware and memory models with the aim of passing that experience to ISO C and C++.

Topics of interest include, but are not limited to:

  • Future Heterogeneous programming C/C++ proposals (SYCL, Kokkos, Raja, HPX, C++AMP, Boost.Compute, CUDA …)
  • ISO C/C++ related proposals and development including current related concurrency, parallelism, coroutines, executors
  • C/C++ programming models for OpenCL
  • Language Design Topics such as parallelism model, data model, data movement, memory layout, target platforms, static and dynamic compilation
  • Applications implemented using these models including Neural Network, machine vision, HPC, CFD as well as exascale applications
  • C/C++ Libraries using these models
  • Integration of these models with other programming models
  • Compilation techniques to optimize kernels using any of (clang, gcc, ..) or other compilation systems
  • Performance or functional comparisons between any of these programming models
  • Implementation of these models on novel architectures (FPGA, DSP, …) such as clusters, NUMA and PGAS
  • Using these models in fault-tolerant systems

CppCast Episode 182: Trivially Relocatable with Arthur O'Dwyer

Episode 182 of CppCast the first podcast for C++ developers by C++ developers. In this episode Rob and Jason are joined by Arthur O'Dwyer to discuss board games, his 3 ISO C++ papers and much more.

CppCast Episode 182: Trivially Relocatable with Arthur O'Dwyer

by Rob Irving and Jason Turner

About the interviewee:

Arthur O'Dwyer started his career writing pre-C++11 compilers for Green Hills Software; he currently writes C++14 for Akamai Technologies. Arthur is the author of "Colossal Cave: The Board Game," "Mastering the C++17 STL" (the book), and "The STL From Scratch" (the training course). He is occasionally active on the C++ Standards Committee and has a blog mostly about C++.

First videos from Meeting C++ 2018 are online!

Right now its the lightning talks which are being uploaded, followed by the first keynote tomorrow!

Meeting C++ 2018 Videos

by Jens Weller

The talks will follow in the coming weeks. Over the weekend the keynotes and lightning talks should be online.

Quick Q: How to use auto keyword to assign a variable of type uint32_t or uint64_t in C++

Quick A: Write the type!

Recently on SO:

How to use auto keyword to assign a variable of type uint32_t or uint64_t in C++

I'm assuming you're working with the AAA style suggested by Herb Sutter.

In that case, a nice solution is to simply write:

auto variable_name = uint64_t{ 5000000000 };

This is clear, consistent, and explicitly typed with no nasty C-preprocessor necessary.

Swapping the Contents of n Variables -- Paul Keir

Swapping arguments using a fold expression.

Swapping the Contents of n Variables

by Paul Keir

From the article:

C++11's std::swap is a binary function template which exchanges the contents of its two reference arguments. In C++20 std::swap will likely also permit execution at compile-time. In this post we consider a version which can swap the contents of an arbitrary number of arguments using a C++17 fold-expression...

 

Developer Ecosystem 2019 survey by JetBrains

In JetBrains we feel it is important to keep monitoring the changing patterns and trends going on in the Software Development industry. That's why we run this survey yearly, trying to better understand the evolving world of development.

Developer Ecosystem 2019 Survey by JetBrains

by Anastasia Kazakova

About the survey:

In 2017, when we first started, the numbers of C/C++ developers in the survey were quite low:

  • total number of C developers in the survey is 1174, number of developers who use C as a primary dev language is 166
  • total number of C++ developers in the survey is 1713, number of developers who use C++ as a primary dev language is 348

A year after we got more impressive numbers:

  • total number of C developers in the survey is 3371, number of developers who use C as a primary dev language is 1254
  • total number of C++ developers in the survey is 4763, number of developers who use C++ as a primary dev language is 2036

We've learned a lot about language standard usage, compilers, build systems, unit testing frameworks, and other important aspects of C/C++ development from these surveys. Help us make it again this year!