MPI数据类型.PDFVIP

  • 218
  • 0
  • 约8.81千字
  • 约 24页
  • 2018-03-03 发布于天津
  • 举报
MPI数据类型

第六讲 消息传递编程接口MPI 三、MPI 数据类型 1 MPI 数据类型 MPI 数据类型定义 MPI 数据类型的大小、上下界、域及相关函数 MPI 新数据类型的创建、提交与释放 MPI 数据的打包与解包 2 MPI 数据类型 MPI 原始数据类型 MPI 消息传递通常只能处理连续存放的同一类型的数据 MPI 自定义数据类型 如果需要发送或接收具有复杂结构的数据时,可以使用自 定义数据类型 使用自定义数据类型的好处: 有效减少消息传递次数,增大通信粒度,同时可以避免或 减少消息传递时数据在内存中的拷贝 MPI 的数据类型只用于消息传递 ! 3 MPI 数据类型定义 MPI 数据类型由两个相同长度的序列组成:类型序列和位 移序列 {t , t , t , ..., t } 1 2 3 n {d , d , d , ..., d } 1 2 3 n t 的取值为基本数据类型 i  d 表示位移,取值为整数,以字节为单位 i 新建的数据类型称为复合数据类型 MPI 数据类型图 {(t ,d ),(t ,d ),(t ,d ), ..., (t ,d )} 1 1 2 2 3 3 n n 这个新的数据类型包含n 个数据,其中第i个数据的数据类 型为t ,该数据离首地址的距离为d i i 4 举例 例:设数据类型 mytype 的数据类型图为 {(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 数据类型的大小 数据类型的大小 该数据类型中包含的数据长度,即字节数 设一个数据了下的类型图为 {(t ,d ),(t ,d ),(t ,d ), ..., (t ,d )} 1 1 2 2 3 3 n n 则它的大小为 sizeof(t ) + sizeof(t ) + ... + sizeof(t ) 1 2 n 例:设数据类型 mytype 的数据类型图为 {(real,4),(real,12),(real,0)} 则mytype 的大小为12

文档评论(0)

1亿VIP精品文档

相关文档