鲲鹏社区首页
中文
注册
开发者
我要评分
获取效率
正确性
完整性
易理解
在线提单
论坛求助

在MPI线程中使用fork方法新建线程,导致运行时报错

现象描述

在部分服务器上使用MPI运行osu_latency_mp等用例时会有Segment报错,但不影响运行以及功能。报错信息参考:

Caught signal 11 (Segmentation fault: address not mapped to object at address 0x3dbaf590)

可能原因

根据OpenMPI官方文档,在MPI进程中使用fork()、system()、popen()等操作是不安全的。这是因为这些操作依赖于多种因素,包括操作系统、计算机硬件和网络堆栈。开发人员应尽量避免在MPI应用程序中调用此类非安全操作。

规避方法

在部分网卡上,可以通过禁用DC协议来规避。

-x UCX_TLS=^dc