fortran子程序(子函数)调用MPI库函数遇到的问题。


我在写程序发现一个问题,就是在主函数里调用MPI的库函数都会正确执行,但是如果在子函数或者子程序(subroutine)里调用MPI的库函数的话就会各种编译报错。比如我在一个子程序里调用:


 MPI_REDUCE(a,b,1,MPI_INTEGER,MPI_SUM,0,MPI_COMM_WORLD,ierr)

编译器就会报错如下:


 error #6404: This name does not have a type, and must have an explicit type.   [MPI_INTEGER]
error #6404: This name does not have a type, and must have an explicit type.   [MPI_SUM]
error #6404: This name does not have a type, and must have an explicit type.   [MPI_COMM_WORLD]

大致的意思就是可能编译器认不出这些变量的意思。但是在主程序里调用这个函数的话就不没有问题,vs2012里的项目设置是都把相应的库包括进去了,所以想问问大神们这个问题该怎么解决。

mpi fortran

Marry_A 10 years, 5 months ago

Your Answer