MPI_File_write_all每个处理器具有不同的计数值

MPI_File_write_all with different count value for each processor

本文关键字:处理器 write File all MPI      更新时间:2023-10-16

这可能是一个愚蠢的问题,但是,

我希望N处理器使用不同的offset在同一文件中写入所有不同的byte count,以使数据连续。

我想使用MPI_File_write_all(file,data,count,type,status)(单个文件指针,集体,阻止)功能。

第一个问题 每个处理器可以为count参数指定不同的值吗?我在 MPI 3.0 参考中找不到任何提到的内容。(我的意图是这是不可能的?

到目前为止,我发现的是以下两个问题:

  1. 当我想在MPI_File_write中写入大量MPI_BYTES整数(32位)count时...功能是小的,当然会溢出!

  2. 我不(不能)/不想在 MPI 中使用派生数据类型,因为如上所述,所有处理器都写入不同的byte count并且类型MPI_BYTES

感谢您对此主题的任何帮助!

你在这里汇总了几个问题

  • 当然,进程可以为集体MPI_File_write_all例程指定不同甚至零量的数据。 不仅count参数可以不同,datatype参数也没有理由需要相同。

  • 问题 #1:如果要写入超过 int MPI_BYTE 的数据,则必须创建一个新的 datatpye。 例如,假设您要写入 90 亿字节。 创建一个大小为 10 亿的重叠群类型,然后写入其中的 9 个。 (如果要写入的数据量不能均匀整除,则可能需要索引或结构类型)。

  • 问题
  • #2:让每个MPI进程创建自己的数据类型或数据类型计数根本不是问题。