Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/xamarin/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Tags openmpi/2.1.1的MPI标签_Tags_Fortran_Mpi_Openmpi - Fatal编程技术网

Tags openmpi/2.1.1的MPI标签

Tags openmpi/2.1.1的MPI标签,tags,fortran,mpi,openmpi,Tags,Fortran,Mpi,Openmpi,我正在尝试获取openmpi的参数MPI_TAG_UB(我使用的是版本2.1.1)。我知道我需要使用常规的MPI_COMM_GET_ATTR,但我不知道如何做到这一点,我一生中从未使用过Fortran。接下来,我尝试了以下方法: LOGICAL FLAG INTEGER IERR INTEGER (KIND=MPI_ADDRESS_KIND) VALUE ! Upon successful return, VALUE == 7 (sign extended) CALL MPI_COMM_

我正在尝试获取openmpi的参数MPI_TAG_UB(我使用的是版本2.1.1)。我知道我需要使用常规的MPI_COMM_GET_ATTR,但我不知道如何做到这一点,我一生中从未使用过Fortran。接下来,我尝试了以下方法:

LOGICAL FLAG

INTEGER IERR

INTEGER (KIND=MPI_ADDRESS_KIND) VALUE

! Upon successful return, VALUE == 7 (sign extended)

CALL MPI_COMM_GET_ATTR(MPI_COMM_WORLD, KEYVAL, VALUE, FLAG, IERR)
我把它放在一个文件
test.f90
,然后

gfortran test.f90 -o test.out
但我得到了这个错误信息:

错误:(1)处的参数“mpi\u address\u kind”尚未声明或是一个变量,该变量未简化为常量表达式 错误:“test.f90”中的文件意外结束

所以基本上我不知道我在做什么。有人曾经为某些MPI实现检索过MPI_标记_UB的值吗


谢谢

Fortran不知道什么是
MPI\u COMM\u GET\u ATTR
,您需要
使用它。看起来你应该参考一本fortran初学者的书,然后学习如何在书中使用MPI。我好心地说,你有点不知所措了。学习基本Fortran应该很容易,但MPI不是Fortran的一部分。您不理解这一点,因为您试图使用gfortran进行编译。您将使用MPI包装器编译器进行编译。MPI还有许多未在链接中解释的需求。您应该首先学习基本的MPI实现。您在这里提出的有关堆栈溢出的问题不合适,因为这不是一个教程站点。我建议您查找有关Fortran和MPI的教程。这个问题不是直接使用编译器而不是MPI包装器造成的。正如@Ross已经解释的,您首先需要
使用mpi
(或者
包括'mpif.h'
或者
使用mpi\u f08
)。