注册 登录
Simwe仿真论坛(forum.simwe.com),CAE/CAD/CAM/,FEA/FEM/有限元分析论坛---(手机验证注册) 返回首页

lanyu_flypig的个人空间 https://home.simwe.com/?171554 [收藏] [复制] [分享] [RSS]

日志

ANSYS9.0并行计算(Parallel Performance for ANSYS9.0)

已有 645 次阅读2009-2-27 17:00 |个人分类:ANSYS并行求解|

1.写在前面的话 
  有限元建模越简单越合理越好,能用一维单元绝对不用二维单元,能用二维单元绝对不用三维单元,线性问题绝对不搞非线性。 
把模型合理的简单化,才能抓住问题的本质,才能正确解释有限元计算结果,同时也才能把有限的资源用在刀口上。 
  但是有些问题的物理本质决定了必须占用大量的计算资源和耗费大量的计算时间,比如弹性波动问题(Elastic Wave Propagation)。 
  这时,采用并行计算确实能够加快计算速度,有效解决问题。 
  并行计算支持的类型(ANSYS9.0)包括结构静力线性非线性分析、瞬态(Full模式)分析、热分析,这里特别指出不支持模态分析。 
2.ANSYS并行计算的几种模式 
  ANSYS并行计算可以分为“share memory”和“distributed memory”两种形式。“share memory”是共享内存式并行计算,指单机多CPU的并行计算。“distributed memory”是分布内存式并行计算,指多个机器的并行计算。 这里我讲的并行计算是指“distributed memory”形式。
  “run distributed ansys”和“run distributed solvers within ansys”是ANSYS9.0 launcher中的术语,我不知道ANSYS8.1和ANSYS10.0中的确切术语,借用ANSYS9.0的。
   ANSYS8.1的并行计算模式是“run distributed solvers within ansys”。主机(master)建好模型组建各矩阵后,主机、从机(slaves)一道求解方程组。
   ANSYS9.0的并行计算模式有“run distributed ansys”和“run distributed solvers within ansys”两种。它更像是一个8.1和10.0之间的过渡产品,“run distributed ansys”是推出ANSYS9.0时的一个亮点。“run distributed ansys”是一种完全的并行计算("You can run the entire model using Distributed ANSYS."),包括矩阵生成、方程求 解、结果计算都是并行的。“run distributed ansys”能够使计算速度加快很多很多!
   ANSYS10.0的并行计算模式是“run distributed ansys”。
3.ANSYS9.0并行计算前的准备工作 
  各机器要联局域网,能互访共享文件夹。 
  各机器的ansys安装路径相同(我没有尝试过不同路径的情况)。 
  安装mpich,安装文件在C:\Program Files\Ansys Inc\v90\ANSYS\MPICH中(每台安装ansys的机器上肯定有,不要来找我要了)。 
  各机器添加相同名字的管理员用户,保证在各机器上的该用户都能正常使用ansys。 
  各机器的ansys的工作路径相同。 
  注意各机器的防火墙要关好。 
  如果你想进行“run distributed solvers within ansys”,请严格按照luoriming的“ansys8.1并行计算指南”(http:///cgi-bin/ut/topic_show.cgi?id=123380&h=1#571295)进行各机器配置和测试。这里要强调的是,luoriming的“ansys8.1并行计算指南”主要针对“run distributed solvers within ansys”,但也适用于 ANSYS9.0。ANSYS9.0可以进行GUI和BATCH的“run distributed solvers within ansys”。 
  如果你想进行“run distributed ansys”,请在主机的工作路径(或home directory或apdl directory)下添加hosts90.ans文件(参看“ansys8.1并行计算指南”)。这里要强调的是,ansys9.0只测试了BATCH方式的“run distributed ansys”,在运行时看不到ansys GUI界面,只能在各机器的进程中看到ansys.exe在运行。诸位如果找到GUI运行“run distributed ansys”的方法,请告诉我和luoriming,先谢谢大家! 
  BATCH方法是指做一个后缀名为bat的文件,然后直接点击这个文件运行ansys并计算。其内容可由launcher中的tools/display command line获得。先在launch里选好"Parallel Performance for ANSYS"。在customization中的additional parameters后填写“-i "G:\ test\runtime.txt" -o "G:\test\runtime.out"”,"G:\test\runtime.txt"是你的命令流文件,"G:\test\runtime.out"是一个运行后生成的文件,与GUI中的output windows内容大致相同。在solver setup里选好“run distributed ansys”,MPI type选“MPICH”,下面的框框里选“use multiple hosts”,并加好hosts。这时点击tools/display command line,将command line里的字全部copy到一个bat文件中。注意一定要把其中“…-dis -mpi MPICH…”改为“ …-mpi MPICH -dis…”,否则“一闪而过”不会进行计算(这里好奇怪哦!)。前面说的不能以GUI方式运行“run distributed ansys”,就是这种“一闪而过”的症状。 
4.ANSYS9.0并行计算的测试结果 
  在局域网上的两台机器上测试了ansys9.0的并行计算。
硬件:机器A CPU 2*intel(R)xeon(TM)3.06GHz Memory 3.37G;机器B CPU Pentium(R)3.0GHz Memory 504M 
网络:10Mb/sec 
命令流:见附件runtime.txt 
  a.机器A为主机,机器B为从机。 
单机单CPU,仅机器A,机器B不参与。采用省却的Sparse算法器,计算时间11min。 
单机双CPU(“share memory”方式),仅机器A,机器B不参与。采用省却的Sparse算法器,计算时间8min。 
双机三CPU。采用DPCG算法器,进行“run distributed solvers within ansys”,计算时间6min。 
双机三CPU。采用DPCG算法器,进行“run distributed ansys”,计算时间5min。 
  b.机器B为主机,机器A为从机。 
单机单CPU,仅机器B,机器A不参与。采用省却的Sparse算法器,计算时间27min。 
双机三CPU。采用DPCG算法器,进行“run distributed solvers within ansys”,计算时间14min。 
双机三CPU。采用DPCG算法器,进行“run distributed ansys”,计算时间8min。

路过

雷人

握手

鲜花

鸡蛋

发表评论 评论 (1 个评论)

回复 zhweizi 2009-11-8 16:47
以前在钢结构论坛上也见到过这个帖子的,呵呵
ANSYS若干个版本的分布式并行都试过,出乎意料的是,和宣传的不相符,我在试算时计算效率并没有显著提高,相反有时时间还会增加。网络是千兆的,通信速度不应该是瓶颈。道理怎么也想不明白,晕死。。。

facelist doodle 涂鸦板

您需要登录后才可以评论 登录 | 注册

Archiver|小黑屋|联系我们|仿真互动网 ( 京ICP备15048925号-7 )

GMT+8, 2024-4-20 16:31 , Processed in 0.022824 second(s), 14 queries , Gzip On, MemCache On.

Powered by Discuz! X3.5 Licensed

© 2001-2024 Discuz! Team.

返回顶部