gpt4 book ai didi

types - MPI 数据类型有什么好处?

转载 作者:行者123 更新时间:2023-12-04 15:12:07 32 4
gpt4 key购买 nike

MPI 基本数据类型对应于宿主语言的数据类型,除了 MPI_BYTE 和 MPI_PACKED。我的问题是使用这些 MPI 基本数据类型有什么好处?或者等价地,为什么只使用宿主语言数据类型不好?

我阅读了 William Gropp 等的教程。在幻灯片 31“为什么使用数据类型”中,它说:

  • 由于所有数据都按类型标记,因此 MPI 实现可以支持机器上的进程之间的通信,这些机器具有非常不同的内存表示和基本数据类型的长度(异构通信)。
  • 指定内存中面向应用程序的数据布局
  • 减少实现中的内存到内存副本
  • 允许在可用时使用特殊硬件(分散/收集)

  • ( http://www.mcs.anl.gov/research/projects/mpi/tutorial/mpiintro/ppframe.htm )

    我不明白解释。首先,如果基本数据类型不同,我不明白为什么使用 MPI 数据类型可以解决差异,因为基本 MPI 数据类型对应于宿主语言的基本数据类型(基本数据类型)。其次,为什么这种面向应用的内存数据布局有上面提到的两个好处?

    任何解决我最初问题的答案都将被接受。任何解决我对威廉格罗普解释的问题的答案也将被接受。

    最佳答案

    简短的回答是该系统为 MPI 增加了一个强类型级别。

    长的答案是 MPI 数据类型的目的是告诉 MPI 函数它们正在使用什么。因此,例如,如果您从小端机器向大端机器发送一个 int,那么 MPI 可以为您进行字节顺序转换。另一个更常见的好处是 MPI 知道 MPI_DOUBLE 有多大,所以你不必有一堆 sizeof到处都有说法。

    请注意,MPI 数据类型是标记,而不是实际数据类型。换句话说,你使用

    double d;

    不是
    MPI_DOUBLE d;

    关于types - MPI 数据类型有什么好处?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19058839/

    32 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com