Using MPI-2 - Advanced Features.pdf
(
1997 KB
)
Pobierz
Page i
Using MPI-2
Page ii
Scientific and Engineering Computation
Janusz Kowalik, editor
Data-Parallel Programming on MIMD Computers,
Philip J. Hatcher and Michael J. Quinn, 1991
Unstructured Scientific Computation on Scalable Multiprocessors,
edited by Piyush Mehrotra, Joel Saltz, and Robert Voigt, 1992
Parallel Computational Fluid Dynamics: Implementation and Results,
edited by Horst D. Simon, 1992
Enterprise Integration Modeling: Proceedings of the First International Conference,
edited by Charles J. Petrie, Jr., 1992
The High Performance Fortran Handbook,
Charles H. Koelbel, David B. Loveman, Robert S. Schreiber, Guy L. Steele Jr. and Mary E. Zosel, 1994
PVM: Parallel Virtual Machine–A Users' Guide and Tutorial for Network Parallel Computing,
Al Geist, Adam Beguelin, Jack Dongarra, Weicheng Jiang, Bob Manchek, and Vaidy Sunderam, 1994
Practical Parallel Programming,
Gregory V. Wilson, 1995
Enabling Technologies for Petaflops Computing,
Thomas Sterling, Paul Messina, and Paul H. Smith, 1995
An Introduction to High-Performance Scientific Computing,
Lloyd D. Fosdick, Elizabeth R. Jessup, Carolyn J. C. Schauble, and Gitta Domik, 1995
Parallel Programming Using C++,
edited by Gregory V. Wilson and Paul Lu, 1996
Using PLAPACK: Parallel Linear Algebra Package,
Robert A. van de Geijn, 1997
Fortran 95 Handbook,
Jeanne C. Adams, Walter S. Brainerd, Jeanne T. Martin, Brian T. Smith, Jerrold L. Wagener, 1997
MPI—The Complete Reference: Volume 1, The MPI Core,
Marc Snir, Steve Otto, Steven Huss-Lederman, David Walker, and Jack Dongarra, 1998
MPI—The Complete Reference: Volume 2, The MPI-2 Extensions,
William Gropp, Steven Huss-Lederman, Andrew Lumsdaine, Ewing Lusk, Bill Nitzberg,
William Saphir, and Marc Snir, 1998
A Programmer's Guide to ZPL,
Lawrence Snyder, 1999
How to Build a Beowulf,
Thomas L. Sterling, John Salmon, Donald J. Becker, and Daniel F. Savarese, 1999
Using MPI: Portable Parallel Programming with the Message-Passing Interface,
second edition,
William Gropp, Ewing Lusk, and Anthony Skjellum, 1999
Using MPI-2: Advanced Features of the Message-Passing Interface,
William Gropp, Ewing Lusk, and Rajeev Thakur, 1999
Page iii
Using MPI-2
Advanced Features of the Message-Passing Interface
William Gropp
Ewing Lusk
Rajeev Thakur
Page iv
© 1999 Massachusetts Institute of Technology
All rights reserved. No part of this book may be reproduced in any form by any electronic or mechanical means (including
photocopying, recording, or information storage and retrieval) without permission in writing from the publisher.
This book was set in
by the authors and was printed and bound in the United States of America.
Library of Congress Cataloging-in-Publication Data
Gropp, William.
Using MPI-2: advanced features of the message-passing interface /
William Gropp, Ewing Lusk, Rajeev Thakur.
p. cm.—(Scientific and engineering computation)
Includes bibliographical references and index.
ISBN 0-262-057133-1 (pb.: alk. paper)
1. Parallel programming (Computer science). 2. Parallel computers—
Programming. 3. Computer interfaces. I. Lusk, Ewing. II. Thakur,
Rajeev. III. Title. IV. Series.
QA76.642.G762
1999
005.2'75–dc21
99-042972
CIP
Page v
To Christopher Gropp, Brigid Lusk, and Pratibha and Sharad Thakur
Page vii
Contents
Series Foreword
Preface
1
Introduction
1.1 Background
1.1.1 Ancient History
1.1.2 The MPI Forum
1.1.3 The MPI-2 Forum
1.2 What's New in MPI-2?
1.2.1 Parallel I/O
1.2.2 Remote Memory Operations
1.2.3 Dynamic Process Management
1.2.4 Odds and Ends
1.3 Reading This Book
2
Getting Started with MPI-2
2.1 Portable Process Startup
2.2 Parallel I/O
2.2.1 Non-Parallel I/O from an MPI Program
2.2.2 Non-MPI Parallel I/O from an MPI Program
xv
xvii
1
1
1
2
3
4
5
6
7
7
9
11
11
12
13
15
2.2.3 MPI I/O to Separate Files
2.2.4 Parallel MPI I/O to a Single File
2.2.5 Fortran 90 Version
2.2.6 Reading the File with a Different Number of Processes
2.2.7 C++ Version
2.2.8 Other Ways to Write to a Shared File
2.3 Remote Memory Access
2.3.1 The Basic Idea: Memory Windows
2.3.2 RMA Version of
cpi
2.4 Dynamic Process Management
2.4.1 Spawning Processes
2.4.2 Parallel
cp:
A Simple System Utility
2.5 More Info on
Info
16
19
21
22
24
28
29
30
30
36
37
38
47
Page viii
2.5.1 Motivation, Description, and Rationale
2.5.2 An Example from Parallel I/O
2.5.3 An Example from Dynamic Process Management
2.6 Summary
3
Parallel I/O
3.1 Introduction
3.2 Using MPI for Simple I/O
3.2.1 Using Individual File Pointers
3.2.2 Using Explicit Offsets
3.2.3 Writing to a File
47
47
48
50
51
51
51
52
55
59
3.3 Noncontiguous Accesses and Collective I/O
3.3.1 Noncontiguous Accesses
3.3.2 Collective I/O
3.4 Accessing Arrays Stored in Files
3.4.1 Distributed Arrays
3.4.2 A Word of Warning about Darray
3.4.3 Subarray Datatype Constructor
3.4.4 Local Array with Ghost Area
3.4.5 Irregularly Distributed Arrays
3.5 Nonblocking I/O and Split Collective I/O
3.6 Shared File Pointers
3.7 Passing Hints to the Implementation
3.8 Consistency Semantics
3.8.1 Simple Cases
3.8.2 Accessing a Common File Opened with
MPI_COMM_WORLD
3.8.3 Accessing a Common File Opened with
MPI_COMM_SELF
3.8.4 General Recommendation
3.9 File Interoperability
3.9.1 File Structure
3.9.2 File Data Representation
3.9.3 Use of Datatypes for Portability
59
60
64
67
68
71
72
74
78
81
83
85
89
89
91
94
95
95
96
97
98
Plik z chomika:
musli_com
Inne pliki z tego folderu:
Operating Systems - Concurrent and Distributed Software Design.pdf
(26727 KB)
An Introduction To Distributed Algorithms.pdf
(15977 KB)
Multi-Agent Programming Languages Platforms and Applications.pdf
(19622 KB)
Advanced Computer Architecture and Parallel Processing.pdf
(4834 KB)
Distributed Network Systems from Concepts to Implementations.pdf
(13095 KB)
Inne foldery tego chomika:
0_Computer History
1_Principles of Programming Languages
2_Algorithms
3_Theory
4_Theory of Computation
Zgłoś jeśli
naruszono regulamin