Eng-Tips is the largest engineering community on the Internet

Intelligent Work Forums for Engineering Professionals

Abaqus Parallelization.

Status
Not open for further replies.

OscarPacheco

Mechanical
Nov 11, 2015
25
0
0
ES
Good morning to all.

I have some doubts regarding some aspects of parallelization. I read some of the posts regarding this topic on the forum but found different/opposite answers.

- 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?​
- 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?​
- Which Multiprocessing mode would you reccommend for a non linear static analysis?​
- In the precision tab, which Nodal output precision do you use? What is the difference between Full and single?​
- 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.​
- Is parallelization giving better results in Linux than in Windows?​
- Can all the GPUs be used for parallelization (provided they are dedicated GPUs?​


Thank you very much for your help.

Oscar
 
Replies continue below

Recommended for you

Hello,
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.

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".

"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."

"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.

Great improvement in solving time by using GPUs? I have not tried to use it.

Linux? I haven't compared it to windows when it comes to Abaqus.

All GPUs can be used.
 
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.
 
Thank you very much for your answers, they were very illustrative and clarifying.

However, I do not understand yet why it is reccommended to disable Hyperthreading. This is not the first time I read it, I have read it on other posts but havent found a justification for this, just the advice.
At this moment I am running an analysis that it took to run 14000 secs with 4 processors and multythreading, this time with the Hyperthreading disabled. Looking at the .msg file it seems it is going slower than before...

So, why do you reccommend to disable it? Maybe it is not for purely computational time reasons?

Thank you very much.

 
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.
 
Ok, nice, I see. The Hyperthreading is reccommended to deactivate only because:
- It requires more tokens -> more expensive license that is not compensated by the savings in computational time (at least in my case where for an analysis that took 3,8 hours to run with hyperthreading took 4,08 hours without it)
- It consumes more energy.

Thank you very much for your help

 
Status
Not open for further replies.
Back
Top