Parallel C++ Parallel C++

Parallel C+‪+‬

Efficient and Scalable High-Performance Parallel Programming Using HPX

Patrick Diehl und andere
    • CHF 65.00
    • CHF 65.00

Beschreibung des Verlags

This textbook focuses on practical parallel C++ programming at the graduate student level. In particular, it shows the APIs and related language features in the C++ 17 and C++ 20 standards, covering both single node and distributed systems. It shows that with the parallel features in the C++ 17 and C++ 20 standards, learning meta-languages like OpenMP is no longer necessary. Using the C++ standard library for parallelism and concurrency (HPX), the same language features can be extended to distributed codes, providing a higher-level C++ interface to distributed programming than the Message Passing Interface (MPI).
The book starts with the single-threaded implementation of the fractal sets, e.g. Julia set, and Mandelbrot set, using the C++ Standard Library (SL)’s container and algorithms. This code base is used for parallel implementation using low-level threads, asynchronous programming, parallel algorithms, and coroutines. The asynchronous programming examples are then extended to distributed programming using the C++ standard library for parallelism and concurrency (HPX). Octo-Tiger, an astrophysics code for stellar merger, is used as a showcase for a portable, efficient, and scalable high-performance application using HPX.

The book’s core audience is advanced undergraduate and graduate students who want to learn the basics of parallel and distributed C++ programming but are not computer science majors. Basic C++ knowledge, like functions, classes, loops, and conditional statements, is assumed as a requirement, while C++ advanced topics, like generic programming, lambda functions, smart pointers, and move semantics, are briefly summarized in the appendix.

GENRE
Computer und Internet
ERSCHIENEN
2024
2. Juli
SPRACHE
EN
Englisch
UMFANG
257
Seiten
VERLAG
Springer International Publishing
GRÖSSE
21.1
 MB
Asynchronous Many-Task Systems and Applications Asynchronous Many-Task Systems and Applications
2025
Euro-Par 2024: Parallel Processing Workshops Euro-Par 2024: Parallel Processing Workshops
2025
Euro-Par 2024: Parallel Processing Workshops Euro-Par 2024: Parallel Processing Workshops
2025
Asynchronous Many-Task Systems and Applications Asynchronous Many-Task Systems and Applications
2024
Euro-Par 2023: Parallel Processing Workshops Euro-Par 2023: Parallel Processing Workshops
2024
Euro-Par 2023: Parallel Processing Workshops Euro-Par 2023: Parallel Processing Workshops
2024