【问题标题】:mpirun hangs after program completion程序完成后 mpirun 挂起
【发布时间】:2020-07-17 09:51:25
【问题描述】:

当我运行以下命令时,我得到了预期的输出,但程序并没有立即终止。

$ mpirun -np 2 echo 1
1
1

程序也不响应中断。大约一分钟后,我回到了 shell。

或者换一种说法:程序mpirun -np 2 echo 1; echo 'done' 运行成功,但需要很长时间。

更新: 我跑了strace mpirun -np 2 echo 1

程序挂在这里:

sysinfo({uptime=5064793, loads=[153856, 184128, 229600], totalram=67362279424, freeram=26006364160, sharedram=8040448, bufferram=1739857920, totalswap=34359734272, freeswap=34358018048, procs=309, totalhigh=0, freehigh=0, mem_unit=1}) = 0
uname({sysname="Linux", nodename="euler", ...}) = 0
ioctl(13, _IOC(0, 0, 0x25, 0)

然后在这里:

openat(AT_FDCWD, "/tmp/openmpi-sessions-216211@euler_0/42701", O_RDONLY|O_NONBLOCK|O_CLOEXEC|O_DIRECTORY) = -1 ENOENT (No such file or directory)
munmap(0x7f61ed88c000, 2127408)         = 0
munmap(0x7f61ee0a1000, 2101720)         = 0
close(9)                                = 0
munmap(0x7f61ede9e000, 2105664)         = 0
munmap(0x7f61ed685000, 2122480)         = 0
munmap(0x7f61eda95000, 2109856)         = 0
munmap(0x7f61ed47c000, 2130304)         = 0
munmap(0x7f61ed05b000, 2109896)         = 0
munmap(0x7f61ecc9a000, 3934648)         = 0
munmap(0x7f61ed25f000, 2212016)         = 0
munmap(0x7f61ec8e3000, 3894144)         = 0
munmap(0x7f61ec6bd000, 2248968)         = 0
munmap(0x7f61ea776000, 28999696)        = 0
munmap(0x7f61edc99000, 2110072)         = 0
exit_group(0)                           = ?

您能帮我进一步调试吗?

【问题讨论】:

  • 那是哪个版本的 Open MPI?
  • $ mpirun --version: mpirun (Open MPI) 2.1.1
  • 这是在uname -a:Linux euler 5.3.0-28-generic #30~18.04.1-Ubuntu SMP Fri Jan 17 06:14:09 UTC 2020 x86_64 x86_64 x86_64 GNU/Linux。现在,我编译了 OpenMPI 3.1.4,程序立即成功终止。
  • 如果您有任何防火墙正在运行,请尝试禁用它。
  • 我更新了问题以包含一些日志消息。我会和系统管理员一起检查防火墙状态。

标签: mpi openmpi


【解决方案1】:

显然,NVIDIA 驱动程序已损坏。将驱动程序更新到 440.64.00 解决了这个问题。

【讨论】:

    猜你喜欢
    • 2019-10-08
    • 1970-01-01
    • 1970-01-01
    • 2018-12-05
    • 1970-01-01
    • 2016-03-10
    • 1970-01-01
    • 2014-09-21
    • 1970-01-01
    相关资源
    最近更新 更多