Parallel processing 在一个文件中写入一个核心的大数据,在MPI中读取该文件

Parallel processing 在一个文件中写入一个核心的大数据,在MPI中读取该文件,parallel-processing,fortran,mpi,Parallel Processing,Fortran,Mpi,我正在编写一个CFD代码,它是用Fortran 90编写的。我试图使部分代码并行运行,为此,我必须生成一个网格数据文件,然后使用多核的MPI_read命令读取该文件 我正在编写的信息的结构类似于d(id)%nc(3),d(id)%ncg(3,6),以及d指一个元素信息,包括整数和实数变量。我希望通过并行读取我已经用一个核心创建的文本文件,在多个核心之间分布元素的信息。正如您所知,要使用MPI_read_file命令读取文件,必须为每个核心定义一个位移,以访问文件的相关部分,因此,当我使用一个核心

我正在编写一个CFD代码,它是用Fortran 90编写的。我试图使部分代码并行运行,为此,我必须生成一个网格数据文件,然后使用多核的MPI_read命令读取该文件

我正在编写的信息的结构类似于
d(id)%nc(3),d(id)%ncg(3,6)
,以及
d
指一个元素信息,包括整数和实数变量。我希望通过并行读取我已经用一个核心创建的文本文件,在多个核心之间分布元素的信息。正如您所知,要使用MPI_read_file命令读取文件,必须为每个核心定义一个位移,以访问文件的相关部分,因此,当我使用一个核心创建文件时,我必须以一种可以计算每个字节的方式写入信息,以便我可以为以后的MPI读取定义位移。有人有过这方面的经验吗

我遇到的另一个问题是,我想在电脑中创建文件,然后将其传输到群集。所以我的代码需要独立于机器,所以我认为我不能使用二进制格式,或者我可以吗


我对I/O方面的知识还很陌生,如果您能为我介绍一份学习参考资料,我将不胜感激。

欢迎。请拿着这本书读一读。你的问题是一堵无法阅读的文字墙,一些格式是必要的。问题应该包含更多说明性代码。另见。此外,对所有Fortran问题都使用tag。不幸的是,您的问题对于本网站来说可能太广泛了。这里的问题应该相当具体。询问参考资料和教程在这里是离题的。你可以也应该使用二进制。你只需要知道你在做什么。不管怎样,现在的一切都有点印度化和兼容性:(嗨,艾哈迈德!首先,你有两个问题:1.如何并行读取文件。2.如何上载文件。回答你的第一个问题:读取文件不受CPU的约束,而是受I/O的约束,因此多核不会使文件加载更快。要更快地处理文件,请将其读入内存,然后使用多核进行更快的处理。欢迎。请阅读。您的问题是一堵无法阅读的文字墙,需要一些格式。问题应包含更多说明性代码。另请参阅。此外,对所有Fortran问题使用标记。不幸的是,您的问题对于本网站来说可能太广泛。此处的问题应相当具体。请重新阅读参考资料和教程在这里是离题的。你可以也应该使用二进制。你只需要知道你在做什么。现在的一切都有点印度式,而且兼容:(嗨,艾哈迈德!首先,你有两个问题:1.如何并行读取文件。2.如何上载文件。回答你的第一个问题:读取文件不受CPU的约束,而是受I/O的约束,因此多核不会使文件加载更快。要更快地处理文件,请将其读入内存,然后使用多核进行更快的处理.