美文网首页Python 并行计算
mpi4py 中的数据类型

mpi4py 中的数据类型

作者: 自可乐 | 来源:发表于2018-04-05 21:28 被阅读102次

上一篇中我们介绍了 mpi4py 中的栅障同步操作方法,至此我们介绍了 mpi4py 中的各种集合通信,下面我们将进入到对数据类型的介绍。

在前面的介绍和例程中,我们使用的都是 mpi4py 中预定义的数据类型,如 MPI.CHAR,MPI.INT,MPI.FLOAT,MPI.DOUBLE 等,这些预定义数据类型给我们编写基于 MPI 的并行计算程序提供了很大的方便,但是却不能满足一些特殊的消息传递任务。对此类情况,MPI 允许用户自定义数据类型进行通信。自定义的数据类型用类型图描述。

类型图

类型图用来描述用户自定义数据类型,其定义为:

typemap={ <basetype0, displs0>, <basetype1, displs1>, … , <basetypen-1, displsn-1> }

假定某类型的类型图定义为:

typemap={ <type0, disp0>, <type1, disp1>, … , <typen-1, dispn-1> }

则有如下定义:

  • 类型图的下界:
    lb(typemap) = min{dispi}, 0 ≤ i ≤ n - 1
  • 类型图的上界:
    ub(typemap) = max{dispi + sizeof(typei)}, 0 ≤ i ≤ n - 1
  • 类型图的跨度(Extent):
    extent(typemap) = ub(typemap) - lb(typemap) + ε, 0 ≤ i ≤ n - 1

其中 ε 是使得类型图跨度满足该类型图中所有类型都能达到下一个对齐位置所需要的最小非负整数值。

知道了数据类型图后,就可以创建自定义数据类型了,为此我们需要了解一些与数据类型相关的方法,在下一篇中我们将介绍 mpi4py 中的数据类型创建方法。

相关文章

  • mpi4py 中的 Op 对象

    在上一篇中我们介绍了 mpi4py 中的数据类型解析,下面我们将介绍 mpi4py 中的 Op 对象。 MPI 内...

  • mpi4py 中的数据类型解析

    在上一篇中我们介绍了 mpi4py 中的通用化请求,下面我们将介绍 mpi4py 中的数据类型解析。 通过自定义数...

  • mpi4py 中的数据类型创建方法

    在上一篇中我们介绍了数据类型图,下面我们将介绍 mpi4py 中的数据类型创建方法,用以创建用户自定义数据类型。 ...

  • mpi4py 中的打包解包操作

    在上一篇中我们介绍了 mpi4py 中的数据类型创建方法,下面我们将介绍数据的打包/解包操作。 MPI 除了可以发...

  • mpi4py 中的数据类型

    在上一篇中我们介绍了 mpi4py 中的栅障同步操作方法,至此我们介绍了 mpi4py 中的各种集合通信,下面我们...

  • mpi4py 中的 futures 模块

    在上一篇中我们介绍了 mpi4py 中的 profiling,下面我们将介绍 mpi4py 中的 futures ...

  • mpi4py 中的 run 模块

    在上一篇中我们介绍了 mpi4py 中的 futures 模块,下面我们将介绍 mpi4py 中的 run 模块。...

  • mpi4py 中的 Status 对象

    在上一篇中我们介绍了 mpi4py 中的 info 和 assertion,下面我们将介绍 mpi4py 中的 S...

  • mpi4py 中 I/O 操作的一致性语义

    在上一篇中我们介绍了 mpi4py 中 I/O 相关的 hints,下面我们将介绍 mpi4py 中 I/O 操作...

  • mpi4py 中的 info 和 assertion

    在上一篇中我们介绍了 mpi4py 中的错误处理,下面我们将介绍 mpi4py 中的 info 和 asserti...

网友评论

    本文标题:mpi4py 中的数据类型

    本文链接:https://www.haomeiwen.com/subject/bcgdhftx.html