从 v1.1 开始,Open MPI 要求 C、C++ 和 Fortran 数据类型的大小在单个并行应用程序内的所有平台上都相同,但 MPI_BOOL 和 MPI_LOGICAL 表示的类型除外——这些类型在进程之间的大小差异得到妥善处理。单个 MPI 作业中进程之间的字节序差异会得到正确且自动的处理。
在 v1.1 之前,Open MPI 不包括对数据大小或字节序异质性的任何支持。
这是否意味着 MPI_UNSIGNED_LONG 在所有主机上必须是 32 位或在所有主机上必须是 64 位?我的集群由 32 位和 64 位 Linux 服务器组成。确保所有主机大小相同long
的最佳方法是什么?unsigned long
也许我应该只使用int
和'long long'?在所有主机上分别是 32 位和 64 位。只要不使用,数据大小不一致是否可以?
谢谢你。