MPI: A Message-Passing Interface Standard
|
|
- Clifford Wilkerson
- 5 years ago
- Views:
Transcription
1 MPI: A Message-Passing Interface Standard Version 2.1 Message Passing Interface Forum June 23, 2008
2 Contents Acknowledgments xvl1 1 Introduction to MPI Overview and Goals Background of MPI Background of MPI-1.1, MPI-1.2, and MPI Background of MPI-1.3 and MPI Who Should Use This Standard? What Platforms Are Targets For Implementation? What Is Included In The Standard? What Is Not Included In The Standard? Organization of this Document fi 2 MPI Terms and Conventions Document Notation Naming Conventions Procedure Specification Semantic Terms Data Types Opaque Objects Array Arguments State Named Constants Choice Addresses File Offsets Language Binding Deprecated Names and Functions Fortran Binding Issues C Binding Issues C++ Binding Issues Functions and Macros Processes Error Handling Implementation Issues Independence of Basic Runtime Routines Interaction with Signals 24 v
3 2.10 Examples 24 3 Point-to-Point Communication Introduction Blocking Send and Receive Operations Blocking Send Message Data Message Envelope Blocking Receive Return Status Passing MPLSTATUSJGNORE for Status Data Type Matching and Data Conversion Type Matching Rules 34 Type MPLCHARACTER Data Conversion Communication Modes Semantics of Point-to-Point Communication Buffer Allocation and Usage Model Implementation of Buffered Mode Nonblocking Communication Communication Request Objects Communication Initiation Communication Completion Semantics of Nonblocking Communications Multiple Completions Non-destructive Test of status Probe and Cancel Persistent Communication Requests Send-Receive Null Processes 75 4 Datatypes Derived Datatypes Type Constructors with Explicit Addresses Datatype Constructors Subarray Datatype Constructor Distributed Array Datatype Constructor Address and Size Functions Lower-Bound and Upper-Bound Markers Extent and Bounds of Datatypes True Extent of Datatypes Commit and Free Duplicating a Datatype Use of General Datatypes in Communication Correct Use of Addresses Decoding a Datatype Examples Ill 4.2 Pack and Unpack 120 vi
4 4.3 Canonical MPLPACK and MPLUNPACK Collective Communication Introduction and Overview Communicator Argument Specifics for Intiacommunicator Collective Operations Applying Collective Operations to Intercommunicators Specifics for Intercommunicator Collective Operations Barrier Synchronization Broadcast Example using MPLBCAST Gather Examples using MPLGATHER, MPLGATHERV Scatter Examples using MPI.SCATTER, MPI.SCATTERV Gather-to-all Examples using MPLALLGATHER, MPLALLGATHERV All-to-All Scatter/Gather Global Reduction Operations Reduce Predefined Reduction Operations Signed Characters and Reductions MINLOC and MAXLOC User-Defined Reduction Operations 168 Example of User-defined Reduce All-Reduce Reduce-Scatter Scan Inclusive Scan Exclusive Scan Example using MPLSCAN Correctness , 6 Groups, Contexts, Communicators, and Caching Introduction Features Needed to Support Libraries MPI's Support for Libraries Basic Concepts Groups Contexts Intra-Communicators Predefined Intra-Communicators Group Management Group Accessors Group Constructors Group Destructors Communicator Management Communicator Accessors 193 vii
5 6.4.2 Communicator Constructors Communicator Destructors Motivating Examples Current Practice # Current Practice # (Approximate) Current Practice # Example # Library Example # Library Example # Inter-Communication Inter-communicator Accessors Inter-communicator Operations Inter-Communication Examples 214 Example 1: Three-Group "Pipeline" 214 Example 2: Three-Group "Ring" 216 Example 3: Building Name Service for Intercommunication Caching Functionality Communicators Windows Datatypes Error Class for Invalid Keyval Attributes Example Naming Objects Formalizing the Loosely Synchronous Model Basic Statements Models of Execution 239 Static communicator allocation 239 Dynamic communicator allocation 240 The General cose Process Topologies Introduction Virtual Topologies Embedding in MP I Overview of the Functions Topology Constructors Cartesian Constructor Cartesian Convenience Function: MPI_DIMS_CREATE General (Graph) Constructor Topology Inquiry Functions Cartesian Shift Coordinates Partitioning of Cartesian structures Low-Level Topology Functions An Application Example 256 viii
6 8 MPI Environmental Management Implementation Information Version Inquiries Environmental Inquiries 260 Tag Values 260 Host Rank Rank 261 Clock Synchronization Memory Allocation Error Handling Error Handlers for Communicators Error Handlers for Windows Error Handlers for Files Freeing Errorhandlers and Retrieving Error Strings Error Codes and Classes Error Classes, Error Codes, and Error Handlers Timers and Synchronization Startup Allowing User Functions at Process Termination Determining Whether MPI Has Finished Portable MPI Process Startup The Info Object Process Creation and Management Introduction The Dynamic Process Model Starting Processes The Runtime Environment Process Manager Interface Processes in MPI Starting Processes and Establishing Communication Starting Multiple Exccutables and Establishing Communication Reserved Keys Spawn Example 304 Manager-worker Example, Using MPI.COMM.SPAWN Establishing Communication Names, Addresses, Ports, and All That Server Routines Client Routines Name Publishing Reserved Key Values Client/Server Examples Simplest Example Completely Portable 313 Ocean/Atmosphere Relies on Nome Publishing 314 Simple Client-Server Example Other Functionality Universe Size ix
7 Singleton MPUNIT MPI.APPNUM Releasing Connections Another Way to Establish MPI Communication One-Sided Communications Introduction Initialization Window Creation Window Attributes Communication Calls 32^ Put Get Examples Accumulate Functions Synchronization Calls Fence General Active Target Synchronization Lock Assertions Miscellaneous Clarifications Examples Error Handling Error Handlers Error Classes Semantics and Correctness Atomicity Progress Registers and Compiler Optimizations External Interfaces Introduction Generalized Requests Examples Associating Information with Status MPI and Threads General Clarifications Initialization I/O Introduction Definitions File Manipulation Opening File a Closing a File Deleting a File Resizing a File 379 x
8 Preallocating Space for a File Querying the Size of a File Querying File Parameters File Info File Views Reserved File Hints Data Access Data Access Routines 387 Positioning 388 Synchronism 389 Coordination 389 Data Access Conventions Data Access with Explicit Offsets Data Access with Individual File Pointers Data Access with Shared File Pointers 399 Noncollective Operations 400 Collective Operations 402 Seek Split Collective Data Access Routines File Interoperability Datatypes for File Interoperability External Data Representation: "external32" User-Defined Data Representations 415 Extent Callback 417 Datarep Conversion Functions Matching Data Representations Consistency and Semantics File Consistency Random Access vs. Sequential Files Progress Collective File Operations Type Matching Miscellaneous Clarifications MPLOffset Type Logical vs. Physical File Layout Pile Size Examples 425 Asynchronous I/O I/O Error Handling I/O Error Classes Examples Double Buffering with Split Collective I/O Subarray Filetype Constructor xi
9 14 Profiling Interface Requirements Discussion Logic of the Design Miscellaneous Control of Profiling Examples Profiler Implementation MPI Library Implementation 438 Systems with Weak Symbols 438 Systems Without Weak Symbols Complications 439 Multiple Counting 439 Linker Oddities Multiple Levels of Interception Deprecated Functions Deprecated since MPI Language Bindings C Overview Design C++ Classes for MPI Class Member Functions for MPI Semantics C++ Datatypes Communicators Exceptions Mixed-Language Operability Profiling Fortran Support Overview Problems With Fortran Bindings for MPI 462 Problems Due to Strong Typing 463 Problems Due to Data Copying and Sequence Association 463 Special Constants 465 Fortran 90 Derived Types 465 A Problem with Register Optimization Basic Fortran Support Extended Fortran Support 469 The mpi Module 469 No Type Mismatch Problems for Subroutines with Choice Arguments Additional Support for Fortran Numeric Intrinsic Types 470 Parameterized Datatypes with Specified Precision and Exponent Range471 Support for Size-specific MPI Datatypes 474 Communication With Size-specific Types 476 1G.3 Language Interoperability Introduction 478 xii
10 Assumptions Initialization Transfer of Handles Status MPI Opaque Objects 483 Datatypes 483 Callback Functions 485 Error Handlers 485 Reduce Operations 485 Addresses Attributes Extra State Constants Interlanguage Communication A Language Bindings Summary 491 A.l Defined Values and Handles 491 A.l.l Defined Constants 491 A.1.2 Types 499 A.l.3 Prototype definitions 500 A.1.4 Deprecated prototype definitions 504 A.1.5 Info Keys 504 A. 1.6 Info Values 505 A.2 C Bindings ; 506 A.2.1 Point-to-Point Communication C Bindings 506 A.2.2 Datatypes C Bindings 507 A.2.3 Collective Communication C Bindings 509 A.2.4 Groups, Contexts, Communicators, and Caching C Bindings 510 A.2.5 Process Topologies C Bindings 513 A.2.6 MPI Environmenta Management C Bindings 513 A.2.7 The Info Object C Bindings 514 A.2.8 Process Creation and Management C Bindings 515 A.2.9 One-Sided Communications C Bindings 515 A.2.10 External Interfaces C Bindings 516 A.2.11 I/O C Bindings 516 A.2.12 Language Bindings C Bindings 519 A.2.13 Profiling Interface C Bindings 520 A.2.14 Deprecated C Bindings 520 A.3 Fortran Bindings 521 A.3.1 Point-to-Point Communication Fortran Bindings 521 A.3.2 Datatypes Fortran Bindings 523 A.3.3 Collective Communication Fortran Bindings 526 A.3.4 Groups, Contexts, Communicators, and Caching Fortran Bindings 527 A.3.5 Process Topologies Fortran Bindings 532 A.3.6 MPI Environmenta Management Fortran Bindings 533 A.3.7 The Info Object Fortran Bindings 534 A.3.8 Process Creation and Management Fortran Bindings 535 A.3.9 One-Sided Communications Fortran Bindings 536 xiii
11 A.3.10 External Interfaces Fortran Bindings 537 A.3.11 I/O Fortran Bindings 538 A.3.12 Language Bindings Fortran Bindings 542 A.3.13 Profiling Interface Fortran Bindings 542 A.3.14 Deprecated Fortran Bindings 542 A. 4 C++ Bindings 545 A.4.1 Point-to-Point Communication C++ Bindings 545 A.4.2 Datatypes C++ Bindings 547 A.4.3 Collective Communication C++ Bindings 549 A.4.4 Groups, Contexts, Communicators, and Caching C++ Bindings A.4.5 Process Topologies C++ Bindings 552 A.4.6 MPI Environmenta Management C++ Bindings 553 A.4.7 The Info Object C++ Bindings 554 A.4.8 Process Creation and Management C++ Bindings 554 A.4.9 One-Sided Communications C++ Binding's 555 A.4.10 External Interfaces C++ Bindings 556 A.4.11 I/O C++ Bindings 556 A.4.12 Language Bindings C++ Bindings 560 A.4.13 Profiling Interface C++ Bindings 560 A.4.14 Deprecated C++ Bindings 560 A.4.15 C++ Bindings on all MPI Classes 560 A.4.16 Construction / Destruction 561 A.4.17 Copy / Assignment 561 A.4.18 Comparison 561 A.4.19 Inter-language Operability 561 B Change-Log 562 B. l Changes from Version 2.0 to Version Bibliography 567 Examples Index 571 MPI Constant and Predefined Handle Index 574 MPI Declarations Index 578 MPI Callback Function Prototype Index 580 MPI Function Index 581 xiv
The MPI Message-passing Standard Practical use and implementation (I) SPD Course 2/03/2010 Massimo Coppola
The MPI Message-passing Standard Practical use and implementation (I) SPD Course 2/03/2010 Massimo Coppola What is MPI MPI: Message Passing Interface a standard defining a communication library that allows
More informationContents. Preface xvii Acknowledgments. CHAPTER 1 Introduction to Parallel Computing 1. CHAPTER 2 Parallel Programming Platforms 11
Preface xvii Acknowledgments xix CHAPTER 1 Introduction to Parallel Computing 1 1.1 Motivating Parallelism 2 1.1.1 The Computational Power Argument from Transistors to FLOPS 2 1.1.2 The Memory/Disk Speed
More informationA few words about MPI (Message Passing Interface) T. Edwald 10 June 2008
A few words about MPI (Message Passing Interface) T. Edwald 10 June 2008 1 Overview Introduction and very short historical review MPI - as simple as it comes Communications Process Topologies (I have no
More informationOpenACC 2.6 Proposed Features
OpenACC 2.6 Proposed Features OpenACC.org June, 2017 1 Introduction This document summarizes features and changes being proposed for the next version of the OpenACC Application Programming Interface, tentatively
More informationA Message Passing Standard for MPP and Workstations
A Message Passing Standard for MPP and Workstations Communications of the ACM, July 1996 J.J. Dongarra, S.W. Otto, M. Snir, and D.W. Walker Message Passing Interface (MPI) Message passing library Can be
More informationHigh Performance Fortran. James Curry
High Performance Fortran James Curry Wikipedia! New Fortran statements, such as FORALL, and the ability to create PURE (side effect free) procedures Compiler directives for recommended distributions of
More informationStandard MPI - Message Passing Interface
c Ewa Szynkiewicz, 2007 1 Standard MPI - Message Passing Interface The message-passing paradigm is one of the oldest and most widely used approaches for programming parallel machines, especially those
More informationAn Introduction to Parallel Programming
F 'C 3 R'"'C,_,. HO!.-IJJ () An Introduction to Parallel Programming Peter S. Pacheco University of San Francisco ELSEVIER AMSTERDAM BOSTON HEIDELBERG LONDON NEW YORK OXFORD PARIS SAN DIEGO SAN FRANCISCO
More informationIntroduction to MPI part II. Fabio AFFINITO
Introduction to MPI part II Fabio AFFINITO (f.affinito@cineca.it) Collective communications Communications involving a group of processes. They are called by all the ranks involved in a communicator (or
More informationECE 574 Cluster Computing Lecture 13
ECE 574 Cluster Computing Lecture 13 Vince Weaver http://web.eece.maine.edu/~vweaver vincent.weaver@maine.edu 21 March 2017 Announcements HW#5 Finally Graded Had right idea, but often result not an *exact*
More informationStructured Parallel Programming
Structured Parallel Programming Patterns for Efficient Computation Michael McCool Arch D. Robison James Reinders ELSEVIER AMSTERDAM BOSTON HEIDELBERG LONDON NEW YORK OXFORD PARIS SAN DIEGO SAN FRANCISCO
More informationPreface... (vii) CHAPTER 1 INTRODUCTION TO COMPUTERS
Contents Preface... (vii) CHAPTER 1 INTRODUCTION TO COMPUTERS 1.1. INTRODUCTION TO COMPUTERS... 1 1.2. HISTORY OF C & C++... 3 1.3. DESIGN, DEVELOPMENT AND EXECUTION OF A PROGRAM... 3 1.4 TESTING OF PROGRAMS...
More informationI/O Systems. Amir H. Payberah. Amirkabir University of Technology (Tehran Polytechnic)
I/O Systems Amir H. Payberah amir@sics.se Amirkabir University of Technology (Tehran Polytechnic) Amir H. Payberah (Tehran Polytechnic) I/O Systems 1393/9/15 1 / 57 Motivation Amir H. Payberah (Tehran
More informationMicrosoft. Microsoft Visual C# Step by Step. John Sharp
Microsoft Microsoft Visual C#- 2010 Step by Step John Sharp Table of Contents Acknowledgments Introduction xvii xix Part I Introducing Microsoft Visual C# and Microsoft Visual Studio 2010 1 Welcome to
More informationStructured Parallel Programming Patterns for Efficient Computation
Structured Parallel Programming Patterns for Efficient Computation Michael McCool Arch D. Robison James Reinders ELSEVIER AMSTERDAM BOSTON HEIDELBERG LONDON NEW YORK OXFORD PARIS SAN DIEGO SAN FRANCISCO
More informationobject/relational persistence What is persistence? 5
contents foreword to the revised edition xix foreword to the first edition xxi preface to the revised edition xxiii preface to the first edition xxv acknowledgments xxviii about this book xxix about the
More informationImplementation of Parallelization
Implementation of Parallelization OpenMP, PThreads and MPI Jascha Schewtschenko Institute of Cosmology and Gravitation, University of Portsmouth May 9, 2018 JAS (ICG, Portsmouth) Implementation of Parallelization
More informationAccelerated Library Framework for Hybrid-x86
Software Development Kit for Multicore Acceleration Version 3.0 Accelerated Library Framework for Hybrid-x86 Programmer s Guide and API Reference Version 1.0 DRAFT SC33-8406-00 Software Development Kit
More informationWelcome to the introductory workshop in MPI programming at UNICC
Welcome...... to the introductory workshop in MPI programming at UNICC Schedule: 08.00-12.00 Hard work and a short coffee break Scope of the workshop: We will go through the basics of MPI-programming and
More informationMPI Collective communication
MPI Collective communication CPS343 Parallel and High Performance Computing Spring 2018 CPS343 (Parallel and HPC) MPI Collective communication Spring 2018 1 / 43 Outline 1 MPI Collective communication
More informationPart - II. Message Passing Interface. Dheeraj Bhardwaj
Part - II Dheeraj Bhardwaj Department of Computer Science & Engineering Indian Institute of Technology, Delhi 110016 India http://www.cse.iitd.ac.in/~dheerajb 1 Outlines Basics of MPI How to compile and
More informationforeword to the first edition preface xxi acknowledgments xxiii about this book xxv about the cover illustration
contents foreword to the first edition preface xxi acknowledgments xxiii about this book xxv about the cover illustration xix xxxii PART 1 GETTING STARTED WITH ORM...1 1 2 Understanding object/relational
More informationQuadros. RTXC Kernel Services Reference, Volume 1. Levels, Threads, Exceptions, Pipes, Event Sources, Counters, and Alarms. Systems Inc.
Quadros Systems Inc. RTXC Kernel Services Reference, Volume 1 Levels, Threads, Exceptions, Pipes, Event Sources, Counters, and Alarms Disclaimer Quadros Systems, Inc. makes no representations or warranties
More informationMultiple Choice Questions. Chapter 5
Multiple Choice Questions Chapter 5 Each question has four choices. Choose most appropriate choice of the answer. 1. Developing program in high level language (i) facilitates portability of nonprocessor
More informationAcknowledgments. Amdahl s Law. Contents. Programming with MPI Parallel programming. 1 speedup = (1 P )+ P N. Type to enter text
Acknowledgments Programming with MPI Parallel ming Jan Thorbecke Type to enter text This course is partly based on the MPI courses developed by Rolf Rabenseifner at the High-Performance Computing-Center
More informationProgramming with MPI
Programming with MPI p. 1/?? Programming with MPI Composite Types and Language Standards Nick Maclaren Computing Service nmm1@cam.ac.uk, ext. 34761 March 2008 Programming with MPI p. 2/?? Composite Types
More informationProgramming with POSIX Threads
Programming with POSIX Threads David R. Butenhof :vaddison-wesley Boston San Francisco New York Toronto Montreal London Munich Paris Madrid Capetown Sidney Tokyo Singapore Mexico City Contents List of
More information"Charting the Course to Your Success!" MOC A Developing High-performance Applications using Microsoft Windows HPC Server 2008
Description Course Summary This course provides students with the knowledge and skills to develop high-performance computing (HPC) applications for Microsoft. Students learn about the product Microsoft,
More informationProgramming with MPI
Programming with MPI p. 1/?? Programming with MPI One-sided Communication Nick Maclaren nmm1@cam.ac.uk October 2010 Programming with MPI p. 2/?? What Is It? This corresponds to what is often called RDMA
More informationExcel Programming with VBA (Macro Programming) 24 hours Getting Started
Excel Programming with VBA (Macro Programming) 24 hours Getting Started Introducing Visual Basic for Applications Displaying the Developer Tab in the Ribbon Recording a Macro Saving a Macro-Enabled Workbook
More informationIntroduction to MPI Part II Collective Communications and communicators
Introduction to MPI Part II Collective Communications and communicators Andrew Emerson, Fabio Affinito {a.emerson,f.affinito}@cineca.it SuperComputing Applications and Innovation Department Collective
More informationAbout the Authors. Preface
Contents About the Authors Acknowledgments Preface iv v xv 1: Introduction to Programming and RPG 1 1.1. Chapter Overview 1 1.2. Programming 1 1.3. History of RPG 2 1.4. Program Variables 6 1.5. Libraries,
More informationECE 7650 Scalable and Secure Internet Services and Architecture ---- A Systems Perspective
ECE 7650 Scalable and Secure Internet Services and Architecture ---- A Systems Perspective Part II: Data Center Software Architecture: Topic 3: Programming Models Piccolo: Building Fast, Distributed Programs
More informationParallel Programming
Parallel Programming for Multicore and Cluster Systems von Thomas Rauber, Gudula Rünger 1. Auflage Parallel Programming Rauber / Rünger schnell und portofrei erhältlich bei beck-shop.de DIE FACHBUCHHANDLUNG
More informationCS4961 Parallel Programming. Lecture 16: Introduction to Message Passing 11/3/11. Administrative. Mary Hall November 3, 2011.
CS4961 Parallel Programming Lecture 16: Introduction to Message Passing Administrative Next programming assignment due on Monday, Nov. 7 at midnight Need to define teams and have initial conversation with
More informationIndex. classes, 47, 228 coarray examples, 163, 168 copystring, 122 csam, 125 csaxpy, 119 csaxpyval, 120 csyscall, 127 dfetrf,14 dfetrs, 14
Index accessor-mutator routine example in a module, 7 PUBLIC or PRIVATE components, 6 ACM, ix editors of CALGO, ix Adams, Brainerd et al., see books, Fortran reference Airy s equation boundary value problem,
More information0. Overview of this standard Design entities and configurations... 5
Contents 0. Overview of this standard... 1 0.1 Intent and scope of this standard... 1 0.2 Structure and terminology of this standard... 1 0.2.1 Syntactic description... 2 0.2.2 Semantic description...
More informationProgramming with MPI
Programming with MPI p. 1/?? Programming with MPI Miscellaneous Guidelines Nick Maclaren Computing Service nmm1@cam.ac.uk, ext. 34761 March 2010 Programming with MPI p. 2/?? Summary This is a miscellaneous
More informationMPI Casestudy: Parallel Image Processing
MPI Casestudy: Parallel Image Processing David Henty 1 Introduction The aim of this exercise is to write a complete MPI parallel program that does a very basic form of image processing. We will start by
More informationCISQ Weakness Descriptions
CISQ Weakness Descriptions This document presents descriptions of the 86 weaknesses contained in the 4 CISQ Quality Characteristic measures. These descriptions have been simplified from their description
More informationBrook+ Data Types. Basic Data Types
Brook+ Data Types Important for all data representations in Brook+ Streams Constants Temporary variables Brook+ Supports Basic Types Short Vector Types User-Defined Types 29 Basic Data Types Basic data
More informationTopic Notes: Message Passing Interface (MPI)
Computer Science 400 Parallel Processing Siena College Fall 2008 Topic Notes: Message Passing Interface (MPI) The Message Passing Interface (MPI) was created by a standards committee in the early 1990
More informationEvaluating Algorithms for Shared File Pointer Operations in MPI I/O
Evaluating Algorithms for Shared File Pointer Operations in MPI I/O Ketan Kulkarni and Edgar Gabriel Parallel Software Technologies Laboratory, Department of Computer Science, University of Houston {knkulkarni,gabriel}@cs.uh.edu
More informationEfficient Android Threading
.... - J.', ' < '.. Efficient Android Threading Anders Göransson Beijing Cambridge Farnham Köln Sebastopol Tokyo O'REILLY Table of Contents Preface xi 1. Android Components and the Need for Multiprocessing
More informationEnterprise JavaBeans 3.1
SIXTH EDITION Enterprise JavaBeans 3.1 Andrew Lee Rubinger and Bill Burke O'REILLY* Beijing Cambridge Farnham Kbln Sebastopol Tokyo Table of Contents Preface xv Part I. Why Enterprise JavaBeans? 1. Introduction
More informationPROBLEM SOLVING WITH FORTRAN 90
David R. Brooks PROBLEM SOLVING WITH FORTRAN 90 FOR SCIENTISTS AND ENGINEERS Springer Contents Preface v 1.1 Overview for Instructors v 1.1.1 The Case for Fortran 90 vi 1.1.2 Structure of the Text vii
More informationCIS 21 Final Study Guide. Final covers ch. 1-20, except for 17. Need to know:
CIS 21 Final Study Guide Final covers ch. 1-20, except for 17. Need to know: I. Amdahl's Law II. Moore s Law III. Processes and Threading A. What is a process? B. What is a thread? C. Modes (kernel mode,
More informationAppendix D. Fortran quick reference
Appendix D Fortran quick reference D.1 Fortran syntax... 315 D.2 Coarrays... 318 D.3 Fortran intrisic functions... D.4 History... 322 323 D.5 Further information... 324 Fortran 1 is the oldest high-level
More informationA Proposal for User-Level Failure Mitigation in the MPI-3 Standard
A Proposal for User-Level Failure Mitigation in the MPI-3 Standard Wesley Bland George Bosilca Aurelien Bouteiller Thomas Herault Jack Dongarra {bland, bosilca, bouteill, herault, dongarra } @ eecs.utk.edu
More informationMicrosoft Visual C# Step by Step. John Sharp
Microsoft Visual C# 2013 Step by Step John Sharp Introduction xix PART I INTRODUCING MICROSOFT VISUAL C# AND MICROSOFT VISUAL STUDIO 2013 Chapter 1 Welcome to C# 3 Beginning programming with the Visual
More information1 OBJECT-ORIENTED PROGRAMMING 1
PREFACE xvii 1 OBJECT-ORIENTED PROGRAMMING 1 1.1 Object-Oriented and Procedural Programming 2 Top-Down Design and Procedural Programming, 3 Problems with Top-Down Design, 3 Classes and Objects, 4 Fields
More informationA Message Passing Standard for MPP and Workstations. Communications of the ACM, July 1996 J.J. Dongarra, S.W. Otto, M. Snir, and D.W.
1 A Message Passing Standard for MPP and Workstations Communications of the ACM, July 1996 J.J. Dongarra, S.W. Otto, M. Snir, and D.W. Walker 2 Message Passing Interface (MPI) Message passing library Can
More informationPractical C++ Programming
SECOND EDITION Practical C++ Programming Steve Oualline O'REILLY' Beijing Cambridge Farnham Koln Paris Sebastopol Taipei Tokyo Preface xv Part I. The Basics 1. What Is C++? 3 A Brief History of C++ 3 C++
More informationPresented by: Alvaro Llanos E
Presented by: Alvaro Llanos E Motivation and Overview Frangipani Architecture overview Similar DFS PETAL: Distributed virtual disks Overview Design Virtual Physical mapping Failure tolerance Frangipani
More informationC++ for System Developers with Design Pattern
C++ for System Developers with Design Pattern Introduction: This course introduces the C++ language for use on real time and embedded applications. The first part of the course focuses on the language
More informationMessage-Passing Programming with MPI. Message-Passing Concepts
Message-Passing Programming with MPI Message-Passing Concepts Reusing this material This work is licensed under a Creative Commons Attribution- NonCommercial-ShareAlike 4.0 International License. http://creativecommons.org/licenses/by-nc-sa/4.0/deed.en_us
More informationProgramming with Message Passing PART I: Basics. HPC Fall 2012 Prof. Robert van Engelen
Programming with Message Passing PART I: Basics HPC Fall 2012 Prof. Robert van Engelen Overview Communicating processes MPMD and SPMD Point-to-point communications Send and receive Synchronous, blocking,
More informationAbout the Authors... iii Introduction... xvii. Chapter 1: System Software... 1
Table of Contents About the Authors... iii Introduction... xvii Chapter 1: System Software... 1 1.1 Concept of System Software... 2 Types of Software Programs... 2 Software Programs and the Computing Machine...
More informationProgramming with MPI
Programming with MPI p. 1/?? Programming with MPI Miscellaneous Guidelines Nick Maclaren nmm1@cam.ac.uk March 2010 Programming with MPI p. 2/?? Summary This is a miscellaneous set of practical points Over--simplifies
More informationLecture 15: Network File Systems
Lab 3 due 12/1 Lecture 15: Network File Systems CSE 120: Principles of Operating Systems Alex C. Snoeren Network File System Simple idea: access disks attached to other computers Share the disk with many
More informationNew and old Features in MPI-3.0: The Past, the Standard, and the Future Torsten Hoefler With contributions from the MPI Forum
New and old Features in MPI-3.0: The Past, the Standard, and the Future Torsten Hoefler With contributions from the MPI Forum All used images belong to the owner/creator! What is MPI Message Passing Interface?
More informationCMSC 714 Lecture 3 Message Passing with PVM and MPI
Notes CMSC 714 Lecture 3 Message Passing with PVM and MPI Alan Sussman To access papers in ACM or IEEE digital library, must come from a UMD IP address Accounts handed out next week for deepthought2 cluster,
More informationMessage-Passing Programming with MPI
Message-Passing Programming with MPI Message-Passing Concepts David Henty d.henty@epcc.ed.ac.uk EPCC, University of Edinburgh Overview This lecture will cover message passing model SPMD communication modes
More informationShort Notes of CS201
#includes: Short Notes of CS201 The #include directive instructs the preprocessor to read and include a file into a source code file. The file name is typically enclosed with < and > if the file is a system
More informationA FRAMEWORK ARCHITECTURE FOR SHARED FILE POINTER OPERATIONS IN OPEN MPI
A FRAMEWORK ARCHITECTURE FOR SHARED FILE POINTER OPERATIONS IN OPEN MPI A Thesis Presented to the Faculty of the Department of Computer Science University of Houston In Partial Fulfillment of the Requirements
More informationEnhancements in OpenMP 2.0
Enhancements in mueller@hlrs.de University of Stuttgart High-Performance Computing-Center Stuttgart (HLRS) www.hlrs.de Slide 1 Outline Timeline Clarifications/Modifications New Features Slide 2 19. Enhancements
More informationContents. Table of Contents. Table of Contents... iii Preface... xvii. Getting Started iii
Contents Discovering the Possibilities... iii Preface... xvii Preface to the First Edition xvii Preface to the Second Edition xviii Getting Started... 1 Chapter Overview 1 Philosophy Behind this Book 1
More informationTechnical Report on further interoperability with C
Technical Report on further interoperability with C John Reid, ISO Fortran Convener, JKR Associates and Rutherford Appleton Laboratory Fortran 2003 (or 2008) provides for interoperability of procedures
More informationMPI Message Passing Interface
MPI Message Passing Interface Portable Parallel Programs Parallel Computing A problem is broken down into tasks, performed by separate workers or processes Processes interact by exchanging information
More informationCS201 - Introduction to Programming Glossary By
CS201 - Introduction to Programming Glossary By #include : The #include directive instructs the preprocessor to read and include a file into a source code file. The file name is typically enclosed with
More informationFredrick M. Cady. Assembly and С Programming forthefreescalehcs12 Microcontroller. шт.
SECOND шт. Assembly and С Programming forthefreescalehcs12 Microcontroller Fredrick M. Cady Department of Electrical and Computer Engineering Montana State University New York Oxford Oxford University
More informationCSE 4/521 Introduction to Operating Systems. Lecture 24 I/O Systems (Overview, Application I/O Interface, Kernel I/O Subsystem) Summer 2018
CSE 4/521 Introduction to Operating Systems Lecture 24 I/O Systems (Overview, Application I/O Interface, Kernel I/O Subsystem) Summer 2018 Overview Objective: Explore the structure of an operating system
More informationComputer Architecture
Computer Architecture Pipelined and Parallel Processor Design Michael J. Flynn Stanford University Technische Universrtat Darmstadt FACHBEREICH INFORMATIK BIBLIOTHEK lnventar-nr.: Sachgebiete: Standort:
More informationMPI: A Message-Passing Interface Standard
MPI: A Message-Passing Interface Standard Message Passing Interface Forum November, 0 This work was supported in part by ARPA and NSF under grant ASC-0, the National Science Foundation Science and Technology
More informationCMSC 714 Lecture 3 Message Passing with PVM and MPI
CMSC 714 Lecture 3 Message Passing with PVM and MPI Alan Sussman PVM Provide a simple, free, portable parallel environment Run on everything Parallel Hardware: SMP, MPPs, Vector Machines Network of Workstations:
More informationDigital VLSI Design with Verilog
John Williams Digital VLSI Design with Verilog A Textbook from Silicon Valley Technical Institute Foreword by Don Thomas Sprin ger Contents Introduction xix 1 Course Description xix 2 Using this Book xx
More informationData Speculation Support for a Chip Multiprocessor Lance Hammond, Mark Willey, and Kunle Olukotun
Data Speculation Support for a Chip Multiprocessor Lance Hammond, Mark Willey, and Kunle Olukotun Computer Systems Laboratory Stanford University http://www-hydra.stanford.edu A Chip Multiprocessor Implementation
More informationIntroduction to MPI, the Message Passing Library
Chapter 3, p. 1/57 Basics of Basic Messages -To-? Introduction to, the Message Passing Library School of Engineering Sciences Computations for Large-Scale Problems I Chapter 3, p. 2/57 Outline Basics of
More informationApplication Programming
Multicore Application Programming For Windows, Linux, and Oracle Solaris Darryl Gove AAddison-Wesley Upper Saddle River, NJ Boston Indianapolis San Francisco New York Toronto Montreal London Munich Paris
More informationNAGWare f95 Recent and Future Developments
NAGWare f95 Recent and Future Developments Malcolm Cohen The Numerical Algorithms Group Ltd., Oxford Nihon Numerical Algorithms Group KK, Tokyo Contents 1. Standard Fortran 2. High Performance 3. NAGWare
More informationCo-arrays to be included in the Fortran 2008 Standard
Co-arrays to be included in the Fortran 2008 Standard John Reid, ISO Fortran Convener The ISO Fortran Committee has decided to include co-arrays in the next revision of the Standard. Aim of this talk:
More informationCo-array Fortran Performance and Potential: an NPB Experimental Study. Department of Computer Science Rice University
Co-array Fortran Performance and Potential: an NPB Experimental Study Cristian Coarfa Jason Lee Eckhardt Yuri Dotsenko John Mellor-Crummey Department of Computer Science Rice University Parallel Programming
More informationMessage-Passing Computing
Chapter 2 Slide 41þþ Message-Passing Computing Slide 42þþ Basics of Message-Passing Programming using userlevel message passing libraries Two primary mechanisms needed: 1. A method of creating separate
More informationChip Multiprocessors COMP Lecture 9 - OpenMP & MPI
Chip Multiprocessors COMP35112 Lecture 9 - OpenMP & MPI Graham Riley 14 February 2018 1 Today s Lecture Dividing work to be done in parallel between threads in Java (as you are doing in the labs) is rather
More informationAlexey Syschikov Researcher Parallel programming Lab Bolshaya Morskaya, No St. Petersburg, Russia
St. Petersburg State University of Aerospace Instrumentation Institute of High-Performance Computer and Network Technologies Data allocation for parallel processing in distributed computing systems Alexey
More informationC++ Memory Model Tutorial
C++ Memory Model Tutorial Wenzhu Man C++ Memory Model Tutorial 1 / 16 Outline 1 Motivation 2 Memory Ordering for Atomic Operations The synchronizes-with and happens-before relationship (not from lecture
More informationMPI Forum: Preview of the MPI 3 Standard
MPI Forum: Preview of the MPI 3 Standard presented by Richard L. Graham- Chairman George Bosilca Outline Goal Forum Structure Meeting Schedule Scope Voting Rules 2 Goal To produce new versions of the MPI
More informationCopyright 2010, Elsevier Inc. All rights Reserved
An Introduction to Parallel Programming Peter Pacheco Chapter 6 Parallel Program Development 1 Roadmap Solving non-trivial problems. The n-body problem. The traveling salesman problem. Applying Foster
More informationTechnical Specification on further interoperability with C
Technical Specification on further interoperability with C John Reid, ISO Fortran Convener Fortran 2003 (or 2008) provides for interoperability of procedures with nonoptional arguments that are scalars,
More informationIntel 64 and IA-32 Architectures Software Developer s Manual
Intel 64 and IA-32 Architectures Software Developer s Manual Volume 1: Basic Architecture NOTE: The Intel 64 and IA-32 Architectures Software Developer's Manual consists of five volumes: Basic Architecture,
More informationHigh-Performance Parallel Database Processing and Grid Databases
High-Performance Parallel Database Processing and Grid Databases David Taniar Monash University, Australia Clement H.C. Leung Hong Kong Baptist University and Victoria University, Australia Wenny Rahayu
More informationDelphi in Depth: FireDAC, Copyright 2017 Cary Jensen ISBN: ISBN-10: , ISBN-13: ,
Chapter Titles v Chapter Titles Chapter Titles... v Table of Contents... vii About the Author... xvii About the Technical Reviewers... xix Acknowledgements... xxi Introduction... 1 Chapter 1 Overview of
More informationMPI and OpenMP (Lecture 25, cs262a) Ion Stoica, UC Berkeley November 19, 2016
MPI and OpenMP (Lecture 25, cs262a) Ion Stoica, UC Berkeley November 19, 2016 Message passing vs. Shared memory Client Client Client Client send(msg) recv(msg) send(msg) recv(msg) MSG MSG MSG IPC Shared
More informationMessage Passing and Threads
Chapter 10 Message Passing and Threads Ian Foster, William Gropp, and Carl Kesselman In this chapter we examine two fundamental, although low-level, approaches to expressing parallelism in programs. Over
More informationIndex. object lifetimes, and ownership, use after change by an alias errors, use after drop errors, BTreeMap, 309
A Arithmetic operation floating-point arithmetic, 11 12 integer numbers, 9 11 Arrays, 97 copying, 59 60 creation, 48 elements, 48 empty arrays and vectors, 57 58 executable program, 49 expressions, 48
More informationXen and the Art of Virtualization. CSE-291 (Cloud Computing) Fall 2016
Xen and the Art of Virtualization CSE-291 (Cloud Computing) Fall 2016 Why Virtualization? Share resources among many uses Allow heterogeneity in environments Allow differences in host and guest Provide
More informationLife Cycle of Source Program - Compiler Design
Life Cycle of Source Program - Compiler Design Vishal Trivedi * Gandhinagar Institute of Technology, Gandhinagar, Gujarat, India E-mail: raja.vishaltrivedi@gmail.com Abstract: This Research paper gives
More informationTable of Contents. Preface... xi
,ldr3toc.fm.4587 Page v Thursday, January 20, 2005 9:30 AM Table of Contents Preface................................................................. xi 1. An Introduction to Device Drivers.....................................
More informationPointers in C. A Hands on Approach. Naveen Toppo. Hrishikesh Dewan
Pointers in C A Hands on Approach Naveen Toppo Hrishikesh Dewan Contents About the Authors Acknowledgments Introduction xiii xv xvii S!Chapter 1: Memory, Runtime Memory Organization, and Virtual Memory
More informationJavaScript Patterns O'REILLY* S toy an Stefanov. Sebastopol. Cambridge. Tokyo. Beijing. Farnham K8ln
JavaScript Patterns S toy an Stefanov O'REILLY* Beijing Cambridge Farnham K8ln Sebastopol Tokyo Table of Contents Preface xiii 1. Introduction 1 Patterns 1 JavaScript: Concepts 3 Object-Oriented 3 No Classes
More information