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使用mpirun的时候报错

OpenFOAM使用mpirun的时候报错

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

    电脑cpu核数是 112核,但是我使用64并行运算的时候就报了这个错误,希望有人帮忙解答一下怎么修改

    There are not enough slots available in the system to satisfy the 64
    slots that were requested by the application:
    
      overInterDyMFOAM
    
    Either request fewer slots for your application, or make more slots
    available for use.
    
    A "slot" is the Open MPI term for an allocatable unit where we can
    launch a process.  The number of slots available are defined by the
    environment in which Open MPI processes are run:
    
      1. Hostfile, via "slots=N" clauses (N defaults to number of
         processor cores if not provided)
      2. The --host command line parameter, via a ":N" suffix on the
         hostname (N defaults to 1 if not provided)
      3. Resource manager (e.g., SLURM, PBS/Torque, LSF, etc.)
      4. If none of a hostfile, the --host command line parameter, or an
         RM is present, Open MPI defaults to the number of processor cores
    
    In all the above cases, if you want Open MPI to default to the number
    of hardware threads instead of the number of processor cores, use the
    --use-hwthread-cpus option.
    
    Alternatively, you can use the --oversubscribe option to ignore the
    number of available slots when deciding the number of processes to
    launch
    
    1 条回复 最后回复
  • 李东岳李 在线
    李东岳李 在线
    李东岳 管理员
    写于 最后由 编辑
    #2

    加一个 --oversubscribe 参数

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

    C liujmL 2 条回复 最后回复
  • C 离线
    C 离线
    chenboyao
    在 中回复了 李东岳 最后由 编辑
    #3

    @李东岳 好的

    1 条回复 最后回复
  • liujmL 在线
    liujmL 在线
    liujm
    在 中回复了 李东岳 最后由 编辑
    #4

    @李东岳 李老师,请教一个问题。以下这两种并行计算命令的代码,有什么区别呢?--oversubscribe的意义是什么?:xinxin2:

    mpirun -np 32 renumberMesh -overwrite -parallel
    
    mpirun --oversubscribe -np 32 waveFoam -parallel
    
    1 条回复 最后回复
  • 李东岳李 在线
    李东岳李 在线
    李东岳 管理员
    写于 最后由 编辑
    #5

    一般不建议加--oversubscribe,他那个还是有点啥问题才需要加这个。

    另外,你那两行,一个是renumberMesh,一个是waveFoam

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

    liujmL 1 条回复 最后回复
  • liujmL 在线
    liujmL 在线
    liujm
    在 中回复了 李东岳 最后由 编辑
    #6

    @李东岳 嗯嗯,第一行知道什么意思,就是有时候会看到oversubscribe不太理解。

    1 条回复 最后回复
  • zzkluckZ 离线
    zzkluckZ 离线
    zzkluck
    写于 最后由 编辑
    #7

    首先你需要确定下你的机器具体有多少CPU核心,我猜测你CPU实际上是56核112线程——这种制式偶尔也草率地称为112核,或者称为56颗物理核心/112颗逻辑核心。

    mpirun的默认slot数是你的物理核心数量而不是逻辑核心数。考虑到我们的物理核心可能只有56颗,在64并行运算时程序报告not enough slots available是非常合理的。

    在这种情况下,你问题的答案就在错误报告的最后面写着:

    4. If none of a hostfile, the --host command line parameter, or an
         RM is present, Open MPI defaults to the number of processor cores
    
    In all the above cases, if you want Open MPI to default to the number
    of hardware threads instead of the number of processor cores, use the
    --use-hwthread-cpus option.
    
    Alternatively, you can use the --oversubscribe option to ignore the
    number of available slots when deciding the number of processes to
    launch
    

    简单翻译一下:

    情况4:如果没指定远程计算资源,OpenMPI使用本机的处理器核心数作为slots的默认值;

    .....,如果你想要让Open MPI使用硬件线程数(112)代替处理器核心数(56)(作为默认Slot数量),使用--use-hwthread-cpus选项。

    或者,如果你想要在决定的启动的进程数这个问题上忽略可用slot数量,使用--oversubsribe选项。


    这样来看,如果你的CPU确实是56核112线程的话,加一个--use-hwthread-cpus参数是更合适的选项。不过使用超线程会使得加速比下降,也许56并行和64并行也没差多少。

    李东岳李 1 条回复 最后回复
  • 李东岳李 在线
    李东岳李 在线
    李东岳 管理员
    在 中回复了 zzkluck 最后由 编辑
    #8

    @zzkluck :146: :146: :146:

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

    1 条回复 最后回复

  • 登录

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