Navigation

    CFD中文网

    CFD中文网

    • Login
    • Search
    • 最新

    关于并行计算的问题

    OpenFOAM
    关于并行计算的问题
    6
    17
    6034
    Loading More Posts
    • Oldest to Newest
    • Newest to Oldest
    • Most Votes
    Reply
    • Reply as topic
    Log in to reply
    This topic has been deleted. Only users with topic management privileges can see it.
    • X
      xiaofenger last edited by

      大家好,想问一个并行计算的问题,我有一个比如128 core的服务器,我想decomposePar来set up并行计算,但是只能分解出processor0, processor1, processor2, processor3一共四个文件,是不是就应该是这样?还是说我改一下哪里的设置就可以分解成processor0-processor127一共128个分解文件,进而提升计算效率?

      还有,我刚装了下openfoam5.0,之前也装了OpenFOAM4.1,怎样在两者之间切换呢?

      谢谢大家!

      1 Reply Last reply Reply Quote
      • C
        CFDngu last edited by

        decomposeParDict 中把分块数改成你想要的即可,多看看用户手册

        切换of41/of50

        X 1 Reply Last reply Reply Quote
        • X
          xiaofenger last edited by

          多谢回复,能不能具体说一下怎样of41/of5?我输了一下说of41: command not found

          1 Reply Last reply Reply Quote
          • M
            mengweilm425 last edited by

            https://openfoamwiki.net/index.php/Installation/Linux/OpenFOAM-dev/Ubuntu 可以参考第九条 (Save an alias in the personal .bashrc file, simply by running the following command)

            1 Reply Last reply Reply Quote
            • 李东岳
              李东岳 管理员 last edited by

              对,可参考楼上的回答。

              由于这个是个非常普遍的问题,我也添加在了此处:http://dyfluid.com/install.html

              并行计算,论坛搜索下:renumberMesh 可以增加效率。

              CFD高性能服务器 http://dyfluid.com/servers.html

              C 程 2 Replies Last reply Reply Quote
              • X
                xiaofenger last edited by

                谢谢大家回答,非常有用!

                1 Reply Last reply Reply Quote
                • C
                  CFDngu @李东岳 last edited by

                  @李东岳 不过我最近发现,当我添加质量源之后,不知道是不是我程序的问题,有时候renumberMesh之后计算报错,不执行这个命令就可以算,而且结果也是正确的。。

                  1 Reply Last reply Reply Quote
                  • 程
                    程迪 @李东岳 last edited by

                    @李东岳 一直不明白为啥以lduMatrix的数据结构,renumber还能增加效率?

                    如果是带状的diag band结构,renumber增加效率是合理的。但是ldu不应该呀。

                    renumber是针对那部分算法有加速作用的?我想应该不会是matrix vector product.

                    github: chengdi123000
                    网站:chengdi123000.github.io
                    本作品采用知识共享署名-非商业性使用-相同方式共享 4.0 国际许可协议进行许可。

                    X 1 Reply Last reply Reply Quote
                    • X
                      xpqiu 教授 @程迪 last edited by xpqiu

                      @程迪 原理我也不太清楚,但是 renumberMesh 确实能加速收敛,减少迭代需要的次数,尤其是在程序刚开始跑起来的时候。可能是因为 band 更小的矩阵收敛会更快,跟矩阵存储的数据结构无关?

                      程 2 Replies Last reply Reply Quote
                      • 程
                        程迪 @xpqiu last edited by

                        @xpqiu
                        线性代数告诉我们,reorder不改变特征值...

                        github: chengdi123000
                        网站:chengdi123000.github.io
                        本作品采用知识共享署名-非商业性使用-相同方式共享 4.0 国际许可协议进行许可。

                        1 Reply Last reply Reply Quote
                        • X
                          xiaofenger @CFDngu last edited by

                          @CFDngu 请问有没有什么规则来决定应该分多少块?是不是四核就只能分4块?还是说分的越多越好?

                          程 1 Reply Last reply Reply Quote
                          • 程
                            程迪 @xiaofenger last edited by

                            @xiaofenger
                            标准的并行程序做法应该是有多少numa块,分成多少块。

                            考虑OpenFOAM一般没有开启OpenMP,有多少核分多少块吧。

                            github: chengdi123000
                            网站:chengdi123000.github.io
                            本作品采用知识共享署名-非商业性使用-相同方式共享 4.0 国际许可协议进行许可。

                            X 1 Reply Last reply Reply Quote
                            • 程
                              程迪 @xpqiu last edited by

                              @xpqiu
                              https://www.cfd-online.com/Forums/openfoam/191055-why-renumbering-works-ldumatrix.html#post658931
                              Jasaki 说是因为增加了cache命中率,固定点迭代也改善了单元周围update的单元。

                              github: chengdi123000
                              网站:chengdi123000.github.io
                              本作品采用知识共享署名-非商业性使用-相同方式共享 4.0 国际许可协议进行许可。

                              1 Reply Last reply Reply Quote
                              • X
                                xiaofenger @程迪 last edited by

                                @程迪 我在四核八线程的电脑上装了virtualbox, 然后给Ubuntu虚拟机分了2个CPU,这样应该decompose成两块?只分成两块会比一整块有大的速率提升吗?

                                程 1 Reply Last reply Reply Quote
                                • 程
                                  程迪 @xiaofenger last edited by

                                  @xiaofenger

                                  分两块,应该有大的提升。

                                  github: chengdi123000
                                  网站:chengdi123000.github.io
                                  本作品采用知识共享署名-非商业性使用-相同方式共享 4.0 国际许可协议进行许可。

                                  1 Reply Last reply Reply Quote
                                  • 李东岳
                                    李东岳 管理员 last edited by 李东岳

                                    如果是带状的diag band结构,renumber增加效率是合理的。但是ldu不应该呀。

                                    在Numerical Recipes in C++上面有提及部分矩阵reordering和并行技术,Yoosf Saad那本稀疏线性系统有大量的论述,目前暂时了解不是很深如。不过我确定对于非结构网格离散后的矩阵不一定是比较窄的带状的。并且reNumberMesh是在分配矩阵操作之前。可以理解为对某些网格导致比较宽的离散矩阵进行预先操作,降低带宽。具体降低带宽后如何提高迭代求解还得看资料。

                                    CFD高性能服务器 http://dyfluid.com/servers.html

                                    程 1 Reply Last reply Reply Quote
                                    • 程
                                      程迪 @李东岳 last edited by

                                      @李东岳
                                      NPC++没有提ldu结构,ldu结构reorder不减少matrix-vector product的操作次数。所以加速只可能来源于两点:更高的cache命中率(同样数量的操作,更快的执行速度)和更高的迭代效率(比如GS迭代,或许reorder之后的GS迭代矩阵的谱半径更小)。

                                      对于纯粹的Krylov型求解器应该只有第一点。

                                      github: chengdi123000
                                      网站:chengdi123000.github.io
                                      本作品采用知识共享署名-非商业性使用-相同方式共享 4.0 国际许可协议进行许可。

                                      1 Reply Last reply Reply Quote
                                      • First post
                                        Last post

                                      CFD中文网 | 东岳流体 | 京ICP备15017992号-2
                                      论坛登录问题反馈可联系 li.dy@dyfluid.com