1 option
Extreme-Scale Computing : A Practical Introduction with C++ / by Raymond J. Spiteri, Kyle Klenk.
Springer Nature - Springer Mathematics and Statistics (R0) eBooks 2025 English International Available online
View online- Format:
- Book
- Author/Creator:
- Spiteri, Raymond J.
- Series:
- CMS/CAIMS Books in Mathematics, 2730-6518 ; 15
- Language:
- English
- Subjects (All):
- Mathematics--Data processing.
- Mathematics.
- Quantum computers.
- Computer science--Mathematics.
- Computer science.
- Computational Mathematics and Numerical Analysis.
- Quantum Computing.
- Mathematics of Computing.
- Local Subjects:
- Computational Mathematics and Numerical Analysis.
- Quantum Computing.
- Mathematics of Computing.
- Physical Description:
- 1 online resource (379 pages)
- Edition:
- 1st ed. 2025.
- Place of Publication:
- Cham : Springer Nature Switzerland : Imprint: Springer, 2025.
- Summary:
- Scientific computing is essential for tackling complex problems across many domains—but how can scientists develop high-performance and high-quality software that scales efficiently? This book serves as an accessible introduction to extreme-scale computing, specifically designed for domain scientists who may not have formal computer science training but need to harness the power of C++ and parallel computing for large-scale applications. The book begins by covering the fundamentals of scientific computing software management, including essential tools like Linux, Git, and CMake, before diving into a detailed exploration of C++ for extreme-scale computing. Readers familiar with languages like Python will gain the necessary skills to transition to C++ and build scalable, efficient software. Beyond basic programming, this book delves into hardware-aware computing, teaching readers how to optimize software performance by understanding the underlying architecture of modern computational systems. It then introduces parallel computing techniques, covering MPI for distributed memory parallelism, shared memory parallelism, CUDA for GPU programming, and Kokkos for performance portability. Further chapters focus on efficient I/O, debugging, and profiling, which all address aspects of the critical challenge of performance optimization in extreme-scale computing. The book concludes with an overview of popular libraries for extreme-scale computing, equipping readers with the tools they need to solve real-world computational problems. With a balance of theory, practical applications, and illustrative case studies, this book provides domain scientists with a comprehensive roadmap to mastering extreme-scale computing and developing highly parallel and performant software.
- Contents:
- Part 1 - Extreme Scientific Computing Software Management
- Chapter 1 Linux Command Line
- Chapter 2: Version Control and Repositories
- Chapter 3: Building Software
- Part 2 - Programming Patterns and Modern C++
- Chapter 4: The C++ Ecosystem
- Chapter 5: Primitive C++
- Chapter 6: Advanced C++
- Chapter 7: Modern C++ and guidelines
- Chapter 8: The Standard Template Library.
- Notes:
- Description based on publisher supplied metadata and other sources.
- Other Format:
- Print version: Spiteri, Raymond J. Extreme-Scale Computing
- ISBN:
- 9783031890338
- OCLC:
- 1534439677
The Penn Libraries is committed to describing library materials using current, accurate, and responsible language. If you discover outdated or inaccurate language, please fill out this feedback form to report it and suggest alternative language.