数据类型举例 例:设数据类型mytype的数据类型图为 {(MPI_FLOAT,4),(MPI_FLOAT,12),(MPI_FLOAT,0)} 则下面的语句: float A(100) MPI Send(A,1,mytype,···) 发送的数据为 A(2),A(4),A(1) http://math.ecnu.edu.cn/~jypan 6
http://math.ecnu.edu.cn/~jypan 6 数据类型举例 例:设数据类型 mytype 的数据类型图为 {(MPI_FLOAT,4),(MPI_FLOAT,12),(MPI_FLOAT,0)} 则下面的语句: 发送的数据为 float A(100) ... ... MPI_Send(A, 1, mytype, ... ) A(2), A(4), A(1)
华东师范大学数学科学学院 目录页 School of Mathematical Sciences,ECNU Contents 2 数据类型的大小和域 数据类型的大小 1 数学类型的定义 数据类型的上下界和域 2 大小、上下界和域 数据类型查询函数 3 创建、提交与释放 4 数据的打包与解包 http://math.ecnu.edu.cn/-jypan
http://math.ecnu.edu.cn/~jypan 目录页 Contents 华东师范大学 数学科学学院 School of Mathematical Sciences, ECNU http://math.ecnu.edu.cn/~jypan 1 2 数学类型的定义 2 数据类型的大小和域 3 大小、上下界和域 创建、提交与释放 数据类型的大小 数据类型的上下界和域 数据类型查询函数 4 数据的打包与解包
数据类型的大小 数据类型的大小:包含的数据长度,即字节数。 设一个数据的类型图为 {(t1d),(t2d2),(t3d3),,(tndn) 则它的大小为 sizeof(t])+sizeof(t2)+...+sizeof(t) Example 例:如果mytype的数据类型图为: {(MPI_FLOAT,4),(MPI_FLOAT,12),(MPI_FLOAT,0)} 则mytype的大小为12 http://math.ecnu.edu.cn/~jypan 8
http://math.ecnu.edu.cn/~jypan 8 数据类型的大小 数据类型的大小:包含的数据长度,即字节数。 {(t1,d1),(t2,d2),(t3,d3), ..., (tn,dn)} sizeof(t1) + sizeof(t2) + ... + sizeof(tn) 设一个数据的类型图为 则它的大小为 例:如果 mytype 的数据类型图为: {(MPI_FLOAT,4),(MPI_FLOAT,12),(MPI_FLOAT,0)} 则 mytype 的大小为 12 Example
数据类型的域 {(t1d1),(t2,d2),(t3,d3),.·,(tndn) 数据类型的下界:类型图中的最小位移,即 min {di} 1<i<n ▣ 数据类型的上界:max{d+sizeof(ti)}+e 1<i<n 其中e为地址对界修正量 数据类型的长度(extent)=上界-下界 http://math.ecnu.edu.cn/~jypan
http://math.ecnu.edu.cn/~jypan 9 数据类型的域 数据类型的下界:类型图中的最小位移,即 数据类型的上界: {(t1,d1),(t2,d2),(t3,d3), ..., (tn,dn)} 其中 𝜖𝜖 为地址对界修正量 数据类型的长度(extent)= 上界 − 下界
数据类型的对界量 数据类型的对界量 ●原始数据类型的对界量:由编译系统决定 ●复合数据类型的对界量:其所包含的基本数据类型的对界量的最大值 ·地址对界要求: 一个数据类型在内存中所占的字节数必须是其对界量的整数倍 ●地址对界修正量: 使得新建数据类型的长度(extent)能被其对界量整除的最小非负整数 http://math.ecnu.edu.cn/~jypan 10
http://math.ecnu.edu.cn/~jypan 10 数据类型的对界量 原始数据类型的对界量:由编译系统决定 复合数据类型的对界量:其所包含的基本数据类型的对界量的最大值 地址对界要求: 一个数据类型在内存中所占的字节数必须是其对界量的整数倍 地址对界修正量: 使得新建数据类型的长度(extent)能被其对界量整除的最小非负整数 数据类型的对界量