正在加载图片...
2.9.2 nteraction with Signals.························ 24 2.l0 Examples··································· 24 3 Point-to-Point Communication 25 3.1 Introduction..·.........:......·..······· 25 3.2 Blocking Send and Receive Operations.............. 26 3.2.1 Blocking Send 26 3.2.2 Message Data.·.················ 27 3.2.3 Message Envelope 29 3.2.4 Blocking Receive 3 3.2.5 Return Status..·. 31 3.2.6 Passing MPI_STATUS_IGNORE for Status 3.3 Data Type Matching and Data Conversion 34 3.3.1 Type Matching Rules 34 Type MPI_CHARACTER........ 。 36 3.3.2 Data Conversion...·.···· 37 3.4 Communication Modes.. 38 3.5 Semantics of Point-to-Point Communication 42 3.6 Buffer Allocation and Usage... 45 3.6.1 Model Implementation of Buffered Mode... 47 3.7 Nonblocking Communication 48 3.7.1 Communication Request Objects ...... 西 3.7.2 Communication Initiation ......... 50 3.7.3 Communication Completion..·..··..···· 53 3.7.4 Semantics of Nonblocking Communications 56 3.7.5 Multiple Completions.................. 3.7.6 Non-destructive Test of status.....·.······, 。。。 64 3.8 Probe and Cancel... 3.9 Persistent Communication Requests 69 3.10 Send-Receive 73 3.11 Null Processes 75 4 Datatypes 77 4.1 Derived Datatypes ... 4.l.1 Type Constructors with Explicit Addresses·..··.··...... 79 4.l.2 Datatype Constructors.···················,····· 79 4.l.3 Subarray Datatype Constructor..····· 87 4.1.4 Distributed Array Datatype Constructor. 89 4.1.5 Address and Size Functions 94 4.1.6 Lower-Bound and Upper-Bound Markers 96 4.l.7 Extent and Bounds of Datatypes·..·.. 9 4.1.8 True Extent of Datatypes.......... 98 4.l.9 Commit and Free.···········- 99 4.1.10 Duplicating a Datatype.... 100 4.1.11 Use of General Datatypes in Communication 101 4.1.12 Correct Use of Addresses 104 4.l.l3 Decoding a Datatype...··················… 104 4.1.14 Examples......········ 1122.9.2 Interaction with Signals . . . . . . . . . . . . . . . . . . . . . . . . . 24 2.10 Examples . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24 3 Point-to-Point Communication 25 3.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25 3.2 Blocking Send and Receive Operations . . . . . . . . . . . . . . . . . . . . . 26 3.2.1 Blocking Send . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26 3.2.2 Message Data . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27 3.2.3 Message Envelope . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29 3.2.4 Blocking Receive . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30 3.2.5 Return Status . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31 3.2.6 Passing MPI_STATUS_IGNORE for Status . . . . . . . . . . . . . . . . 33 3.3 Data Type Matching and Data Conversion . . . . . . . . . . . . . . . . . . 34 3.3.1 Type Matching Rules . . . . . . . . . . . . . . . . . . . . . . . . . . 34 Type MPI_CHARACTER . . . . . . . . . . . . . . . . . . . . . . . . . . 36 3.3.2 Data Conversion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37 3.4 Communication Modes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38 3.5 Semantics of Point-to-Point Communication . . . . . . . . . . . . . . . . . . 42 3.6 Buffer Allocation and Usage . . . . . . . . . . . . . . . . . . . . . . . . . . . 45 3.6.1 Model Implementation of Buffered Mode . . . . . . . . . . . . . . . . 47 3.7 Nonblocking Communication . . . . . . . . . . . . . . . . . . . . . . . . . . 48 3.7.1 Communication Request Objects . . . . . . . . . . . . . . . . . . . . 49 3.7.2 Communication Initiation . . . . . . . . . . . . . . . . . . . . . . . . 50 3.7.3 Communication Completion . . . . . . . . . . . . . . . . . . . . . . . 53 3.7.4 Semantics of Nonblocking Communications . . . . . . . . . . . . . . 56 3.7.5 Multiple Completions . . . . . . . . . . . . . . . . . . . . . . . . . . 57 3.7.6 Non-destructive Test of status . . . . . . . . . . . . . . . . . . . . . . 64 3.8 Probe and Cancel . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 64 3.9 Persistent Communication Requests . . . . . . . . . . . . . . . . . . . . . . 69 3.10 Send-Receive . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 73 3.11 Null Processes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 75 4 Datatypes 77 4.1 Derived Datatypes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 77 4.1.1 Type Constructors with Explicit Addresses . . . . . . . . . . . . . . 79 4.1.2 Datatype Constructors . . . . . . . . . . . . . . . . . . . . . . . . . . 79 4.1.3 Subarray Datatype Constructor . . . . . . . . . . . . . . . . . . . . . 87 4.1.4 Distributed Array Datatype Constructor . . . . . . . . . . . . . . . . 89 4.1.5 Address and Size Functions . . . . . . . . . . . . . . . . . . . . . . . 94 4.1.6 Lower-Bound and Upper-Bound Markers . . . . . . . . . . . . . . . 96 4.1.7 Extent and Bounds of Datatypes . . . . . . . . . . . . . . . . . . . . 97 4.1.8 True Extent of Datatypes . . . . . . . . . . . . . . . . . . . . . . . . 98 4.1.9 Commit and Free . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 99 4.1.10 Duplicating a Datatype . . . . . . . . . . . . . . . . . . . . . . . . . 100 4.1.11 Use of General Datatypes in Communication . . . . . . . . . . . . . 101 4.1.12 Correct Use of Addresses . . . . . . . . . . . . . . . . . . . . . . . . 104 4.1.13 Decoding a Datatype . . . . . . . . . . . . . . . . . . . . . . . . . . . 104 4.1.14 Examples . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 112 vi
<<向上翻页向下翻页>>
©2008-现在 cucdc.com 高等教育资讯网 版权所有