Running Radioss on Intel CPU with Performance & Efficient cores on Windows
Radioss is supporting multi-threading and multi-processor options to speed up the simulation. More precisely both SMP (-nt) and SPMD (-np) options are available.
©Intel new CPU generations are equipped with both Performance and Efficient cores (P-cores and E-cores) like for instance 12th (Alder Lake) and 13th (Raptor Lake) generation CPU units.
These new configurations of processors need to be managed differently than previous ones, for both SPMD and SMP options. To get good performances, environmental variables need to be defined and set to proper values. Following the next steps can help the efficient use of these CPU units.
- For SPMD (-np) solution option:
Step 1: Find information about the CPU unit
- Go to Altair Program Files folder and find the cpuinfo.exe file. Normally, this can be found in the following path: C:\Program Files\Altair\2023.1\mpi\win64\intel-mpi\bin
- Anywhere in this folder press Shift and Right Click at the same time and these will open some additional selections. Select “Open PowerShell window here”.
- A command line will open. Type .\cpuinfo.exe and click Enter.
- Some information about your CPU will be shown in the command window. The data should be similar to the ones in Figure 1.
Figure 1: CPU unit information
- If you check out columns 2 and 3 (Thread ID and Core ID), you will see that some Core IDs correspond to 2 Thread IDs (0 and 1), while other correspond to just 1 (0 value). The Core IDs that have 2 Threads are P-cores, while these with 1 Thread are E-cores. For example, in Figure 1, Cores with IDs 0, 4, 8, 12, 16, 20, 24 and 28 are P-Cores (8 P-cores).
- From these cores we need to keep the values of Processors with Thread ID equal to 0 and note them down, because they need to be set to a specific variable later. For this specific example, processors 0 ,2 ,4 ,6 ,8 ,10 ,12 and 14 are the ones.
Step 2: Find Location to set Environmental Variables
- The path to follow in Windows is Settings->System->About->Advanced System Settings->Environmental Variables->System Variables->New. These steps are illustrated in Figures 2 to 4.
Figure 2: Find Environmental Variable Location (1/3)
Figure 3: Find Environmental Variable Location (2/3)
Figure 4: Find Environmental Variable Location (3/3)
Step 3: Set the Environmental Variables
- Next, 2 different environmental variables must be set by clicking New…
- The variables should have the following Names and Values as described in Table 1.
| Variable Name | Variable Value |
1st | OMP_PLACES | 0,2,4,6,8,10,12,14 |
2nd | OMP_WAIT_POLICY | ACTIVE |
Table 1: Environmental Variables Names and Values
- The 1st variable should have the value as described in Step 1, so it should differ between different computing units.
- After setting each variable, click OK and then select again New… option to set the next one.
- For SMP (-nt) solution option:
Step 1: Find Location to set Environmental Variables
- Follow Step 2 of SPMD solution options to find the Environmental Variables Location.
Step 2: Set the Environmental Variable
- For SMP just one environmental variable must be set:
Variable Name | Variable Value |
KMP_AFFINITY | Disabled |
Table 2: Environmental Variables Names and Values