我有一个 fortran 代码,它需要读取一系列 ascii 数据文件(总共大约 25 Gb)。基本上,代码打开一个给定的 ascii 文件,读取信息并使用它来执行一些操作,然后关闭它。然后打开另一个文件,读取信息,做一些操作,然后再次关闭。其余的 ascii 文件依此类推。
总体而言,每次完整运行大约需要 10 小时。我通常需要运行几个不同参数的独立计算,我的做法是依次运行每个独立计算,这样最后如果我有10个独立计算,总的CPU时间是100h。
更快速的方法是在集群机器上使用不同的处理器同时运行 10 个独立的计算,但问题是,如果给定的计算需要打开并从已经打开的给定 ascii 文件中读取数据,并且它被另一个计算使用,那么代码显然给出了一个错误。
我想知道是否有办法验证给定的 ascii 文件是否已被另一个计算使用,如果是,则要求代码等到 ascii 文件最终关闭。
任何帮助都会有很大帮助。提前谢谢了。
奥巴马科克。