The Hopper system at NERSC has 24 processors per node, usually we just submit jobs using full node usage for example:
#PBS -q regular
#PBS -l mppwidth=256
#PBS -l walltime=24:00:00
#PBS -N 256_job
#PBS -e $PBS_JOBID.err
#PBS -o $PBS_JOBID.out
#PBS -V
cd $PBS_O_WORKDIR
echo "Changing to workdir $PBS_O_WORKDIR"
echo "listing workdir contents"
ls -ltr
aprun -n 256 ./cluster > log.txt