提问人:Aaron Wang 提问时间:1/12/2023 最后编辑:Ian BushAaron Wang 更新时间:1/12/2023 访问量:223
“Program received signal SIGSEGV: Segmentation fault - invalid memory reference.”(程序接收信号 SIGSEGV:分段故障 - 内存引用无效)“(当使用大型数组和MPI_BARRIER时)
"Program received signal SIGSEGV: Segmentation fault - invalid memory reference." when using large-size array and MPI_BARRIER
问:
我使用带有 MPI(CRAY 的编译器)的 Fortran 作为我的代码。我使用了 512 个内核,我发现当我的变量超过一定大小时,代码在 MPI_BARRIER 时崩溃,错误消息是
Program received signal SIGSEGV: Segmentation fault - invalid memory reference.
Backtrace for this error:
Program received signal SIGSEGV: Segmentation fault - invalid memory reference.
Backtrace for this error:
Program received signal SIGSEGV: Segmentation fault - invalid memory reference.
Backtrace for this error:
.
.
.
一个可能有用的信息是,我在执行MPI_BARRIER之前打印出一个标签(即 write(,) “tag”),我发现输出的标签数量 (426) 加上重复错误消息的数量 (86) 等于我使用的内核 (512)。
我认为这是内存问题。我使用 slurm 提交我的工作,我记得我尝试过类似“ulimit -s unlimited”(现在找不到网络......)之类的东西,但我无法解决这个问题。
答: 暂无答案
评论
MPI_Barrier