六章节消息传递编程接口MPI.ppt
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_05.gif)
《六章节消息传递编程接口MPI.ppt》由会员分享,可在线阅读,更多相关《六章节消息传递编程接口MPI.ppt(24页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、六章节消息传递编程接口MPI Still waters run deep.流静水深流静水深,人静心深人静心深 Where there is life,there is hope。有生命必有希望。有生命必有希望MPI 数据类型数据类型n MPI 数据类型定义数据类型定义n MPI 数据类型的大小、上下界、域及相关函数数据类型的大小、上下界、域及相关函数n MPI 新数据类型的创建、提交与释放新数据类型的创建、提交与释放n MPI 数据的打包与解包数据的打包与解包2MPI 数据类型数据类型n MPI 原始数据类型原始数据类型l MPI 消息传递通常只能处理消息传递通常只能处理连续存放连续存放的的同
2、一类型同一类型的数据的数据n MPI 自定义数据类型自定义数据类型l 如果需要发送或接收具有复杂结构的数据时,可以使用自定如果需要发送或接收具有复杂结构的数据时,可以使用自定义数据类型义数据类型l 使用自定义数据类型的好处:使用自定义数据类型的好处:有效减少消息传递次数,增大通信粒度,同时可以避免或有效减少消息传递次数,增大通信粒度,同时可以避免或减少消息传递时数据在内存中的拷贝减少消息传递时数据在内存中的拷贝MPI MPI 的数据类型只用于消息传递的数据类型只用于消息传递!3MPI 数据类型定义数据类型定义n MPI 数据类型由两个相同长度的序列组成:数据类型由两个相同长度的序列组成:类型序
3、列类型序列和和位位移序列移序列t1,t2,t3,.,tnd1,d2,d3,.,dnl ti 的取值为的取值为基本数据类型基本数据类型l di 表示位移,取值表示位移,取值为整数,以为整数,以字节字节为单位为单位l 新建的数据类型称为新建的数据类型称为复合数据类型复合数据类型n MPI 数据类型图数据类型图(t1,d1),(t2,d2),(t3,d3),.,(tn,dn)这个新的数据类型包含这个新的数据类型包含 n 个数据,其中第个数据,其中第 i 个数据的数据类个数据的数据类型为型为 ti,该数据离首地址的距离为,该数据离首地址的距离为 di4举例举例例:例:设数据类型设数据类型 mytype
4、 的数据类型图为的数据类型图为(MPI_REAL,4),(MPI_REAL,12),(MPI_REAL,0)则下面的语句:则下面的语句:real A(100).call MPI_SEND(A,1,mytype,.)发送的数据为发送的数据为A(2),A(4),A(1)5数据类型的大小数据类型的大小n 数据类型的大小数据类型的大小l 该数据类型中包含的数据长度,即该数据类型中包含的数据长度,即字节数字节数(t1,d1),(t2,d2),(t3,d3),.,(tn,dn)sizeof(t1)+sizeof(t2)+.+sizeof(tn)设一个数据了下的类型图为设一个数据了下的类型图为则它的大小为则
5、它的大小为 例:例:设数据类型设数据类型 mytype 的数据类型图为的数据类型图为(real,4),(real,12),(real,0)则则 mytype 的大小为的大小为 126数据类型的上下界数据类型的上下界(t1,d1),(t2,d2),(t3,d3),.,(tn,dn)l 数据类型的下界:数据类型的下界:类型图中的最小位移,即类型图中的最小位移,即l 数据类型的上界:数据类型的上界:l 数据类型的域数据类型的域(extent):上界:上界 下届下届7数据类型的对界量数据类型的对界量l 原始数据类型的原始数据类型的对界量:对界量:由编译系统决定由编译系统决定l 地址对界要求:地址对界要
6、求:一个数据类型在内存中所占的字节数必一个数据类型在内存中所占的字节数必须是其对界量的整数倍须是其对界量的整数倍l 地址对界修正量:地址对界修正量:使得新建数据类型的使得新建数据类型的域域能被其对界量能被其对界量整除的整除的最小非负整数最小非负整数l 复合数据类型的对界量:复合数据类型的对界量:其所包含的基本数据类型的其所包含的基本数据类型的对界量的对界量的最大值最大值8举例举例例:例:假设假设 MPI_DOUBLE_PRECISION 和和 MPI_INTEGER 的对界量均为的对界量均为 4,MPI_BYTE 的对界量为的对界量为 1,考虑下面的数,考虑下面的数据类型据类型(MPI_DOU
7、BLE_PRECISION,0),(MPI_BYTE,12),(MPI_INTEGER,8)对界量为对界量为 ,上界为,上界为 ,下界为,下界为 ,域为域为 ,地址对界修正量为,地址对界修正量为 。41601639两个特殊的数据类型两个特殊的数据类型 MPI_LB、MPI_UBl 伪数据类型,大小为伪数据类型,大小为 0l 它们的作用:人工指定新建数据类型的上下界它们的作用:人工指定新建数据类型的上下界l 若数据类型中含若数据类型中含 MPI_LB,则下界定义为,则下界定义为 MPI_LB 的位移的位移的最小值;的最小值;l 若数据类型中含若数据类型中含 MPI_UB,则上界定义为,则上界定义
8、为 MPI_UB 的位移的位移的最大值;的最大值;例:例:下面的数据类型的下界为下面的数据类型的下界为-4(MPI_REAL,4),(MPI_LB,12),(MPI_REAL,0),(MPI_LB,-4)10数据类型查询函数数据类型查询函数MPI_TYPE_EXTENT(datatype,extent)MPI_TYPE_SIZE(datatype,size)MPI_TYPE_UB(datatype,displacement)MPI_TYPE_LB(datatype,displacement)l 详细用法见相关参考资料详细用法见相关参考资料11新数据类型的创建新数据类型的创建n 新数据类型创建函
9、数新数据类型创建函数l MPI_TYPE_CONTIGUOUSl MPI_TYPE_VECTOR、MPI_TYPE_HVECTORl MPI_TYPE_INDEXED、MPI_TYPE_HINDEXED l MPI_TYPE_STRUCT n 新数据类型的提交:新数据类型的提交:MPI_TYPE_COMMITl 若使用新数据类型进行若使用新数据类型进行通信通信,则必须先提交,则必须先提交l 过渡数据类型不用提交,用完后就可直接释放过渡数据类型不用提交,用完后就可直接释放 n 新数据类型的释放:新数据类型的释放:MPI_TYPE_FREE n 数据的打包和解包:数据的打包和解包:MPI_PACK
10、、MPI_UNPACK 12MPI_TYPE_CONTIGUOUSMPI_TYPE_CONTIGUOUS(count,oldtype,newtype)参数IN count 复制个数IN oldtype 旧数据类型OUT newtype 新数据类型 Cint MPI_Type_contiguous(int count,MPI_Datatype oldtype,MPI_Datatype*newtype)F77MPI_TYPE_CONTIGUOUS(COUNT,OLDTYPE,NEWTYPE,IERR)INTEGER COUNT,OLDTYPE,NEWTYPE,IERRl 连续复制:连续复制:将原数
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 章节 消息 传递 编程 接口 MPI
![提示](https://www.taowenge.com/images/bang_tan.gif)
限制150内