我有一些Fortran代码,我正在用MPI并行化,它做的事情真的很奇怪。首先,有一个变量nstartg,我从老板进程中广播给所有的工人:
call mpi_bcast(nstartg,1,mpi_integer,0,mpi_comm_world,ierr)
在程序中永远不会再更改变量nstartg。稍后,我让boss进程将数组edge的eproc元素发送给工作进程:
if (me==0) then
do n=1,ntasks-1
(determine the starting point estart and the number eproc
of v
当涉及到MPI时,我是一个新手,但这没有任何意义。所以我这里有一段使用MPI_Recv和MPI_Send的代码,但是在告诉我我的网格大小之后,在第一个“我在这里做的”之前,事情就冻结了。被发送到屏幕上。
我不明白为什么。从字面上看,在第一个“我在这里做的”和最后一个输出到屏幕上的东西之间没有任何东西。
下面是代码片段
void initMesh(double* &phi, double &h, double &riptime,
double &deltat, int &x, int &y, int &xlength, int &
在一个Fortran 90程序中调用MPI_FINALIZE()时,我得到了一个分段错误。虽然代码相当广泛,但我将发布伪代码,并查看它是否会引发任何标志。我有一种预感(但还没有尝试过这一点),它可能是由不释放数组引起的?但是,我不确定-如果未能释放Fortran 90中的数组,在调用MPI_FINALIZE时会导致分段错误吗?
if(<rank 0>) then
do iat = 1,natoms
do il = 0, LMAX
do im = -il,il
<mpi_recv "rank_rdy"> ! find
我正在尝试在我的Windows 10笔记本电脑上安装Fortran。 我一步一步地学习了this教程。 在最后一步中,系统提示我运行以下代码: program testfortran
implicit none
print*,'Hello world '
end program testfortran 但是弹出一个Resolve Missing Native Build Tools窗口:看起来Make command字段是空的。 更具体地说,在此窗口的底部有一条消息,即Tolls marked with * are required。有三个这样的字段: (1)