Abaqus CPU并行计算 加速计算信息汇总
下面是网络上https://www.eng-tips.com/viewthread.cfm?qid=445089的答疑:
In Abaqus CAE, what does it mean Use multiple processors? Does that mean number of processors or number of cores? Meaning if I have a computer with 8 processors and each of them several cores; should I put the number of processors or total number of cores to use? 在Abaqus CAE中,使用多处理器是什么意思?这是指处理器的数量还是核心的数量?这意味着如果我有一台有8个处理器的计算机,每个处理器有多个内核;我应该输入要使用的处理器数量还是内核总数?
答复:Multiple processors in the context of Abaqus usually mean cpu threads.
Lets say you have two physical CPUs with 8 cores each (Intel) with hyperthreading (2 threads per CPU core). That will give you access to 32 threads. It is recommended to disable hyperthreading in BIOS which will give you access to 2 physical CPUs with 8 physical cores and 8 threads = 16 threads. In Abaqus you then set the "cpus" to 16.
I remember reading about hyperthreading when I got my Intel 2600k for my personal PC back in 2012. If you run an application which scales great (Cinebench) then you got (at that time) about 15% increase in rendering performance.
When it comes to implicit analysis, scaling is not perfect. I guess that going from 1 to 2 threads would scale quite good (and 4 to 8 in your case). Double the cores and almost double the performance. Scaling problems are more visible for a higher number of cores. I've heard explicit solution methods scale better.
Another thing which is a big one is the number of license tokens you need to run the job. That increases too with hyperthreading and then your collegues can't run their jobs (license pool). If you pay by the hour for your tokens, it quickly makes financial sense (imo) to get a CPU with enough "real" cores to get the most out of your money in the long run.
Abaqus环境中的多处理器通常意味着cpu线程。假设您有两个物理CPU,每个CPU 8核(Intel),带有超线程(每个CPU核2个线程)。这将允许您访问32个线程。建议在BIOS中禁用超线程,这样可以访问2个物理CPU,其中包含8个物理内核,8个线程=16个线程。在Abaqus中,然后将“CPU”设置为16。(编者注:实际就是逻辑处理器数量。)
我记得我在2012年为我的个人电脑购买了Intel 2600k时读到了有关超线程的内容。如果您运行的应用程序具有很好的可伸缩性(Cinebench),那么您(当时)的渲染性能将提高约15%。
对于隐式分析,缩放并不完美。我想从1到2个线程可以很好地扩展(在您的情况下是4到8)。核心数翻倍,性能几乎翻倍。对于更多的核,缩放问题更为明显。我听说显式解决方案的规模更大。
另一件大事是运行作业所需的许可证令牌的数量。这也会随着超读而增加,然后你的同事就无法运行他们的作业(许可证池)。如果你按小时付费购买代币,那么从长远来看,获得一个具有足够“真实”内核的CPU很快就会有经济意义(imo)。
Similar thing for Use of GPGPU acceleration; If I have only one GPU that I want to use at 100%, with 780 cores, should I put a 1 or 780? GPGPU加速类似;如果我只有一个GPU,我想100%使用780流处理器,我应该写1还是780?
答复:If you have a compatible GPU and the license for it, then its called by the GPU parameter. 1 gpu with 780 cores is called as "gpus=1".如果您有一个兼容的GPU及其许可证,那么它将由GPU参数调用。1个具有780核的gpu称为“gpu=1”。
-
Which Multiprocessing mode would you reccommend for a non linear static analysis? 对于非线性静态分析,您建议采用哪种多重处理模式?
答复:"For both an Abaqus/Standard and an Abaqus/Explicit analysis, you can choose whether the multiprocessing mode should be Default, Threads, or MPI (Message Passing Interface). The default multiprocessing mode is dependent on the platform on which the analysis product executes." 对于Abaqus/标准和Abaqus/显式分析,您可以选择多处理模式是默认、线程还是MPI(消息传递接口)。默认多处理模式取决于分析产品执行的平台
-
In the precision tab, which Nodal output precision do you use? What is the difference between Full and single? 在“精度”选项卡中,您使用哪个节点输出精度?完全和单精度的区别是什么?
答复:"Use the Precision tabbed page to specify either single or double precision for Abaqus/Explicit analyses. You can also choose the precision of nodal output that is written to the output database during the analysis."The precision, I guess, is dependent on your needs. “使用精度选项卡页为Abaqus/显式分析指定单精度或双精度。您还可以选择在分析期间写入输出数据库的节点输出精度。”我想,精度取决于你的需要。
-
Have any of you experienced a great improvement regarding computational time for models of 3-5 Million elements? I have not founf a lot on the internet of people actually achieving a great improvement. 对于300-500万个元素的模型,你们中是否有人在计算时间方面有很大的改进?我在互联网上没有发现人们取得了很大的进步。
答复:Great improvement in solving time by using GPUs? I have not tried to use it.使用GPU在解决时间上有很大的改进?我没有试着使用它。
Is parallelization giving better results in Linux than in Windows? 并行化在Linux中的效果是否比在Windows中更好?
答复:Linux? I haven't compared it to windows when it comes to Abaqus.Linux?谈到Abaqus,我还没有将它与windows进行比较。
Can all the GPUs be used for parallelization (provided they are dedicated GPUs? 所有GPU是否都可以用于并行化(前提是它们是专用GPU)
答复:All GPUs can be used. 可以使用所有GPU。
I've never heard of any difference between Linux and Windows in performance of the solver.
For large models (static analysis in A/Std) it might be worth trying the iterative solver. Especially if the parts are blocky. But there are limitations when features with lagrange multipliers are defined. This cannot be handled in the iterative solver.
For only slightly nonlinear analysis you can activate the quasi-newton method, so the tangent stiffness gets not updated every iteration.
For frequency analysis use the AMS solver.我从来没有听说过Linux和Windows在解算器性能上有什么不同。
对于大型模型(A/Std中的静态分析),可能值得尝试迭代解算器。尤其是如果零件是块状的。但是,定义具有拉格朗日乘子的特征时存在局限性。这无法在迭代解算器中处理。
对于轻微的非线性分析,可以激活拟牛顿法,因此切线刚度不会在每次迭代时更新。
对于频率分析,请使用AMS解算器。
https://appleasks.com/edu/182592.html
透過利用多處理器和GPGPU實現平行計算也是ABAQUS中可以直接設定的加速技巧。對於GPGPU的加速原理則主要是利用了其比CPU強大得多的平行計算能力,配合CPU的邏輯處理能力以達到速度最大化。需要注意的是,ABAQUS中GPGPU只能用於隱式計算,而不能用於顯式。
Abaqus命令行计算及批量计算技巧
https://geomatlab.com/abaqus-job-command/
据说cpu并行对standard的意义不大
https://www.zhihu.com/question/284103461/answer/435364329