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多个并行算例同时运行导致计算效率下降

OpenFOAM多个并行算例同时运行导致计算效率下降

已定时 已固定 已锁定 已移动 OpenFOAM
25 帖子 6 发布者 20.2k 浏览
  • 从旧到新
  • 从新到旧
  • 最多赞同
回复
  • 在新帖中回复
登录后回复
此主题已被删除。只有拥有主题管理权限的用户可以查看。
  • C 离线
    C 离线
    cccrrryyy 超神
    在 中回复了 wwzhao 最后由 编辑
    #10

    @wwzhao 还有这种操作,学习了学习了,这几天试试!

    I don't want to survive, I want to thrive.

    1 条回复 最后回复
  • 史 离线
    史 离线
    史浩 神
    在 中回复了 wwzhao 最后由 编辑
    #11

    @wwzhao 请问怎么用-bind-to-core来分配并行计算核心?我运行了下面的命令

    mpirun -np 4 xxxFoam -parallel --bind-to-core
    

    系统提示错误

    invalid option: --bind-to-core
    

    这么命令该怎么用?

    让我们随波逐流

    W 1 条回复 最后回复
  • W 离线
    W 离线
    wwzhao 超神
    在 中回复了 史浩 最后由 编辑
    #12

    @史浩 mpirun --version 查看版本,openmpi 1.4 以上才支持这个参数,参考 https://www.open-mpi.org/faq/?category=tuning#using-paffinity-v1.4

    史 1 条回复 最后回复
  • 史 离线
    史 离线
    史浩 神
    在 中回复了 wwzhao 最后由 编辑
    #13

    @wwzhao OpenFOAM里面自带的是1.10.4版本,可以在help中有这个选项,我就试了一下。电脑有52个节点,我想挂满,所以想捯饬一下,让并行的时候不要重复分配计算核心

    让我们随波逐流

    W 1 条回复 最后回复
  • W 离线
    W 离线
    wwzhao 超神
    在 中回复了 史浩 最后由 编辑
    #14

    @史浩 把 --bind-to-core 放到 -np 前面:

    mpirun --bind-to-core -np 4 xxxFoam -parallel
    
    史 1 条回复 最后回复
  • 史 离线
    史 离线
    史浩 神
    在 中回复了 wwzhao 最后由 编辑
    #15

    @wwzhao 可以了,流弊~(说脏话会不会被禁言?害怕~~~)还有一个问题,我怎么通过查看计算的时候占用了哪些核心?

    让我们随波逐流

    W 1 条回复 最后回复
  • W 离线
    W 离线
    wwzhao 超神
    在 中回复了 史浩 最后由 编辑
    #16

    @史浩 在终端里输入top,然后按 1 就可以查看 CPU 核心使用情况。

    史 1 条回复 最后回复
  • 史 离线
    史 离线
    史浩 神
    在 中回复了 wwzhao 最后由 编辑
    #17

    @wwzhao 用了一下这个命令,但是每个算例并没有重新分布在不同的计算核心上,而是集中在了4个计算核心上,然后计算效率非常的低。好像不是这个命令

    让我们随波逐流

    W 1 条回复 最后回复
  • W 离线
    W 离线
    wwzhao 超神
    在 中回复了 史浩 最后由 编辑
    #18

    @史浩 你的机器是不是只有4个core。。。

    史 1 条回复 最后回复
  • 史 离线
    史 离线
    史浩 神
    在 中回复了 wwzhao 最后由 编辑
    #19

    @wwzhao 不是,有52个

    让我们随波逐流

    1 条回复 最后回复
  • S 离线
    S 离线
    Sloan
    写于 最后由 编辑
    #20

    @史浩 @wwzhao @cccrrryyy 问个小问题,我的笔记本8 cores,跑并行计算的话,是不是用够8个了就不能再用了,比如只能跑4个算例每个用2个core?但是不指定并行计算的话,是不是跑的算例就能超过8个, 只不过速度会慢。谢谢!

    C 史 2 条回复 最后回复
  • C 离线
    C 离线
    cccrrryyy 超神
    在 中回复了 Sloan 最后由 编辑
    #21

    @Sloan 一般不建议同时进行多个并行计算的算例,这样会很拖速度。有8个核就一次用8个跑一个,再接着跑下一个,这样速度实际上是快的。不知道有没有方法可以指定让某几个核去跑一个算例另外几个核去跑另外一个算例,有哪位知道可以传授传授~

    指定或者不指定并行计算原则上对能同时算多少个算例应该没有区别,指定并行计算可能也能8个核但是跑10个2个核的算例,但那样会非常非常非常慢的,慢到真的要怀疑人生。:zoule:

    I don't want to survive, I want to thrive.

    S 1 条回复 最后回复
  • S 离线
    S 离线
    Sloan
    在 中回复了 cccrrryyy 最后由 编辑
    #22

    @cccrrryyy 好的好的,谢谢回复!看来还是得硬件强大才行,等计算结果再调试,很是折磨:zoule:

    1 条回复 最后回复
  • 史 离线
    史 离线
    史浩 神
    在 中回复了 Sloan 最后由 编辑
    #23

    @Sloan 如果你电脑是8个核心的话,建议用7个核心就,留一个给系统
    @cccrrryyy OpenFOAM会自动选择空闲的核心进行计算,只有当核心全部占用的时候才会重复选择。要注意的是,现在的服务器和电脑一般都会用超线程技术,即一个物理核心在系统里面会被认为是两个核心。当多个算例同时运行的时候,OpenFOAM可能选择一个物理核心上的两个线程进行计算,而其余的物理核心空闲,而这样会导致计算效率的下降。为了提高计算效率,建议关闭超线程。OpenFOAM中可以指定核心,这个在mpirun的命令参数里可以指定,我见过这些命令,但是没系统的用过

    让我们随波逐流

    C S 2 条回复 最后回复
  • C 离线
    C 离线
    cccrrryyy 超神
    在 中回复了 史浩 最后由 编辑
    #24

    @史浩 线程那东西说实话我一直搞不懂,但是我自己试过,超线程确实会拖速度。原来是mpirun里面指定,学习了!

    I don't want to survive, I want to thrive.

    1 条回复 最后回复
  • S 离线
    S 离线
    Sloan
    在 中回复了 史浩 最后由 编辑
    #25

    @史浩 嗯嗯,好的,很详细了,谢谢您的回复!我看看mpi里的参数设置,琢磨下看看

    1 条回复 最后回复

  • 登录

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