MPI_File_write_all每个处理器具有不同的计数值
MPI_File_write_all with different count value for each processor
这可能是一个愚蠢的问题,但是,
我希望N
处理器使用不同的offset
在同一文件中写入所有不同的byte count
,以使数据连续。
我想使用MPI_File_write_all(file,data,count,type,status)
(单个文件指针,集体,阻止)功能。
第一个问题 每个处理器可以为count
参数指定不同的值吗?我在 MPI 3.0 参考中找不到任何提到的内容。(我的意图是这是不可能的?
到目前为止,我发现的是以下两个问题:
-
当我想在MPI_File_write中写入大量
MPI_BYTES
整数(32位)count
时...功能是小的,当然会溢出! -
我不(不能)/不想在 MPI 中使用派生数据类型,因为如上所述,所有处理器都写入不同的
byte count
并且类型MPI_BYTES
感谢您对此主题的任何帮助!
你在这里汇总了几个问题
-
当然,进程可以为集体
MPI_File_write_all
例程指定不同甚至零量的数据。 不仅count
参数可以不同,datatype
参数也没有理由需要相同。 -
问题 #1:如果要写入超过
int
MPI_BYTE 的数据,则必须创建一个新的 datatpye。 例如,假设您要写入 90 亿字节。 创建一个大小为 10 亿的重叠群类型,然后写入其中的 9 个。 (如果要写入的数据量不能均匀整除,则可能需要索引或结构类型)。
问题 #2:让每个MPI进程创建自己的数据类型或数据类型计数根本不是问题。
相关文章:
- #定义c-预处理器常量..我做错了什么
- 预处理器:插入结构名称中的前一个行号
- 如何在c++中实现处理器调度模拟器
- C/C++预处理器是否可以检测一些编译器选项
- 要与"if constexpr"一起使用的编译时消息(在预处理器之后)
- 在clang++预处理器中确定gcc工具链版本
- 尝试链接我的着色器时,我收到错误代码"error c5145 must write to gl_position"
- 不同/较旧的处理器运行c++代码的方式是否不同
- 用于交叉编译和CMake的预处理器宏的单元测试
- 有没有办法在从编译器获取参数时避免预处理器宏?
- 如何比较两个同名的预处理器宏?
- 从预处理器获取 Windows 版本(C++ Win32)
- 如何摆脱为条件编译定义预处理器宏的需要?
- C 预处理器 - 现有定义的预置路径
- VS2015 预处理器定义与点
- 不带预处理器的调用方法/文件的文件名/行号
- 获取文件数据预处理器宏
- 有没有办法在 c++ 中拥有条件预处理器
- 当客户端在 write() 期间终止连接时,由对等套接字错误重置连接
- 如何在编译时定义C++预处理器指令的值?