processes_per_node should default to ncpus
kcpevey opened this issue · comments
To max out processes_per_node requires users to know how many ncpus are on each node for each machine. To prevent that, it makes sense to automatically default to ncpus (using all of them) instead of making it a requirement for PbsScript
I would also be good to have access to the total number of nodes. The necessary logic is inside of PbsScript.get_num_nodes_process_str() but that only writes the pbs header and doesn't store the ncpus data.
An example submit script for adh would be:
#!/bin/bash
#PBS -A ****
#PBS -q debug
#PBS -l select=10:ncpus=44:mpiprocs=44
#PBS -l walltime=1:00:00
#PBS -l application=adh
#PBS -N Lake_Washington
cd $PBS_O_WORKDIR
aprun -n 1 $PROJECTS_HOME/AdH_SW/pre_adh_V4.6 CTR1_PWOP |tee PWOP_pre_adh.out
aprun -n 440 $PROJECTS_HOME/AdH_SW/adh_V4.6 CTR1_PWOP |tee PWOP_adh.out
Where aprun -n 440
refers to the total number of nodes (select * ncpus
).
I'd like to have access to the complex ncpus structure in a separate function.