HPX V1.4 released -- STE||AR Group

The STE||AR Group has released V1.4 of HPX -- A C++ Standard library for parallelism and concurrency.

HPX V1.4 Released

The newest version of HPX (V1.4) is now available for download! This release focuses on performance and stability improvements. Please see here for the full release notes.

    HPX is a general purpose parallel C++ runtime system for applications of any scale. It implements all of the related facilities as defined by the C++ Standard. As of this writing, HPX provides the only widely available open-source implementation of the new C++17 parallel algorithms. Additionally, HPX implements functionalities proposed as part of the ongoing C++ standardization process, such as large parts of the C++ Concurrency TS, Parallelism TS V2, data-parallel algorithms, executors, and many more. It also extends the existing C++ Standard APIs to the distributed case (e.g. compute clusters) and for heterogeneous systems (e.g. GPUs).

    HPX seamlessly enables a new Asynchronous C++ Standard Programming Model that tends to improve the parallel efficiency of our applications and helps reducing complexities usually associated with parellism and concurrency.

 

SonarQube C++ analysis adds more support for C++ Core Guidelines -- Alex Gigleux

The code analysis platform SonarQube announces the next step for C++.

SonarQube C++ analysis offers more efficient analysis and deeper Code Guildelines coverage

By Alex Gigleux

From the article:

We’re proud to announce the following improvements to the C++ analyzer:

  • faster analysis thanks to incremental mode
  • broader coverage of the C++ Core Guidelines
  • improved diagnostic reproduction for failed scans thanks to its automatic reproducer creation

C++ coroutines: The problem of the DispatcherQueue task that runs too soon, part 4--Raymond Chen

The series continue.

C++ coroutines: The problem of the DispatcherQueue task that runs too soon, part 4

by Raymond Chen

From the article:

Last time, we made another attempt to fix a race condition in C++/WinRT’s resume_foreground(Dispatcher­Queue) function when it tries to resume execution on a dispatcher queue. We did this by having the queued task wait until await_suspend was finished before allowing the coroutine to resume, and we found a nice place to put the synchronization object, namely in the awaiter, but even with that fix, we introduced additional memory barriers into the hot code path.

But it turns out all this work was unnecessary. We just had to look at the problem a different way.

The purpose of storing the result of Try­Enqueue into m_queued is so that await_resume can report whether the lambda was queued or not. But we can infer that information another way: The fact that our lambda is running means that got got queued. Because if the lambda were not queued, then it would never have run in the first place...

C++ coroutines: The problem of the DispatcherQueue task that runs too soon, part 3--Raymond Chen

The series contine.

C++ coroutines: The problem of the DispatcherQueue task that runs too soon, part 3

by Raymond Chen

From the article:

Last time, we fixed a race condition in C++/WinRT’s resume_foreground(Dispatcher­Queue) function when it tries to resume execution on a dispatcher queue. We did this by having the queued task wait until await_suspend was finished before allowing the coroutine to resume. The hard part was finding a place to put the synchronization object, and we ended up putting it in the queued task’s lambda...

Launching the Meeting C++ Community Survey

Take the Meeting C++ Community Survey!

Launching the Meeting C++ Community Survey

by Jens Weller

From the article:

One thing then often has bugged me when looking at the C++ community is that we don't really had good numbers on most things. Jetbrains, ISOCPP and Bartek's coding blog have launched surveys in the last years, which changed this a little. Also I've been doing some surveys on Twitter, giving some limited insight into C++ related topics. But Twitter surveys are very limited, and for a long time I had an idea on how to make this a continuous survey.

C++ User Group meetings in January 2020

The monthly overview on upcoming C++ User Group meetings all over the world!

C++ User Group meetings in January 2020

by Jens Weller

From the article:

Happy new years! The year has begun, and lots of C++ User Groups have their first meeting of 2020.

Would like to start your own group or looking for ideas in running your current group? Watch my talk from CppCon:

CppCon YT - CppCon 2019: Jens Weller “Starting and Running C++ User Groups”