C++ MPI\u文件\u写入\u每个处理器都有不同的计数值
这也许是个愚蠢的问题但是 我希望C++ MPI\u文件\u写入\u每个处理器都有不同的计数值,c++,mpi,mpi-io,C++,Mpi,Mpi Io,这也许是个愚蠢的问题但是 我希望N处理器使用不同的偏移量在同一文件中写入所有不同的字节计数,以使数据连续 我想使用MPI\u File\u write\u all(文件、数据、计数、类型、状态)(单个文件指针、集合、阻塞)功能 第一个问题:每个处理器是否可以为count参数指定不同的值? 我找不到MPI 3.0参考中提到的任何内容。(我的意图是这不可能?) 到目前为止,我发现了以下两个问题: 当我想在MPI_文件中写入大量MPI_字节整数(32位)count时。。。函数太少,当然会产生溢出 我不
N
处理器使用不同的偏移量在同一文件中写入所有不同的字节计数
,以使数据连续
我想使用MPI\u File\u write\u all(文件、数据、计数、类型、状态)
(单个文件指针、集合、阻塞)功能
第一个问题:每个处理器是否可以为count
参数指定不同的值?
我找不到MPI 3.0参考中提到的任何内容。(我的意图是这不可能?)
到目前为止,我发现了以下两个问题:
当我想在MPI_文件中写入大量MPI_字节
整数(32位)count
时。。。函数太少,当然会产生溢出
我不(不能)/想在MPI中使用派生数据类型,因为如上所述,所有处理器都会写入不同的字节计数
,并且类型是MPI\u字节
谢谢你在这个话题上的帮助 您在这里提出了几个问题
- 当然,进程可以为集合
MPI\u File\u write\u all
例程指定不同甚至零数量的数据。不仅count
参数可以不同,而且datatype
参数也没有理由需要相同
- 问题#1:如果您想写入超过
int
值的MPI_字节数据,则必须创建一个新的datatpye。例如,假设您想要写入90亿字节。创建一个10亿大小的重叠类型,然后写出其中的9个。(如果要写入的数据量不可平均分割,则可能需要hindexed或struct类型)
- 问题#2:让每个MPI进程创建自己的数据类型或数据类型计数根本不是问题