带有MPI错误的Fortran

带有MPI错误的Fortran,fortran,mpi,Fortran,Mpi,我正在使用MPI编写Fortran代码,并介绍以下MPI命令 call MPI_Gather(nlocal,1,MPI_INTEGER,counts,1,MPI_INTEGER,0& &,comm_cart,ierror) 在特定的子例程中给出以下错误: This name does not have a type, and must have an explicit type. [MPI_INTEGER] 我知道编译器无法识别此代码的MPI部分

我正在使用MPI编写Fortran代码,并介绍以下MPI命令

    call MPI_Gather(nlocal,1,MPI_INTEGER,counts,1,MPI_INTEGER,0&
         &,comm_cart,ierror)
在特定的
子例程中
给出以下错误:

This name does not have a type, and must have an explicit type.   [MPI_INTEGER]
我知道编译器无法识别此代码的MPI部分。但是,除Fortran MPI数据类型
MPI INTEGER
外,所有其他相关变量,如
nlocal、counts和comm\u cart
都可以识别。有人能说出我做错了什么吗


注意:编译器是“英特尔编译器”

您必须告诉编译器有关MPI的内容(主要是变量)

现代的方式是引进

use mpi
在各个领域

在过去,它也是通过使用

include "mpif.h"
但这有几个缺点。也就是说,因为它与FORTRAN 77兼容,所以它没有为任何MPI子例程引入显式接口,因此错误检查不如使用MPI时彻底。现代方法将帮助您更好地保持代码的正确性


另一方面,如果您使用
use mpi
模块
mpi
必须使用编译程序时使用的相同编译器(有时甚至使用相同版本)编译。

如何在变量空间中包含mpi_整数?您应该始终显示更多代码,即,你所有的符号来自哪里?你的陈述放在哪里。否决票可能来自未能显示所有相关细节。这个问题本身是合理的。