performance

Teresa Johnsons Meeting C++ 2020 Center Keynote: ThinLTO Whole Program Optimization

Taking a look at next weeks keynote by Teresa Johnson

Teresa Johnsons Center Keynote: ThinLTO Whole Program Optimization: Past, Present and Future

by Jens Weller

From the article:

Whole program optimization enables higher performance in C++ applications, because of the expanded scope for analysis and optimization. Traditionally, whole program optimization is not scalable in memory or time, and doesn't support effective incremental builds. ThinLTO (Thin Link Time Optimization) is a new compilation model that...

A look at next weeks Meeting C++ 2020 online conference

Looking at how next weeks Meeting C++ 2020 will be online

A look at next weeks Meeting C++ 2020 online conference

by Jens Weller

From the article:

First, Meeting C++ 2020 is an online conference, the planned onsite part is canceled. More about this in the last paragraph, as first, lets look whats happening next week!

The online part

Next weeks conference will consist of two tracks hosted in remo, one for talks and one for communication/networking/live video chat...

Jonathan Boccaras Meeting C++ 2020 opening keynote: meta-polymorphism

Some details for the opening keynote of Meeting C++ 2020 in two weeks!

Jonathan Boccaras Meeting C++ 2020 opening keynote: meta-polymorphism

by Jens Weller

From the article:

When you hear polymorphism you may think virtual functions, but this is just one speck of dust in the polymorphism universe.

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

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

HPX V1.5.1 Released

The newest version of HPX (V1.5.1) is now available for download! This is a relatively small bug-fix release that fixes some problems we discovered in the 1.5.0 release.

    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 features related parallelism and concurrency as specified by the upcoming C++20 Standard, 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 parallelism and concurrency.

 

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

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

HPX V1.5 Released

The newest version of HPX (V1.5) is now available for download! This is a big release with many changes and improvements. We have added numerous new features, adapted a lot of facilities to improve C++20 conformance. We have also continued our work on modularizing and making HPX lighter, improved its usability, stability, and performance. Please see here for 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 features related parallelism and concurrency as specified by the upcoming C++20 Standard, 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 parallelism and concurrency.

 

CppCon 2019: Floating-Point <charconv>: Making Your Code 10x Faster With C++17's Final Boss--STL

This year, CppCon 2020 is going virtual. The dates are still the same – September 14-18 – and we are aiming for the CppCon live event to have pretty much everything you’re familiar with at CppCon except moved online: multiple tracks including “back to basics” and a new “embedded” track; live speaker Q&A; live talk time zones friendly to Americas and EMEA (and we’re going to try to arrange around-the-clock recorded repeats in all time zones, where speakers who are available can be available for live Q&A in their repeated talks too, and we’ll do that if it’s possible – but we’re still working on it!); virtual tables where you can interact face-to-face online with other attendees just like at the physical event; virtual exhibitor spaces where you can meet the folks on your favorite product’s teams to ask them question face-to-face; pre- and post-conference classes; and even the CppCon house band playing live before every plenary session. All talk recordings will be freely available as usual on YouTube a month or two after the event, but everything else above will be available only live during CppCon week.

To whet your appetite for this year’s conference, here’s another of the top-rated talks from last year. Enjoy – and register today for CppCon 2020 – all the spirit and flavor of CppCon, this year all virtual and online!

Floating-Point <charconv>: Making Your Code 10x Faster With C++17's Final Boss

by Stephan T. Lavavej

Summary of the talk:

Floating-point numbers are ancient, mysterious, and terrifying. Over the past 30 years, the C and C++ Standards have provided many functions for floating-point/string conversions, such as C's strtof(), strtod(), and printf() %a %e %f %g, and C++'s iostreams, stof(), stod(), and to_string(). Despite this history, floating-point is far from a solved problem - these functions have ranged from annoyingly to egregiously slow, and application developers and library maintainers alike have found it exceedingly difficult to understand floating-point behavior.

This session will present new and wondrous developments in the area of floating-point conversions. If your serialization code is bottlenecked by floating-point printing, this will accelerate your code by roughly 3x to 30x (yes, times, not percent). You can also improve the human-readability of your output. Along the way, this session will cover the basics of floating-point representations, dispelling common myths like fuzziness and non-determinism.

Specifically, C++17 added 3 pages of Standardese describing the charconv header and its functions from_chars() and to_chars(). This feature has required an unexpectedly large amount of implementation work, taking over a dev-year for MSVC and becoming the last C++17 library feature to ship. Coincidentally, Ulf Adams at Google developed a novel algorithm named Ryu, which is responsible for the amazing speed of to_chars(). This session will focus on how to use charconv and how to understand its many supported formats, with a brief overview of Ryu's techniques.

C++ Lambdas, Threads, std::async and Parallel Algorithms--Bartlomiej Filipek

How do you use them?

C++ Lambdas, Threads, std::async and Parallel Algorithms

by Bartlomiej Filipek

From the article:

In articles about lambda expression (like this one from last week on my page), it’s easy to show examples where the lambda runs on the same thread as the caller. But how about asynchronous cases? What if your lambda is called on a separate thread? What problems you might encounter there.

Read on and let’s explore this topic...

Announcing Meeting C++ 2020!

Today I have the honor to give the kick-off for the official planning and participation in Meeting C++2020:

Announcing Meeting C++ 2020

by Jens Weller

From the article:

Meeting C++ returns with its 2020 conference edition! Like in the previous years, we'll be meeting in Berlin from the 12. - 14th November!

With the current situation of COVID-19, planning events for this year is difficult, though I have decided to go ahead and start the preparations for Meeting C++ 2020! I will keep you posted through out 2020 on the changes for this years conference!