I am using the AMD 3995WX processor which has 128 logical processors. I realized that a single instance of AIMMS only uses 64 logical processors as processors are grouped by windows’ limit (64 cores). To use all 128 processors, I can run two instances of AIMMS at the same time. The first instance gets affinity of group0. Then I need to modify the affinity of the second instance to use the second NUMA (group1). Still, I would like one instance of AIMMS employs all logical processors. I assume the same problem exists on servers where the number of logical cores often exceeds 64.
Is there any way to bypass windows' processor group policy (i.e. make AIMMS group aware) and distribute the job between all 128 available threads?
Note 1: I tried CPLEX and GUROBI solvers. I am not sure if this limitation is related to AIMMS or the solvers.
Note 2: I am aware of disabling Hyperthreading/SMT, but that is not desirable.
Best answer by Mstislav Simonenkov
According to AIMMS help my suggestion is to try the following:
1) Set Grudobi Read Parameter File to Yes in the project options
2) Create txt file with desired Gurobi settings. An example is present below
3) Save this txt file as a gurobi.prm and placeit the AIMMS project directory
Please let me know if it helped.