
Автор: Thomas Sterling, Matthew Anderson, Maciej Brodowicz
Издательство: Morgan Kaufmann/Elsevier
Год: 2025
Страниц: 480
Язык: английский
Формат: epub (true)
Размер: 93.3 MB
Performance Computing: Modern Systems and Practices is a fully comprehensive and easily accessible treatment of high performance computing, covering fundamental concepts and essential knowledge while also providing key skills training. With this book, students will begin their careers with an understanding of possible directions for future research and development in HPC, domain scientists will learn how to use supercomputers as a key tool in their quest for new knowledge, and practicing engineers will discover how supercomputers can employ HPC systems and methods to the design and simulation of innovative products.
This new edition has been fully updated, and has been reorganized and restructured to improve accessibility for undergraduate students while also adding trending content such as Machine Learning and a new chapter on CUDA.
- Covers enabling technologies, system architectures and operating systems, parallel programming languages and algorithms, scientific visualization, correctness and performance debugging tools and methods, GPU accelerators, and Big Data problems
- Provides numerous examples that explore the basics of supercomputing while also providing practical training in the real use of high-end computers
- Helps users with informative and practical examples that build knowledge and skills through incremental steps
- Features sidebars of background and context to present a live history and culture of this unique field
Matplotlib is a freely available and open-source Python language-based visualization tool that has an interface with the look and feel of Matlab. It relies upon the NumPy extension to Python as a required dependency for array and matrix support. Like Gnuplot, Matplotlib is frequently found already installed on many supercomputer installations and is easily integrated into existing HPC application code bases for application-specific visualizations. Python is frequently used in scientific visualization, and in the case of Matplotlib, using Python is a requirement. While the Python syntax is simple and intuitive, a quick overview of Python syntax can be found in reference.
The book has been reorganized into six parts to facilitate flexibility on the part of the instructor, as will be described in greater detail in Chapter 1, the introduction. The parts are structured such that they can be taught separately or in different combinations depending on the synopsis of the course.
Part 1 provides a foundation for all of the other parts and should probably be used in any course.
Part 2 gives the means by which practicing computational scientists including those in other fields can employ HPC systems without writing their own programs but taking advantage of a vast expanse of infrastructure, libraries, and tools that can be used to construct workloads for end domain problems.
Part 3 presents the architecture of a major class of parallel computers and the methods of programming them through the widely used OpenMP shared-memory programming interface.
Part 4 does the same for scalable distributed-memory architecture using the message-passing interface.
Part 5 takes this one step further with heterogeneous computing combining graphics processing unit (GPU) accelerators with either symmetric multiprocessor or massively parallel processor class systems using OpenACC to construct basic application programs benefiting from GPUs.
Part 6 extends the utility of this work beyond the introductory level with elements of more sophisticated methods including machine learning. The full text can serve for a single comprehensive and fast-paced course.
Скачать High Performance Computing: Modern Systems and Practices, 2nd Edition
