Ansys uses a complicated formula to determine how many Ansys HPC licenses are required when running parametric variations in parallel.
Ansys does provide a licensing calculator that will do the math for you, but it assumes that you only have one solver license available. If you have more than one solver license in addition to HPC licenses, the math changes.
This blog post will go through a few example calculations to reveal what’s going on “under the hood” so that you can accurately determine how many parallel variations you can run under various licensing scenarios.
Here’s an overview of how the HPC licensing requirements are calculated. Don’t worry, we’ll work through some examples to make these rules clear:
- You get 1 parametric variation for free from the solver license, each parametric variation beyond that requires 8 HPC
- You get 4 cores for free in each variation, but each core beyond that requires 1 HPC
Ansys HPC Licensing Example 1: 16 parallel parametric variations using 4 cores per variation
Our first scenario is running a parametric sweep with 16 variations solving in parallel. Each variation will use 4 CPU cores. Here’s how you’d enter this scenario into the Ansys license calculator:
Figure 1: Entry into Ansys license calculator for Example 1.
Now let’s do the math and see if we get the same result as the calculator. Remember, this calculation assumes that you only have one solver license available. We’ll go through a case where more than one solver license is available shortly.
Required Workgroup HPC licenses for Example 1:
= (16 variations – 1 solver license) * 8 HPC per variation + (4 cores – 4 cores for free)
* 1 HPC per core * 16 variations
= 15 variations * 8 HPC + 0
= 120 HPC
Because we are only using 4 cores per variation and those first 4 cores are free, the second term of the equation drops. We have one solver license, and so that is subtracted from the number of parallel variations and we’re left with a requirement of 120 HPC licenses to run this simulation. Does the Ansys calculator agree?
Figure 2: Example 1 result from Ansys licensing calculator.
It does! Our calculation matches the HPC workgroup increments (also called pool licensing). However, there is also the HPC pack licensing scheme, where each additional HPC pack unlocks a factor of four more CPU cores:
Figure 3: Map of CPU count to HPC Pack license requirement.
Unfortunately, the cores from each HPC pack cannot be split up across multiple runs. We will have to introduce another set of equations to calculate the required number of HPC packs:
ParallelCoreCount = number of variations * (number of cores - 4 cores for free)
If ParallelCoreCount > 0:
If ParallelCoreCount > 8:
IntermediateNumPacks = CEILING( LOG2(ParallelCoreCount / 2) / LOG2(4) )
else:
IntermediateNumPacks = 1
else: IntermediateNumPacks = 0
NumPacks = IntermediateNumPacks + number of variations
If NumPacks >= 2:
NumPacks = NumPacks - number of solvers
What a pain! Let’s try it out on our example to see if it works.
Required HPC Pack licenses for Example 1:
ParallelCoreCount = 16 variations * (4 cores – 4 cores for free) = 0
IntermediatePackCount = 0
NumPacks = 0 + 16 = 16
NumPacks = 16 – 1 solver
= 15 HPC Packs
In our example we are only requesting four cores per variation, and so the IntermediatePackCount is equal to zero. The final number of HPC packs is just the number of variations minus the number of solver licenses, which is one in this example. The final result is 15 HPC packs, which matches the Ansys calculator. This is the trade-off between HPC packs and HPC Workgroup licenses; Pack licensing allows you large-scale parallel capabilities on individual runs but is less flexible than Workgroup HPC licensing.
Before looking at what happens when you have more than one solver available, let’s do one more example to illustrate how the above calculations work.
Ansys HPC Licensing Example 2: 4 parallel parametric variations using 16 cores per variation.
In this example, we’ve simply reversed the number of parallel variations and the number of cores used per variation. We now want to run 4 variations with 16 cores each instead of 16 variations with 4 cores each. The total number of CPU cores used is still 16 * 4 = 64 CPUs, the same as Example 1. Will the licensing requirement also be the same? Let’s find out:
Figure 4: Entry into Ansys license calculator for Example 2.
Figure 4 shows how Example 2 is entered into the Ansy license calculator. Now, for our hand calculations:
Required Workgroup HPC licenses for Example 2:
= (4 variations – 1 solver license) * 8 HPC per variation + (16 cores – 4 cores for free)
*1 HPC per core * 4 variations
=(3 variations * 8 HPC) + (12 cores * 1 HPC * 4 variations)
=24 HPC + 48 HPC
=72 HPC
The required number of workgroup licenses are much lower than before (from 120 to 72), even though the total number of CPUs is the same! What about HPC Pack licenses?
Required HPC Pack licenses for Example 2:
ParallelCoreCount = 4 variations * (16 cores – 4 cores for free) = 48
IntermediatePackCount = CEILING( LOG2(48 / 2) / LOG2(4) ) = 3
NumPacks = 3 + 4 = 7
NumPacks = 7 – 1 solver
= 6 HPC packs
The number of required HPC packs is also dramatically reduced from 15 to 6 HPC packs. Do our results agree with the Ansys calculator?
Figure 5: Example 2 result from Ansys licensing calculator.
The Ansys licensing calculator is clearly saving us a lot of tedious work. But what happens if we have more than one solver license available in addition to our Ansys HPC licenses?
Example 3: 16 parallel parametric variations using 4 cores per variation AND 8 solver licenses.
This is the same scenario as Example 1, except that now we have a total of 8 solver licenses in addition to our Ansys HPC licenses. There’s no way to enter this information into the Ansys license calculator, so we’ll have to do these calculations by hand:
Required Workgroup Ansys HPC licenses for Example 3:
= (16 variations – 8 solver licenses) * 8 HPC per variation + (4 cores – 4 cores for free)
* 1 HPC per core * 16 variations
=(8 variations * 8 HPC) + 0
=64 HPC
The additional solver licenses dropped the HPC requirements from 120 HPC to 64 HPC. What about HPC packs?
Required HPC Pack licenses for Example 3:
ParallelCoreCount = 16 variations * (4 cores – 4 cores for free) = 0
IntermediatePackCount = 0
NumPacks = 0 + 16 = 16
NumPacks = 16 – 8 solvers
= 8 HPC packs
Again, only 4 CPUs are requested per core, and so IntermediatePackCount is zero. We see that the required number of HPC packs drops from 15 to 8.
Note that you don’t need to specify the number of solver licenses when submitting a job. If Ansys cannot check out sufficient Ansys HPC licenses, it will automatically attempt to check out however many additional solver licenses are necessary to meet the licensing requirements.
Hopefully, this blog post has shed some light on the inner workings of Ansys HPC licensing! Now that you’re armed with these equations, you ought to be able to predict the licensing requirements for any parametric simulation.
You must be logged in to post a comment.