-
出版商:
Springer
-
出版日期:
2025-08-02
-
售價:
$2,840
-
貴賓價:
9.5 折
$2,698
-
語言:
英文
-
頁數:
389
-
裝訂:
Hardcover - also called cloth, retail trade, or trade
-
ISBN:
3031890329
-
ISBN-13:
9783031890321
-
相關分類:
C++ 程式語言、雲端運算
商品描述
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.
商品描述(中文翻譯)
科學計算對於解決許多領域中的複雜問題至關重要,但科學家如何開發高效能且高品質的軟體以有效擴展呢?本書作為極大規模計算的入門指南,專為那些可能沒有正式計算機科學訓練的領域科學家設計,幫助他們利用 C++ 和平行計算的力量來應對大規模應用。
本書首先涵蓋科學計算軟體管理的基本原則,包括 Linux、Git 和 CMake 等基本工具,然後深入探討 C++ 在極大規模計算中的應用。熟悉 Python 等語言的讀者將獲得必要的技能,以便轉向 C++ 並構建可擴展且高效的軟體。除了基本的程式設計外,本書還深入探討硬體感知計算,教導讀者如何通過理解現代計算系統的底層架構來優化軟體性能。接著介紹平行計算技術,涵蓋用於分散式記憶體平行處理的 MPI、共享記憶體平行處理、用於 GPU 程式設計的 CUDA 以及用於性能可攜性的 Kokkos。
後續章節專注於高效的 I/O、除錯和性能分析,這些都針對極大規模計算中性能優化的關鍵挑戰。書末概述了流行的極大規模計算庫,為讀者提供解決現實計算問題所需的工具。通過理論、實際應用和示例案例的平衡,本書為領域科學家提供了一條全面的路徑,以掌握極大規模計算並開發高度平行和高效的軟體。
作者簡介
Raymond J. Spiteri is Professor of Computer Science at the University of Saskatchewan. His research interests include numerical analysis, scientific computing, and extreme-scale computing. He has served as President of the Canadian Applied and Industrial Mathematics Society as well as Natural Sciences and Engineering Research Council of Canada Group Chair of the Evaluation Group for Mathematics and Statistics. He has received the CAIMS-Fields Industrial Mathematics Prize, the Mitacs Award for Exceptional Leadership -- Professor, and the Arthur Beaumont Distinguished Service Award. Kyle Klenk is a Research Systems Analyst at the University of Saskatchewan. His research interests include scientific computing, concurrency, information systems, and extreme-scale computing. He is an early career scientist who has worked under Raymond J. Spiteri as a Research Assistant for 3 years. He currently works for the Computer Science department at the University of Saskatchewan where he provides research and IT support.
作者簡介(中文翻譯)
雷蒙德·J·斯皮特里(Raymond J. Spiteri)是薩斯喀徹溫大學(University of Saskatchewan)計算機科學教授。他的研究興趣包括數值分析、科學計算和極大規模計算。他曾擔任加拿大應用與工業數學學會(Canadian Applied and Industrial Mathematics Society)會長,以及加拿大自然科學與工程研究委員會(Natural Sciences and Engineering Research Council of Canada)數學與統計評估小組的主席。他獲得過CAIMS-Fields工業數學獎、Mitacs卓越領導獎—教授,以及亞瑟·博蒙特傑出服務獎(Arthur Beaumont Distinguished Service Award)。
凱爾·克倫克(Kyle Klenk)是薩斯喀徹溫大學的研究系統分析師。他的研究興趣包括科學計算、並發性、資訊系統和極大規模計算。他是一位早期職業科學家,曾在雷蒙德·J·斯皮特里教授的指導下擔任研究助理三年。目前,他在薩斯喀徹溫大學的計算機科學系工作,提供研究和IT支持。