Skip to content
  • 最新
  • 版块
  • 东岳流体
  • 随机看[请狂点我]
皮肤
  • Light
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Dark
  • Cyborg
  • Darkly
  • Quartz
  • Slate
  • Solar
  • Superhero
  • Vapor

  • 默认(不使用皮肤)
  • 不使用皮肤
折叠
CFD中文网

CFD中文网

  1. CFD中文网
  2. OpenFOAM
  3. 超算上并行计算问题

超算上并行计算问题

已定时 已固定 已锁定 已移动 OpenFOAM
7 帖子 3 发布者 5.1k 浏览
  • 从旧到新
  • 从新到旧
  • 最多赞同
回复
  • 在新帖中回复
登录后回复
此主题已被删除。只有拥有主题管理权限的用户可以查看。
  • 小 离线
    小 离线
    小考拉
    写于 最后由 编辑
    #1

    各位前辈好!

    自己现在在学校的超算系统上跑case,调用了自己账户下面安装的of3.0的compressibleInterFoam(自己修改了求解器里面的部分代码),并行计算调用了openmpi 2.1.5,但并行计算经常会突然出现下面这个错误

    A process has executed an operation involving a call to the
    "fork()" system call to create a child process.  Open MPI is currently
    operating in a condition that could result in memory corruption or
    other system errors; your job may hang, crash, or produce silent
    data corruption.  The use of fork() (or system() or other calls that
    create child processes) is strongly discouraged.
    
    The process that invoked fork was:
    
      Local host:          [[37777,0],5] (PID 31599)
    
    If you are *absolutely sure* that your application will successfully
    and correctly survive a call to fork(), you may disable this warning
    by setting the mpi_warn_on_fork MCA parameter to 0.
    --------------------------------------------------------------------------
    [5] #0  Foam::error::printStack(Foam::Ostream&) at ??:?
    [5] #1  Foam::sigSegv::sigHandler(int) at ??:?
    [5] #2  ? in "/lib64/libc.so.6"
    [5] #3  ? at btl_vader_component.c:?
    [5] #4  opal_progress in "/software/openmpi/2.1.5/lib/libopen-pal.so.20"
    [5] #5  ompi_request_default_wait_all in "/software/openmpi/2.1.5/lib/libmpi.so.20"
    [5] #6  PMPI_Waitall in "/software/openmpi/2.1.5/lib/libmpi.so.20"
    [5] #7  Foam::UPstream::waitRequests(int) at ??:?
    [5] #8  Foam::lduMatrix::updateMatrixInterfaces(Foam::FieldField<Foam::Field, double> const&, Foam::UPtrList<Foam::lduInterfaceField const> const&, Foam::Field<double> const&, Foam::Field<double>&, unsigned char) const at ??:?
    [5] #9  Foam::lduMatrix::Amul(Foam::Field<double>&, Foam::tmp<Foam::Field<double> > const&, Foam::FieldField<Foam::Field, double> const&, Foam::UPtrList<Foam::lduInterfaceField const> const&, unsigned char) const at ??:?
    [5] #10  Foam::PCG::solve(Foam::Field<double>&, Foam::Field<double> const&, unsigned char) const at ??:?
    [5] #11  Foam::GAMGSolver::solveCoarsestLevel(Foam::Field<double>&, Foam::Field<double> const&) const at ??:?
    [5] #12  Foam::GAMGSolver::Vcycle(Foam::PtrList<Foam::lduMatrix::smoother> const&, Foam::Field<double>&, Foam::Field<double> const&, Foam::Field<double>&, Foam::Field<double>&, Foam::Field<double>&, Foam::Field<double>&, Foam::Field<double>&, Foam::PtrList<Foam::Field<double> >&, Foam::PtrList<Foam::Field<double> >&, unsigned char) const at ??:?
    [5] #13  Foam::GAMGPreconditioner::precondition(Foam::Field<double>&, Foam::Field<double> const&, unsigned char) const at ??:?
    [5] #14  Foam::PCG::solve(Foam::Field<double>&, Foam::Field<double> const&, unsigned char) const at ??:?
    [5] #15  Foam::fvMatrix<double>::solveSegregated(Foam::dictionary const&) at ??:?
    [5] #16  Foam::fvMatrix<double>::solve(Foam::dictionary const&) at ??:?
    [5] #17  ? at ??:?
    [5] #18  __libc_start_main in "/lib64/libc.so.6"
    [5] #19  ? at ??:?
    srun: error: n0025: task 5: Segmentation fault
    

    仔细检查发现流场没有问题,怀疑是超算并行的问题,换节点和分区依然没有什么效果,

    请问大家用超算的时候有没有出现过类似的错误呢?难道是我自己在账户下面安装的of3.0哪里出了问题吗?

    1 条回复 最后回复
  • 小 离线
    小 离线
    小考拉
    写于 最后由 编辑
    #2

    麻烦哪位好心人给一下openfoam3.0.0的安装包呢?官网上竟然下载不了,谢谢

    1 条回复 最后回复
  • 李东岳李 在线
    李东岳李 在线
    李东岳 管理员
    写于 最后由 李东岳 编辑
    #3

    你这个是发散了啊,为什么要重新安装openfoam呢

    另外,https://github.com/OpenFOAM/OpenFOAM-3.0.x 这个不可以下载么

    http://dyfluid.com/index.html
    需要帮助debug算例的看这个 https://cfd-china.com/topic/8018

    小 1 条回复 最后回复
  • 小 离线
    小 离线
    小考拉
    在 中回复了 李东岳 最后由 编辑
    #4

    @东岳 感谢东岳老师的回复,但我看了一下流场,不管是速度 压力 还是温度,都是正常的呀,为什么老师您说是发散了呢?

    李东岳李 1 条回复 最后回复
  • 李东岳李 在线
    李东岳李 在线
    李东岳 管理员
    在 中回复了 小考拉 最后由 编辑
    #5

    @小考拉 只不过是输出的最后一个时间步正常的,但没准再算10个时间步就发散了 :chigua:

    http://dyfluid.com/index.html
    需要帮助debug算例的看这个 https://cfd-china.com/topic/8018

    1 条回复 最后回复
  • 吴 离线
    吴 离线
    吴优
    写于 最后由 编辑
    #6

    你可以试一下这里面的方法链接文本,这个报错一般就是指你的算例发散了,这个方法有可能会让你多算几步,但如果计算本身是发散的,你检查log文件时还是会看到发散的结果。这种发散有可能是超算本身的问题,我之前用超算算过一个算例的不同工况,但是总有一些特定的工况在超算上会报fork error,但是在我的台式机里就没有问题。你最好先在自己的设备里完整运行一遍,确定是不是发散的问题。

    1 条回复 最后回复
  • 小 离线
    小 离线
    小考拉
    写于 最后由 编辑
    #7

    好的,我去试一试,谢谢前辈指点:chigua:

    1 条回复 最后回复

  • 登录

  • 登录或注册以进行搜索。
  • 第一个帖子
    最后一个帖子
0
  • 最新
  • 版块
  • 东岳流体
  • 随机看[请狂点我]