突然,每当我跑步时,mpirun
我都会收到错误Invalid MIT-MAGIC-COOKIE-1 key
。我认为这可能是在我使用mpirun
从 python 控制台启动的命令终止后开始的。
我查看了一下$XAUTHORITY
,没有发现任何.Xauthority
文件。我也在xhost +local:
终端中尝试过,但问题仍然存在。
我只习惯mpirun
在我的电脑上本地运行。
(在大多数情况下,mpirun 似乎确实做了它应该做的事情,但我相信它现在也会在以前运行良好的事情中产生错误。)
例如,只需运行以下命令即可显示警告(无意义的最小示例):
/usr/bin/mpirun -n 1 echo "bla"
我跑了
export XAUTHORITY="$XDG_RUNTIME_DIR"/Xauthority
因为它为其他人解决了问题,但似乎让事情变得更糟(?)。现在它说
No protocol specified
每当我运行 mpirun 时。
通过执行中的步骤https://superuser.com/a/941244/728074这又回到了说Invalid MIT-MAGIC-COOKIE-1 key
。
我的$DISPLAY
似乎也没有设置任何内容。我尝试将其设置为":1"
或":0"
,但这并不能解决问题。我也不知道它之前是否有值,但一些帖子表明它的值与此错误相关。
系统:Ubuntu 20.04 LTS
答案1
libhwloc
该问题与图书馆有关。 OpenRTE(即启动并行进程的 OpenMPI 组件)使用该库来探索节点的硬件拓扑。在hwloc_topology_load()
调用期间,libhwloc
循环遍历其所有组件,这些组件被设计为插件。该gl
组件(位于类似: 的位置/usr/lib/x86_64-linux-gnu/hwloc/hwloc_gl.o
)尝试使用XOpenDisplay()
其他 X11 调用,从而产生这些消息。可以通过设置环境变量来禁用此 libhwloc 组件:
export HWLOC_COMPONENTS="-gl"
对于 HPC 集群,此组件(通常)没有用处,因此这似乎是一个通用解决方案。
答案2
我的情况有点不同,但我抛出这个答案以防它对任何人有帮助。
这为我解决了这个问题:https://askubuntu.com/a/1365242/1048079
只是
sudo apt remove openmpi-bin
sudo apt-get autoremove mpich
然后
sudo apt install mpich