Tag: performance

Using Modern C++ to Eliminate Virtual Functions – Jonathan Gopel – CppCon 2022

  • Lobby
  • Tag Archives: performance

https://cppcon.org/
---

Using Modern C++ to Eliminate Virtual Functions - Jonathan Gopel - CppCon 2022
https://github.com/CppCon/CppCon2022

As of C++20, there are no cases in which statically linked programs require virtual functions. This talk will explore techniques for replacing runtime polymorphism with compile-time polymorphism such that virtual functions are never necessary. This talk will also address the higher-order concern of when it might make sense to avoid virtual functions or remove them from a codebase, as that decision ultimately is a design decision that only the author of the code can make. Attendees can expect to come away with a stronger understanding of the purposes of virtual functions and the mechanisms in modern C++ that can now be used to achieve those same purposes.
---

Jonathan Gopel

Jonathan is a C++ enthusiast who likes to tinker with the latest language features. He spends a lot of time thinking about designing beautiful, easy to use APIs, and believes that the hard part is interfacing with the humans, not the machines. In his spare time, Jonathan pursues outdoor sports - especially climbing, skiing, and running.
---

Videos Filmed & Edited by Bash Films: http://www.BashFilms.com
YouTube Channel Managed by Digital Medium Ltd https://events.digital-medium.co.uk

#cppcon #programming #functions

Filed under: UncategorizedTagged with: , , , , , , ,

The Hidden Performance Price of C++ Virtual Functions – by Ivica Bogosavljevic – CppCon 2022

  • Lobby
  • Tag Archives: performance

https://cppcon.org/
---

The Hidden Performance Price of C++ Virtual Functions - Ivica Bogosavljevic - CppCon 2022
https://github.com/CppCon/CppCon2022

Virtual function mechanism is one of the core concepts of C++, however, it does come with a performance price. But how high is that price? In this talk we are going to dissect virtual functions to understand when they are slow and why they are slow. We will investigate how well virtual functions use the CPU's underlying resources and how good is the compiler at optimizing virtual functions. We will also present several techniques to help you speed up your program using virtual functions.
---

Ivica Bogosavljevic

Senior Software Engineer with 10 years of experience active in the domain of Linux and bare-metal embedded systems. His professional focus is application performance improvement - techniques used to make your C/C++ program run faster by using better algorithms, better exploiting the underlying hardware, and better usage of the standard library, programming language, and the operating system. Writer for a performance-related tech blog: https://johnysswlab.com]
---

Videos Streamed & Edited by Digital Medium: http://online.digital-medium.co.uk

#cppcon #programming #functions

Filed under: UncategorizedTagged with: , , , , , ,

Understanding Allocator Impact on Runtime Performance in C++ – Parsa Amini – CppCon 2022

  • Lobby
  • Tag Archives: performance

https://cppcon.digital-medium.co.uk/tag/cppcon/">cppcon.org/
---

Understanding Allocator Impact on Runtime Performance in C++ - Parsa Amini - CppCon 2022
https://github.com/CppCon/CppCon2022

Typical users rely on existing tools to understand the performance of their code. However, no tool is perfectly suited for all applications, hardware, or analysis. Moreover, constructing a strong case that explains the impact of a design choice on runtime performance occasionally requires abstracting the results of a performance comparison into easy-to-interpret performance metrics while eliding or minimizing unrelated factors.

This talk recounts the challenges encountered while attempting to analyze and delineate the performance impact of employing local memory allocators. Challenges included 1) choosing the correct tool, 2) working around the resolution and precision constraints of the instrumentation and profiling tools, and 3) designing effective presentation and visualization material.
---

Parsa Amini

Parsa Amini is interested in high-performance computing applications and high-productivity parallel C++ codes. He has been involved in developing the HPX runtime system and HPX applications. Parsa received his Ph.D. degree in Computer Science from Louisiana State University and has been investigating the costs of using assumptions in C++ programs since.
__

Videos Filmed & Edited by Bash Films: http://www.BashFilms.com
YouTube Channel Managed by Digital Medium Ltd https://events.digital-medium.co.uk

#cppcon.digital-medium.co.uk/tag/cppcon/">cppcon #cppcon.digital-medium.co.uk/tag/programming/">programming #cpp

Filed under: UncategorizedTagged with: , , , ,

C++ Performance Portability – Decade of Challenges Developing Kokkos – Christian Trott – CppCon 2022

  • Lobby
  • Tag Archives: performance

https://cppcon.org/
---

C++ Performance Portability - Decade of Challenges Developing Kokkos - Christian Trott - CppCon 2022
https://github.com/CppCon/CppCon2022

Over the last decade, scientific computing had to deal with a diversifying hardware and programming model environment. Today’s scientific software engineers have to account for at least four vendor provided eco-systems: CUDA (NVIDIA), HIP (AMD), SYCL (Intel - OneAPI) and OpenMP. Performance Portability solutions attempt to relieve domain experts from the need to become experts in all of these, by providing an interface which enables developers to write their code once, and then execute it efficiently on any HPC platform.
This talk will discuss lessons learned from the last 10 years of developing and deploying Kokkos, a C++ based Performance Portability EcoSystem which is arguably the most widely used non-vendor solution for writing single source performance portable scientific applications. We will dive into some of the key challenges for designing performance portable software, and how to address them through appropriate API design. The talk will also show how some of the fundamental concepts for performance portability are getting introduced into the ISO C++ standard through upcoming features.
---

Christian Trott

Christian Trott is a high performance computing expert working at the Sandia National Laboratories. He leads the multi-institutional Kokkos C++ Performance Portability Programming Model development team and is member of the ISO C++ Standards Committee focusing on future C++ capabilities for parallel and heterogeneous computing. Christian is currently focused on making sure that Kokkos is ready for the exa-scale era high performance computing architectures. He also leads the mdspan proposal for the C++23 standard, which will provide multidimensional array views with configurable data layouts and data access functions.

His prior scientific work focused on computational material research using ab-initio calculations, molecular dynamic simulations and monte carlo methods for investigations of ion-conducting glass materials.
---

Videos Filmed & Edited by Bash Films: http://www.BashFilms.com
YouTube Channel Managed by Digital Medium Ltd https://events.digital-medium.co.uk

#cppcon #programming #software

Filed under: UncategorizedTagged with: , , , , , , , , , , , ,