LEADER 00933nam0-22003371i-450- 001 990003071360403321 035 $a000307136 035 $aFED01000307136 035 $a(Aleph)000307136FED01 035 $a000307136 100 $a20000920d1965----km-y0itay50------ba 101 0 $aeng 102 $aIT 200 1 $aEssays in Political Economy$e[1873]$fJohn E.Cairnes. 205 $areprinted. 210 $aNew York$cAugustus M. Kelley$d1965. 215 $aVII, 371 p.$d21 cm 225 1 $aReprints of economic classics 300 $a[orig. pubb., London : MacMillan and Co, 1873] 676 $aD/3.25 676 $aD/9 676 $aO/2.112 702 1$aCairnes,$bJohn Elliott$f<1823-1875> 801 0$aIT$bUNINA$gRICA$2UNIMARC 901 $aBK 912 $a990003071360403321 952 $aD/3.25 CAI/65$b6159$fSES 959 $aSES 996 $aEssays in Political Economy$9464431 997 $aUNINA DB $aING01 LEADER 04590nam 22005415 450 001 9910869168003321 005 20240702131416.0 010 $a9783031543692$b(electronic bk.) 010 $z9783031543685 024 7 $a10.1007/978-3-031-54369-2 035 $a(MiAaPQ)EBC31516001 035 $a(Au-PeEL)EBL31516001 035 $a(CKB)32644659200041 035 $a(OCoLC)1443940904 035 $a(DE-He213)978-3-031-54369-2 035 $a(EXLCZ)9932644659200041 100 $a20240702d2024 u| 0 101 0 $aeng 135 $aurcnu|||||||| 181 $ctxt$2rdacontent 182 $cc$2rdamedia 183 $acr$2rdacarrier 200 10$aParallel C++ $eEfficient and Scalable High-Performance Parallel Programming Using HPX /$fby Patrick Diehl, Steven R. Brandt, Hartmut Kaiser 205 $a1st ed. 2024. 210 1$aCham :$cSpringer International Publishing :$cImprint: Springer,$d2024. 215 $a1 online resource (233 pages) 311 08$aPrint version: Diehl, Patrick Parallel C++ Cham : Springer International Publishing AG,c2024 9783031543685 320 $aIncludes bibliographical references and index. 327 $aPart 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. 330 $aThis 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. 606 $aProgramming languages (Electronic computers) 606 $aSoftware engineering 606 $aProgramming Language 606 $aSoftware Engineering 615 0$aProgramming languages (Electronic computers). 615 0$aSoftware engineering. 615 14$aProgramming Language. 615 24$aSoftware Engineering. 676 $a005.133 700 $aDiehl$b Patrick$01355443 702 $aBrandt$b Steven R. 702 $aKaiser$b Hartmut 801 0$bMiAaPQ 801 1$bMiAaPQ 801 2$bMiAaPQ 912 $a9910869168003321 996 $aParallel C++$94260405 997 $aUNINA