Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/date/2.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
来自非常简单的fortran代码示例的MPI错误_Mpi - Fatal编程技术网

来自非常简单的fortran代码示例的MPI错误

来自非常简单的fortran代码示例的MPI错误,mpi,Mpi,我编译了以下代码: program mpisimple implicit none integer ierr include 'mpif.h' call mpi_init(ierr) write(6,*) 'Hello World!' call mpi_finalize(ierr) end 使用命令:mpif90-o helloworld simplempi.f90 使用此命令运行时: $ mpiexec -np 1 ./hellow

我编译了以下代码:

 program mpisimple
  
  implicit none
  
  integer ierr

  include 'mpif.h'

  call mpi_init(ierr)

  write(6,*) 'Hello World!'

  call mpi_finalize(ierr)

  end
使用命令:mpif90-o helloworld simplempi.f90

使用此命令运行时:

    $ mpiexec -np 1 ./helloworld
    Hello World!
正如你所看到的,它工作得很好。但是当我使用任何其他数量的处理器(这里是4个)运行时,我会出现错误,基本上我必须按ctrl+C组合键才能消除错误

Fatal error in MPI_Init: Other MPI error, error stack:
MPIR_Init_thread(805).....: fail failed
MPID_Init(1859)...........: channel initialization failed
MPIDI_CH3_Init(126).......: fail failed
MPID_nem_init_ckpt(858)...: fail failed
MPIDI_CH3I_Seg_commit(427): PMI_KVS_Get returned 4
In: PMI_Abort(69777679, Fatal error in MPI_Init: Other MPI error, error stack:
MPIR_Init_thread(805).....: fail failed
MPID_Init(1859)...........: channel initialization failed
MPIDI_CH3_Init(126).......: fail failed
MPID_nem_init_ckpt(858)...: fail failed
MPIDI_CH3I_Seg_commit(427): PMI_KVS_Get returned 4)
forrtl: severe (174): SIGSEGV, segmentation fault occurred

有什么问题吗?我正在Linux hpc系统上执行此操作。

我找到了发生这种情况的原因。我使用的系统不要求用户通过调度器提交单核作业,但对于多核作业确实需要它。通过PBS bash脚本提交mpiexec命令后,错误消失,输出结果与预期一致。

您可能在集群的头节点上设置了非常低的资源限制<代码>ulimit-a显示它们。这样做通常是为了防止人们用多核作业使头部节点过载。