Parallel C++_ Efficient and Scalable High-Performance Parallel Programming Using HPX by Patrick Diehl.pdf
8.43 MB
_ DOWNLOAD free audiobook version.txt
1.31 kB
_ uploads will stop, your support is needed, 242 members to go (07.04.2024).txt
915.00 B
xx
Parallel C++: Efficient and Scalable High-Performance Parallel Programming Using HPX by Patrick Diehl PDF
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.
Comments need intelligible text (not only emojis or meaningless drivel). No upload requests, visit the forum or message the uploader for this. Use common sense and try to stay on topic.