在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
父主题: FAQ