
Parallel C++
Efficient and Scalable High-Performance Parallel Programming Using HPX
- Publisher's listprice EUR 69.54
-
The price is estimated because at the time of ordering we do not know what conversion rates will apply to HUF / product currency when the book arrives. In case HUF is weaker, the price increases slightly, in case HUF is stronger, the price goes lower slightly.
- Discount 8% (cc. 2 360 Ft off)
- Discounted price 27 139 Ft (25 846 Ft + 5% VAT)
Subcribe now and take benefit of a favourable price.
Subscribe
29 498 Ft
Availability
Estimated delivery time: In stock at the publisher, but not at Prospero's office. Delivery time approx. 3-5 weeks.
Not in stock at Prospero.
Why don't you give exact delivery time?
Delivery time is estimated on our previous experiences. We give estimations only, because we order from outside Hungary, and the delivery time mainly depends on how quickly the publisher supplies the book. Faster or slower deliveries both happen, but we do our best to supply as quickly as possible.
Product details:
- Edition number 2024
- Publisher Springer
- Date of Publication 3 July 2024
- Number of Volumes 1 pieces, Book
- ISBN 9783031543685
- Binding Paperback
- No. of pages239 pages
- Size 235x155 mm
- Language English
- Illustrations 1 Illustrations, black & white 601
Categories
Short description:
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.
MoreLong description:
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.
More
Table of Contents:
Part I: Preliminaries.- 1. Compiling and running the code and examples in this book.- Part II: Introduction to C++ and C++ Standard Library.- 2. About C++, C++ standard, and the C++ Standard Library.- 3. C++ Standard library.- 4. Example Mandelbrot set and Julia set.- Part III: The C++ standard library for concurrency and parallelism (HPX).- 5. Why HPX?.- 6. The C++ standard library for parallelism and concurrency (HPX).- Part IV: Parallel programming.- 7. Parallel Programming.- 8. Programming with Low Level Threads.- 9. Asynchronous programming.- 10. Parallel Algorithms.- 11. Coroutines.- 12. Benchmarking the fractal set codes.- Part V: Distributed programming.- 13. Distributed computing and programming.- 14. Distributed programming using HPX.- 15. Examples of distributed programming.- 16. Some remarks on MPI+OpenMP and HPX.- Part VI: A showcase for a portable high performance application using HPX.- 17. Accelerator Cards.- 18. Octo-Tiger, a showcase for a portable high performance application.- Part VII: Conclusion and Outlook.- 19. Conclusion and Outlook.
More