Parallel Computing


Book Description

Parallel Computing: Methods, Algorithms and Applications presents a collection of original papers presented at the international meeting on parallel processing, methods, algorithms, and applications at Verona, Italy in September 1989.




Patterns for Parallel Programming


Book Description

The Parallel Programming Guide for Every Software Developer From grids and clusters to next-generation game consoles, parallel computing is going mainstream. Innovations such as Hyper-Threading Technology, HyperTransport Technology, and multicore microprocessors from IBM, Intel, and Sun are accelerating the movement's growth. Only one thing is missing: programmers with the skills to meet the soaring demand for parallel software. That's where Patterns for Parallel Programming comes in. It's the first parallel programming guide written specifically to serve working software developers, not just computer scientists. The authors introduce a complete, highly accessible pattern language that will help any experienced developer "think parallel"-and start writing effective parallel code almost immediately. Instead of formal theory, they deliver proven solutions to the challenges faced by parallel programmers, and pragmatic guidance for using today's parallel APIs in the real world. Coverage includes: Understanding the parallel computing landscape and the challenges faced by parallel developers Finding the concurrency in a software design problem and decomposing it into concurrent tasks Managing the use of data across tasks Creating an algorithm structure that effectively exploits the concurrency you've identified Connecting your algorithmic structures to the APIs needed to implement them Specific software constructs for implementing parallel programs Working with today's leading parallel programming environments: OpenMP, MPI, and Java Patterns have helped thousands of programmers master object-oriented development and other complex programming technologies. With this book, you will learn that they're the best way to master parallel programming too.




The Art of High Performance Computing for Computational Science, Vol. 1


Book Description

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.




并行程序设计


Book Description

国外著名高等院校信息科学与技术优秀教材




Handbook of Parallel Computing and Statistics


Book Description

Technological improvements continue to push back the frontier of processor speed in modern computers. Unfortunately, the computational intensity demanded by modern research problems grows even faster. Parallel computing has emerged as the most successful bridge to this computational gap, and many popular solutions have emerged based on its concepts




Introduction to Parallel Computing


Book Description

A complete source of information on almost all aspects of parallel computing from introduction, to architectures, to programming paradigms, to algorithms, to programming standards. It covers traditional Computer Science algorithms, scientific computing algorithms and data intensive algorithms.




Elements of Parallel Computing


Book Description

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.




Parallel Algorithms for Numerical Linear Algebra


Book Description

This is the first in a new series of books presenting research results and developments concerning the theory and applications of parallel computers, including vector, pipeline, array, fifth/future generation computers, and neural computers.All aspects of high-speed computing fall within the scope of the series, e.g. algorithm design, applications, software engineering, networking, taxonomy, models and architectural trends, performance, peripheral devices.Papers in Volume One cover the main streams of parallel linear algebra: systolic array algorithms, message-passing systems, algorithms for parallel shared-memory systems, and the design of fast algorithms and implementations for vector supercomputers.




Highly Parallel Computations


Book Description

This work provides a state-of-the-art survey of the applications of processor network architectures and of various highly parallel computational methods. Because of the increasing interdependence of the research activities in these major areas of highly parallel computations, it seemed appropriate to produce this reference and study text. The editor believes that the contributions in this work provide a valuable pointer to the research issues in this area.