|
[Sponsors] |
Problem of running Fluent on multiple CPUs/nodes |
|
LinkBack | Thread Tools | Search this Thread | Display Modes |
October 29, 2019, 08:23 |
Problem of running Fluent on multiple CPUs/nodes
|
#1 |
New Member
Henry
Join Date: Oct 2019
Posts: 16
Rep Power: 7 |
I have a workstation with two CPUs and each CPU has 18 cores and 36 threads, so the machine has a total of 36 cores and 72 threads. When I run ANSYS Fluent using 32 process on my Windows 10 64-bit system by clicking "Fluent launcher -> Processing Options -> Parallel (Local Machine) ->32 Processes", the case can be allocated to 32 threads on one CPU, as observed from Windows Task Manager. However, when I type 64 on the "Processes" tab in Fluent launcher as described before, the case is still just allocated to 32 threads on a single CPU. Could anyone tell me why does this happen and how to solve the problem?
BTW, I am totally fresh to parallel computing and still confused about the relation between "compute node" and number of CPUs. Seen from Windows Task Manager (snapshot as attached), my workstation has two so-called "Node" and each node has 36 CPUs. Thus I guess the "Node" here refers to the fact that my workstation has two distinct Intel Xeon CPUs, and "CPU" here actually refers to the fact that each Intel CPU has 36 threads? How could I confirm the number of compute node and its correspondences with CPUs on my workstation? |
|
October 29, 2019, 09:43 |
|
#2 |
Senior Member
Join Date: Aug 2014
Location: Germany
Posts: 292
Rep Power: 14 |
Hi Henry,
in your screenshots it says 2 sockets and as you wrote every socket has 18 physical cores. I would recommend to switch off Virtualisation (aka virtual doubling of cores) because this shows no fundamental improvement in most CFD related situations (at least that's what i've read on this forum) and makes things a bit more confussing. Regarding the problem with 64 Cores: Do you have a licence for 64 cores? Usally if you have two CPUs sitting on the same workstation it should be no problem to use all cores under Fluent. Last edited by BlnPhoenix; October 30, 2019 at 08:36. |
|
October 29, 2019, 16:57 |
|
#3 |
Senior Member
Lucky
Join Date: Apr 2011
Location: Orlando, FL USA
Posts: 5,751
Rep Power: 66 |
I don't know what information is in your loaded screenshot except processor information.
You have two sockets (two Xeon Gold 6139's), each with 18 thingies that are hyperthreaded to 36. This means you should be able to run Fluent with up to 72 Fluent processes. Which thingies the Fluent processes are assigned to are handled by the job scheduler. If you have basic Windows, you have no control over this. If you are using a windows job scheduler (HPC Windows version) then it's a little different. Any error messages and so on? You could just be out of licenses or something. I don't know. Give us some info. |
|
October 29, 2019, 22:26 |
|
#4 |
New Member
choi
Join Date: Oct 2014
Posts: 1
Rep Power: 0 |
I recommend to turn off the function of hyperthreading on your workstation BIOS. this is not effective heavy calculation like Ansys fluent.
this is can make the CPU allocation problems. |
|
October 30, 2019, 05:12 |
|
#5 | |
New Member
Henry
Join Date: Oct 2019
Posts: 16
Rep Power: 7 |
Quote:
Under this limitation, it seems the best option is to turn off hyperthreading in BIOS? May I ask how hyperthreading affects FLUENT performance? Is there any comparison between, say, 16 physical cores with hyperthreading on versus off for FLUENT parallel computing? |
||
October 30, 2019, 05:43 |
|
#6 | |
Senior Member
Join Date: Aug 2014
Location: Germany
Posts: 292
Rep Power: 14 |
Quote:
Yes one Thread is definitly slower than one core. When you have limited licences Hyperthreading is not a good option. There has been some discussion on here. You will find information on this subject. Regards |
||
October 30, 2019, 10:27 |
|
#7 |
Senior Member
Lucky
Join Date: Apr 2011
Location: Orlando, FL USA
Posts: 5,751
Rep Power: 66 |
Hyperthreading isn't necessarily your problem if all you have is a licensing problem preventing you from running 36 processes. But Hyperthreading is bad because:
1) licenses are extremely limited and most people are not luxurious enough to have licenses just laying around. You/someone is paying big bucks for them. They're also usually shared. You using more licenses than needed is screwing someone else over. 2) It is obsolete on newer systems, but bad job schedulers would lead to less than ideal scenarios where the physical cores would not be saturated. Instead, one logical and one virtual core thread being assigned to the same physical core, slowing down the entire simulation immensely (by pretty much 50%). If you can avoid this scenario, it's not that bad. And this was only an issue in the earliest days of multi-core. Job schedulers are smart now and can distinguish which threads are running on which cores. 3) computation speed already does not scale linearly with number of Fluent processes and increased overhead means more memory (RAM) is needed. |
|
October 30, 2019, 10:38 |
|
#8 | |
New Member
Henry
Join Date: Oct 2019
Posts: 16
Rep Power: 7 |
Quote:
|
||
October 30, 2019, 10:41 |
|
#9 | |
New Member
Henry
Join Date: Oct 2019
Posts: 16
Rep Power: 7 |
Quote:
May I ask in what scenarios are hyperthreading be beneficial? For scientific computing (such as running Fluent or CFD in parallel), is hyperthread bad in general? |
||
October 30, 2019, 11:28 |
|
#10 | |
Senior Member
Lucky
Join Date: Apr 2011
Location: Orlando, FL USA
Posts: 5,751
Rep Power: 66 |
Hyperthreading accelerates CPU execution, it doesn't increase bandwidth.
Hyperthreading is great when the problem is scalable and you can have multiple threads that can execute independently from one another for a long time. A nice check is whether asynchronous cloud-computing is applicable. If the problem can be computed in a cloud-like way, hyperthreading tends to be great. Most computing fields fall into this category... but not CFD. In CFD we partition different parts of the mesh onto each process, but then there is shared boundary data that must be passed between processes. And this happens predictably... every iteration needs to be synchronized. The calculation cannot continue until this update finishes. This part is bandwidth limited. Quote:
Last edited by LuckyTran; November 1, 2019 at 11:24. |
||
November 1, 2019, 01:47 |
|
#11 |
New Member
Henry
Join Date: Oct 2019
Posts: 16
Rep Power: 7 |
If the parallel license is limited to 32 processes, does that mean I can use a maximum of 16 physical CPU cores with hyperthreading on? Or in another word, Is the virtual CPU (turned on by hyperthreading) treated the same as one physical CPU in terms of occupying the process limit by ANSYS license?
|
|
November 1, 2019, 11:20 |
|
#12 | ||
Senior Member
Lucky
Join Date: Apr 2011
Location: Orlando, FL USA
Posts: 5,751
Rep Power: 66 |
Quote:
Quote:
This is actually a different question but yes. Ansys doesn't distinguish whether the CPU's these run on are physical or virtual hyperthreaded ones and counts them the same. Heck Ansys doesn't even care how many number of cores you even have. Ansys launches however many threads you specify in # of processes. If you specify 1000, it will launch 100 threads (and ask for 100 licenses) even if you have a single core CPU. |
|||
May 22, 2020, 05:20 |
|
#13 | |
New Member
Khan
Join Date: Sep 2019
Location: India
Posts: 25
Rep Power: 7 |
Quote:
I have opened 'setup' in a Fluent file in Ansys workbench 18.1, with 20 cores (I have a workstation with 2 sockets and 16 cores in each socket). We have institute-wide license for ansys academic research. I was able to successfully run the simulation and save the solution and exit. Next time, once when I opened the same file, an error message came as, "Unable to spawn node: license not available. ANSYS LICENSE MANAGER ERROR:Not enough Fluent - HPC licenses 20/16. Hit return to exit." This did not happened before when I tried to open this same file. This problem did not arise when opening those fluent files which were setup with 16 cores or less. 1. Can you please point out what the problem could be and how to solve it? 2. Is it possible to open this fluent file with just 8 cores (for example) to see results, even though it was started with 20 cores when setting the problem in it? Thank you. |
||
May 22, 2020, 06:40 |
Parallel Fluent
|
#14 |
Senior Member
|
A case is neither parallel nor serial. It's the Fluent session that is parallel or serial. You can open any case on any number of cores or in serial, provided the machine is capable.
Since you might not be the only user at your institute, expected number of licenses may not be available at all times.
__________________
Regards, Vinerm PM to be used if and only if you do not want something to be shared publicly. PM is considered to be of the least priority. |
|
May 22, 2020, 08:15 |
|
#15 | |
New Member
Khan
Join Date: Sep 2019
Location: India
Posts: 25
Rep Power: 7 |
Quote:
1. I am able to immediately open another file which uses less than or equal to 16 cores. I am also able to open two files simultaneously that use 20 cores cumulatively. But, not able to open a single Fluent file (whether new one or already solved one) that has 20 cores. So, does a license availability issue restricts number of cores per simulation? 2. Yes, it is possible to open 'setup' with any number of cores but then solved data in 'solution' will be lost. Is there a way to just transfer the solved data from a previous Fluent file into a new Fluent file, in ansys workbench. I am not uploading job script to the cluster but creating multiple fluent files in a workbench project, in my own workstation. Thanks a lot for your response. |
||
May 22, 2020, 09:30 |
Fluent in WB
|
#16 |
Senior Member
|
I didn't realize you could be using Fluent within WB. For that, right click on Solution, select Properties, and then change number of cores. A better alternative is to open Fluent stand-alone, i.e., outside WB and then read case and data files.
Licensing does not restrict number of cores per simulation, however, each Fluent license has four inbuilt cores. So, to run two simulations with 10 core each, you need 12 hpc licenses, however, to run one simulation in 20 cores, you require 16 hpc licenses.
__________________
Regards, Vinerm PM to be used if and only if you do not want something to be shared publicly. PM is considered to be of the least priority. |
|
May 22, 2020, 21:07 |
|
#17 | |
New Member
Khan
Join Date: Sep 2019
Location: India
Posts: 25
Rep Power: 7 |
Quote:
I right clicked on solution and went to properties but the cores there were not accessible to be modified. However, I went to setup and I could change number of processors from properties of setup. The number of processors in solution then changed automatically... Thanks Vinerm..! |
||
Tags |
parallel computing |
|
|
Similar Threads | ||||
Thread | Thread Starter | Forum | Replies | Last Post |
looking for a smart interface matlab fluent | chary | FLUENT | 24 | June 18, 2021 10:07 |
how to set periodic boundary conditions | Ganesh | FLUENT | 15 | November 18, 2020 07:09 |
Problem in running fluent 14 | massimolucia | FLUENT | 2 | December 25, 2013 23:12 |
The fluent stopped and errors with "Emergency: received SIGHUP signal" | yuyuxuan | FLUENT | 0 | December 3, 2013 23:56 |
running FLUENT on cluster problem | cth_yao | FLUENT | 2 | December 2, 2011 07:05 |