Parallel C++ : Efficient and Scalable High-Performance Parallel Programming Using HPX (2024)

個数:

Parallel C++ : Efficient and Scalable High-Performance Parallel Programming Using HPX (2024)

  • 提携先の海外書籍取次会社に在庫がございます。通常3週間で発送いたします。
    重要ご説明事項
    1. 納期遅延や、ご入手不能となる場合が若干ございます。
    2. 複数冊ご注文の場合は、ご注文数量が揃ってからまとめて発送いたします。
    3. 美品のご指定は承りかねます。

    ●3Dセキュア導入とクレジットカードによるお支払いについて
  • 【入荷遅延について】
    世界情勢の影響により、海外からお取り寄せとなる洋書・洋古書の入荷が、表示している標準的な納期よりも遅延する場合がございます。
    おそれいりますが、あらかじめご了承くださいますようお願い申し上げます。
  • ◆画像の表紙や帯等は実物とは異なる場合があります。
  • ◆ウェブストアでの洋書販売価格は、弊社店舗等での販売価格とは異なります。
    また、洋書販売価格は、ご注文確定時点での日本円価格となります。
    ご注文確定後に、同じ洋書の販売価格が変動しても、それは反映されません。
  • 製本 Paperback:紙装版/ペーパーバック版/ページ数 239 p.
  • 商品コード 9783031543685

Full 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.

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.

最近チェックした商品