You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

基于PARAMESH的Fortran CFD并行程序OpenMPI异常排查求助

并行CFD程序(基于PARAMESH+MPI)随进程数变化的多类异常排查

我是机械工程从业者,正在基于PARAMESH(集成MPI调用的Fortran并行数据与负载分配库)开发CFD仿真程序。程序在并行运行时出现数据传输错误或各类终止异常,且错误的位置与类型随进程数N变化:

  • N=1:无任何异常;
  • N=2:程序正常终止,但结果数组数据无效,进程0的数据未正确传输至进程1;
  • N=4:执行Fortran allocate 语句时触发malloc()无效大小错误,收到SIGABRT信号;
  • N=6:执行Fortran deallocate 语句时触发段错误(SIGSEGV);
  • N=8/10/12/14/16/32:执行MPI_ALLTOALL时出现free()无效大小、段错误、malloc()缓存块未对齐等多种错误,且commatrix_send变量状态异常。

运行环境:

  • CPU:AMD Ryzen 9 7950X
  • 内存:64GB
  • 系统:Ubuntu 22.04.3 LTS
  • MPI库:OpenMPI 4.1.5
  • 编译器:GCC 11.4.0

已提供OpenMPI配置、编译器选项,以及PARAMESH中REAL类型设置和数据重分布的代码片段,请求排查问题根源。

内容的提问来源于stack exchange,提问作者Andris R.

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.30 07:34:51