最近下载了某开源软件的源码,其使用CMake构建。在使用VS Code浏览源码时,发现一个奇怪的现象:VS Code出现#include errors detected错误。
昨天在 天河二号 上运行MPI程序,迭代到某个步数后会被kill掉。因之前出现过运行中被莫名终止的现象,以为这次也是调度系统出意外。再次运行程序,执行相同步数后还是被kill。查看运行日志,提示内存耗尽被强制终止,所以问题原因是程序出现了内存泄漏。
在MPI程序的main函数中调用MPI_Finalize,程序没有预期退出而是hang住了。用top命令查看,所有MPI进程都在运行并且占用100%的cpu。有人说这是由于部分进程的通信未结束,于是MPI_Finalize卡住,程序也就不会退出。顺着这个线索查看MPI_Finalize的官方文档,确实有这个说法。