Join thousands of book lovers
Sign up to our newsletter and receive discounts and inspiration for your next reading experience.
By signing up, you agree to our Privacy Policy.You can, at any time, unsubscribe from our newsletters.
This book focuses on the ecosystems surrounding the world's leading centers for high performance computing (HPC). This third volume will be a continuation of the two previous volumes, and will include other HPC ecosystems using the same chapter outline: description of a flagship system, major application workloads, facilities, and sponsors.
This book focuses on the development of scalable and performance portable scientific applications for future exascale computer systems. It centers on programming practices of application developers to achieve scalability on high-end computer systems while maintain architectural and performance portability for different computer technologies.
Full of practical examples, Introduction to Scheduling presents the basic concepts and methods, fundamental results, and recent developments of scheduling theory. With contributions from highly respected experts, it provides self-contained, easy-to-follow, yet rigorous presentations of the material. The text introduces methods for solving various scheduling problems, including resource-constrained project scheduling, machine scheduling, and job scheduling. It covers both the foundations in scheduling and modern developments, such as online scheduling. Along with a number of examples, theorems, and pedagogical proofs, the book provides in-depth coverage of key application fields.
Requiring no prior programming experience, this book shows how to use the powerful tool of Simulink® to investigate and form intuitions about the behavior of dynamical systems. Step by step, the author presents the basics of building a simulation in Simulink. He also offers overviews of some advanced topics, including the simulation of chaotic dynamics and partial differential equations. Written in an informal, accessible style, the text includes many diagrams, graphics, and exercises. It also draws on numerous examples from the science, engineering, and technology fields. Ancillary materials are available on the author's website.
Designed for introductory parallel computing courses at the advanced undergraduate or beginning graduate level, Elements of Parallel Computing presents the fundamental concepts of parallel computing not from the point of view of hardware, but from a more abstract view of algorithmic and implementation patterns. The aim is to facilitate the teaching of parallel programming by surveying some key algorithmic structures and programming models, together with an abstract representation of the underlying hardware. The presentation is friendly and informal. The content of the book is language neutral, using pseudocode that represents common programming language models. The first five chapters present core concepts in parallel computing. SIMD, shared memory, and distributed memory machine models are covered, along with a brief discussion of what their execution models look like. The book also discusses decomposition as a fundamental activity in parallel algorithmic design, starting with a naive example, and continuing with a discussion of some key algorithmic structures. Important programming models are presented in depth, as well as important concepts of performance analysis, including work-depth analysis of task graphs, communication analysis of distributed memory algorithms, key performance metrics, and a discussion of barriers to obtaining good performance. The second part of the book presents three case studies that reinforce the concepts of the earlier chapters. One feature of these chapters is to contrast different solutions to the same problem, using select problems that aren''t discussed frequently in parallel computing textbooks. They include the Single Source Shortest Path Problem, the Eikonal equation, and a classical computational geometry problem: computation of the two-dimensional convex hull. After presenting the problem and sequential algorithms, each chapter first discusses the sources of parallelism then surveys parallel algorithms. ?
This book provides computational scientists and engineers with a reference book containing information about the best software engineering practices to employ in the development of computational software. The book contains case studies and real world examples of the use of these practices, through contributions from key people in the field.
This book addresses the significant challenge in designing applications to effectively use high-performance computing architectures and offers methods to more effectively restructure applications to take advantage of these powerful nodes. The authors discuss the benefit of vectorization, providing examples run on current systems.
Emphasizing analytical skill development and problem solving, this book shows how to implement computational models using the flexible and easy-to-use Python programming language. It provides the foundation for more advanced work in scientific computing. The book uses the Python programming language interpreter and several packages from the huge Python Library that improve the performance of numerical computing, such as the Numpy and Scipy modules. The Python source code and data files are available on the author¿s website.
Written by one of the foremost experts in high-performance computing and the inventor of Gustafson¿s Law, this groundbreaking book explains a new approach to computer arithmetic: the universal number (unum). The unum encompasses all IEEE floating-point formats as well as fixed-point and exact integer arithmetic. This new number type obtains more accurate answers than floating-point arithmetic yet uses fewer bits in many cases, saving memory, bandwidth, energy, and power. Richly illustrated in color, the book is accessible to anyone who uses computers for technical calculations.
Collecting scattered knowledge into one coherent account, this book provides a compendium of both classical and recently developed results on reversible computing. It offers an expanded view of the field that includes the traditional energy-motivated hardware viewpoint as well as the emerging application-motivated software approach. It explores up-and-coming theories, techniques, and tools for the application of reversible computing. The topics covered span several areas of computer science, including high-performance computing, parallel/distributed systems, computational theory, compilers, power-aware computing, and supercomputing.
This book teaches GPU programming by introducing CPU multi-threaded programming and bases GPU massively-parallel programming on this foundation. The differences among families of GPUs are also studied. The book also explores CUDA libraries, OpenCL, GPU programming with other languages and API libraries, and the deep learning library cuDNN.
With a number of applications, peer-to-peer (P2P) computing is a form of distributed processing that continues to increase in use. This book provides a technical survey of existing P2P applications, various enabling technologies and protocols, and evolving research issues, such as network topology control and incentive providing mechanisms.
A work on the use of Cell BE and GPUs as accelerators for numerical kernels, algorithms, and computational science and engineering applications. It covers a range of topics on the increased role of these accelerators in scientific computing.
Teaches students how to model and explore the dynamics of systems. This book shows how to use the powerful tool of Simulink to investigate and form intuitions about the behavior of dynamical systems. It covers ordinary differential equations, numerical integration algorithms, and time-step simulation.
Assuming no prior knowledge of plasma physics or numerical methods, "Computational Methods in Plasma Physics" covers the computational mathematics and techniques needed to simulate magnetically confined plasmas in modern magnetic fusion experiments and future magnetic fusion reactors.
Suitable for scientists, engineers, and students, this book presents a practical introduction to high performance computing (HPC). It discusses the architecture of modern processors, providing a solid understanding of the performance potentials and limitations of current architectures and code.
Reviewing classical methods, realistic models, and algorithms, this book offers an introduction to scheduling. This book includes topics such as online scheduling, stochastic task-resource systems, and platform models. It is suitable for computer scientists, mathematicians, and researchers in related fields.
Suitable for senior undergraduate and first-year graduate students, this book covers the varied and interconnected aspects of Grid computing, including how to design a system infrastructure and Grid portal; job submission and scheduling; Grid security; Grid computing services and software tools; workflow editors; and, Grid-enabling applications.
Sign up to our newsletter and receive discounts and inspiration for your next reading experience.
By signing up, you agree to our Privacy Policy.