一个MPI中操作同一个文件的问题

ziyerong 2012-11-17 09:55:39
各位大侠,我最近在做并行计算,需要在集群上用MPI并行执行一个1.exe二进制应用,这个exe的执行需要一个参数文件1.ini。现在我的MPI需要完成的是, 提交这个MPI程序之后,每一个并行进程执行一遍这个exe,但是这个参数文件中的其中一个字段在每个进程中是不一样的,所以我编写了一段代码在每个进程执行这个exe之前,需要将这个参数文件中的字段改变,这个时候就产生了一个问题,每个进程都在同时读并改变参数文件,产生了冲突。除非我事先将需要执行的文件都拷贝到这些进程的节点上去,但是我的问题是,如何实现只从本地提交作业到集群,不去拷贝这些文件到每一个节点,对于参数文件的读写不产生冲突呢?
...全文
826 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
david-yue 2013-07-16
  • 打赏
  • 举报
回复
对同一个文件操作肯定会有IO影响,需要进行同步;可以将文件初值拷贝到本地内存,并行计算完毕后再讲节点内存同步到文件。
hua_zhixing_ 2013-01-05
  • 打赏
  • 举报
回复
参数文件大吗?不大的话,可以尝试把整个文件读结点的内存上。
zhoujk 2013-01-04
  • 打赏
  • 举报
回复
多进程同时写同一个文件,肯定会冲突。 从你的说法来看,这个INI文件不需要在不同进程间进行同步,因此,用代码拷贝一个独立的副本进行写操作行吗?完事之后将副本删除即可。

2,408

社区成员

发帖
与我相关
我的任务
社区描述
高性能计算
社区管理员
  • 高性能计算社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧