zoukankan      html  css  js  c++  java
  • mfix mpi并行死锁问题探究

    目前还没找到具体原因,只能先记录一下。(问题原因找到了)

    分别用ubuntu14.04和ubuntu16.04测试,用的是笔记本,笔记本为双核四线程,用2线程并行计算;发现ubuntu16.04会在0.28057s时刻出现死锁,而ubuntu14.04在0.28057s时刻则会出现掉线程的问题:

    上面是ubuntu16.04

    上面是ubuntu14.04

    但是,ubuntu16.04如果继续计算,会在后面依然出现死锁的情况,而ubuntu14.04继续计算以后则不会出现问题。

    对于新安装的win10系统,ubuntu只有16.04版本,无法再安装14.04,经过尝试,发现可以选择debian作为替代,商店里搜索WSL就能看到,看起来debian似乎更加稳定一些。所有编译工具也推荐都用命令安装的版本,并且由于debian默认python和ssh是不安装的,记得手动安装,下面这些安装命令依次执行即可:

    sudo apt install gcc gfortran make g++
    sudo apt install libopenmpi-dev openmpi-bin # For DMP
    sudo apt-get install python #debian和ubuntu有时候默认不安装
    sudo apt-get install ssh #debian默认不安装

    ---------------------------------------------------------------------------------------------------

    2018.4.16

    今天增大反应速率计算又出现掉线程的问题,于是在追踪问题的过程中发现一些技巧。

    为了在一次掉线程以后快速复现问题,可以把dat里的RES_DT设置小一些,比如0.001。因为*.RES文件是用来给restart的时候用的,如果保存太大,restart的时候可能得从很久之前开始算。

    通过反复restart,发现每次都在0.28s左右出现掉线程的问题,而且并没有不收敛相关错误。但是还是下意识把步长从0.0001改为0.00005,发现居然度过了那一段出问题的区间。问题解决!!

    The devil is in the detail.

  • 相关阅读:
    样式超出设定宽度显示显示省略号
    客户端存在潜在危险request.from
    MenuStrip如何设置快捷键
    SVN的使用方法
    长串英文字符不换行的解决办法
    thickbox使用
    System.Web.UI.UserControl”,因此此处不允许
    C#中实现拖动无边框Form窗体和窗体的起始位置
    (转)Altera Forum精彩问答汇总
    (转)如何以32 bit的方式存取SDRAM?
  • 原文地址:https://www.cnblogs.com/Jay-CFD/p/8849336.html
Copyright © 2011-2022 走看看