1.

Record Nr.

UNINA9910350230403321

Titolo

The Art of High Performance Computing for Computational Science, Vol. 1 : Techniques of Speedup and Parallelization for General Purposes / / edited by Masaaki Geshi

Pubbl/distr/stampa

Singapore : , : Springer Singapore : , : Imprint : Springer, , 2019

ISBN

981-13-6194-0

Edizione

[1st ed. 2019.]

Descrizione fisica

1 online resource (IX, 219 p. 119 illus., 39 illus. in color.)

Disciplina

005.11

Soggetti

Computer programming

Cheminformatics

Computer simulation

Programming Techniques

Computer Applications in Chemistry

Simulation and Modeling

Lingua di pubblicazione

Inglese

Formato

Materiale a stampa

Livello bibliografico

Monografia

Nota di contenuto

Chapter 1: High-Performance Computing Basics -- Chapter 2: Basics of MPI Programming -- Chapter 3: Basics of OpenMP Programming -- Chapter 4: Hybrid Parallelization Techniques -- Chapter 5: Application of Techniques for High-Performance Computing -- Chapter 6: Basics and practice of linear algebra calculation library BLAS and LAPACK -- Chapter 7: High performance algorithms for numerical linear algebra -- Chapter 8: Fast Fourier Transform in Large Scale Systems -- Chapter 9: Optimization and Related Topics -- Chapter 10: Techniques concerning computation accuracy.

Sommario/riassunto

This book provides basic and practical techniques of parallel computing and related methods of numerical analysis for researchers who conduct numerical calculation and simulation. Although the techniques provided in this book are field-independent, these methods can be used in fields such as physics, chemistry, biology, earth sciences, space science, meteorology, disaster prevention, and manufacturing. In particular, those who develop software code in these areas will find this book useful. The contents are suitable for graduate students and



researchers in computational science rather than novices at programming or informed experts in computer science. Starting with an introduction to the recent trends in computer architecture and parallel processing, Chapter 1 explains the basic knowledge of speedup programs with simple examples of numerical computing. Chapters 2 – 4 detail the basics of parallel programming, the message passing interface (MPI), and OpenMP and discuss hybrid parallelization techniques. Showing an actual example of adaptation, Chapter 5 gives an overview of performance tuning and communication optimizations. To deal with dense matrix calculations, Chapter 6 details the basics and practice of linear algebra calculation libraries BLAS and LAPACK, including some examples that can be easily reproduced by readers using free software. Focusing on sparse matrix calculations, Chapter 7 explains high performance algorithms for numerical linear algebra. Chapter 8 introduces the fast Fourier transform in large-scale systems from the basics. Chapter 9 explains optimization and related topics such as debug methods and version control systems. Chapter 10 discusses techniques for increasing computation accuracy as an essential topic in numerical calculation. This is the first of the two volumes that grew out of a series of lectures in the K computer project in Japan. The second volume will focus on advanced techniques and examples of applications in materials science.