相关疑难解决方法(0)

Fortran 中 MPI_FINALIZE() 期间的分段错误

我在调用MPI_FINALIZE()Fortran 90 程序时遇到分段错误。虽然代码相当广泛,但我将发布伪代码并查看它是否引发任何标志。我有一种预感(但还没有尝试过)它可能是由于未释放数组引起的?但是,我不确定 - 在 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 out which rank is ready for (at,l,m)
        <mpi_send "(iat,il,im)"> ! send (at,l,m) to the rank asking for it
      enddo
    enddo
  enddo
else ! other ranks send a 'ready' signal and recieve the (at,l,m) to optimize
  if(<rank 0 is not finished processing (at,l,m)'s>)
    <mpi_send "my_rank"> ! …
Run Code Online (Sandbox Code Playgroud)

fortran memory-management mpi segmentation-fault fortran90

1
推荐指数
1
解决办法
2429
查看次数