使用MPI访问文件

时间:2014-11-27 17:03:26

标签: file-io compiler-errors parallel-processing mpi

这已经工作了(见代码中的评论)

我是MPI的新手并且还在学习它。我实际上试图在Fortran中编写代码以同时从每个处理器上的同一组文件(已经生成)中读取数据,并在不同的处理器中执行不同的计算。我决定使用它,

程序......

use mpi

implicit none
.
.
.

call mpi_file_open(mpi_comm_world,filename_i,mpi_mode_rdonly,mpi_info_null,i,ierr) 

从程序开始。现在,每个处理器调用一个子程序,我试图使用普通的fortran命令打开文件open(i,*) ...(因为我不在子程序中使用mpi)。

首先,我对这个想法本身并不自信。接下来,它会出现此错误,

_open(mpi_comm_world,filename_i,mpi_mode_rdonly,mpi_status_ignore,i,ierr) (1)
  

错误:通用' mpi_file_open'没有特定的子程序。   在(1)

请提出您的建议和意见。


我想要做的事情很长,因为子程序,我只想包含一个原型代码,如果这个问题解决了,我的问题就会解决。下面的代码给出了与之前说的相同的错误。请提出你的建议。感谢。

program hello  
use mpi  
integer::ierr,num_procs,my_id,i,j,no  

call MPI_INIT(ierr)  
call MPI_COMM_RANK (MPI_COMM_WORLD,my_id,ierr)    
call MPI_COMM_SIZE (MPI_COMM_WORLD,num_size,ierr)  
open(4,file='hella') !CHANGING THIS LINE  
do i=1,num_size  
   if(i-1 .eq. my_id)print*,"In",my_id  
   if(i-1 .eq. my_id)then  
      read(4,*)no  
      print*,no  
   endif  
enddo  

call mpi_finalize(ierr)  
end program hello  

0 个答案:

没有答案