Parallel C++ Efficient and Scalable High-Performance Parallel Programming Using HPX /
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...
Сохранить в:
| Главные авторы: | , , |
|---|---|
| Соавтор: | |
| Формат: | Электронный ресурс eКнига |
| Язык: | английский |
| Опубликовано: |
Cham :
Springer International Publishing : Imprint: Springer,
2024.
|
| Редактирование: | 1st ed. 2024. |
| Предметы: | |
| Online-ссылка: | https://doi.org/10.1007/978-3-031-54369-2 |
| Метки: |
Добавить метку
Нет меток, Требуется 1-ая метка записи!
|
MARC
| LEADER | 00000nam a22000005i 4500 | ||
|---|---|---|---|
| 001 | 978-3-031-54369-2 | ||
| 003 | DE-He213 | ||
| 005 | 20260810165725.0 | ||
| 007 | cr nn 008mamaa | ||
| 008 | 240702s2024 sz | o |||| 0|eng d | ||
| 020 | |a 9783031543692 |9 978-3-031-54369-2 | ||
| 024 | 7 | |a 10.1007/978-3-031-54369-2 |2 doi | |
| 050 | 4 | |a QA76.7-.73 | |
| 072 | 7 | |a UMX |2 bicssc | |
| 072 | 7 | |a COM051010 |2 bisacsh | |
| 072 | 7 | |a UMX |2 thema | |
| 082 | 0 | 4 | |a 005.13 |2 23 |
| 100 | 1 | |a Diehl, Patrick. |e author. |4 aut |4 http://id.loc.gov/vocabulary/relators/aut | |
| 245 | 1 | 0 | |a Parallel C++ |h [electronic resource] : |b Efficient and Scalable High-Performance Parallel Programming Using HPX / |c by Patrick Diehl, Steven R. Brandt, Hartmut Kaiser. |
| 250 | |a 1st ed. 2024. | ||
| 264 | 1 | |a Cham : |b Springer International Publishing : |b Imprint: Springer, |c 2024. | |
| 300 | |a 1 online resource (XVIII, 239 p. 1 illus.). | ||
| 336 | |a text |b txt |2 rdacontent | ||
| 337 | |a computer |b c |2 rdamedia | ||
| 338 | |a online resource |b cr |2 rdacarrier | ||
| 347 | |a text file |b PDF |2 rda | ||
| 505 | 0 | |a 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. | |
| 520 | |a 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. | ||
| 588 | |a Print version record. | ||
| 650 | 0 | |a Programming languages (Electronic computers). | |
| 650 | 0 | |a Software engineering. | |
| 650 | 1 | 4 | |a Programming Language. |
| 650 | 2 | 4 | |a Software Engineering. |
| 700 | 1 | |a Brandt, Steven R. |e author. |4 aut |4 http://id.loc.gov/vocabulary/relators/aut | |
| 700 | 1 | |a Kaiser, Hartmut. |e author. |4 aut |4 http://id.loc.gov/vocabulary/relators/aut | |
| 710 | 2 | |a SpringerLink (Online service) | |
| 773 | 0 | |t Springer Nature eBook | |
| 776 | 0 | 8 | |i Printed edition: |z 9783031543685 |
| 776 | 0 | 8 | |i Printed edition: |z 9783031543708 |
| 856 | 4 | 0 | |u https://doi.org/10.1007/978-3-031-54369-2 |
| 912 | |a ZDB-2-SCS | ||
| 912 | |a ZDB-2-SXCS | ||
| 950 | |a Computer Science (SpringerNature-11645) | ||
| 950 | |a Computer Science (R0) (SpringerNature-43710) | ||