我正在使用 MPI 在某个平台上运行一些分布式培训。在培训期间,我看到了大量的印刷品,例如:
Read -1, expected 5017600, errno = 1
Read -1, expected 5017600, errno = 1
Read -1, expected 5017600, errno = 1
Read -1, expected 5017600, errno = 1
Read -1, expected 5017600, errno = 1
...
经过一番调查,我发现它是由默认的 docker Seccomp 引起的。如果我用--cap-add=SYS_PTRACE
那些大量打印运行 docker 就会消失。
但是,我无法添加标志,docker run
因为我无法控制 docker 图像的启动:它们是由平台启动的。那么,有没有办法修改ptrace
Dockerfile 或 docker 容器内的设置?
另一个发现是运行 MPIbtl_vader_single_copy_mechanism none
会禁用这些打印,但性能会受到损害,所以这不是一个选项。
任何帮助将不胜感激!