Improve the calculation of CHSY
The calculation of the CHSY involves the number of requested PEs according to the specification
If the API assumes the PEs correspond to Parallelization, and Parallelization corresponds to the number of processors specified in the SIM job, there can be important deviations when the allocation involves other parameters as NODES or TASKS (processors per nodes).
I suggest the following:
if NODES is None and TASKS is not None and PROCESSORS != TASKS:
NODES = ROUNDUP(PROCESSORS/TASKS)
if PROCESSORS_PER_NODE is not None:
PEs = NODES * PROCESSORS_PER_NODE
else:
ERROR(MISSING PROCESSORS_PER_NODE)
elif NODES is None:
if PROCESSORS_PER_NODE is not None and PROCESSORS > PROCESSORS_PER_NODE:
PEs = NHMPN(PROCESSORS)
else:
PEs = PROCESSORS # PEs could not be totally accurate but we don't know how many PROCESORS_PER_NODE
elif:
if NODES > 1 and PROCESSORS_PER_NODE is not None:
PEs = NODES * PROCESSORS_PER_NODE
elif NODES > 1:
ERROR(MISSING PROCESSORS_PER_NODE)
else:
PEs = PROCESSORS
- NHMPN(x) = Nearest, higher, multiple of PROCESSORS_PER_NODE to x