@@ -306,29 +306,51 @@ endif
306306ASKPROC:
307307
308308if ( $SITE == ' NCCS' ) then
309- echo " Enter the ${C1} Processor Type${CN} you wish to run on:"
310- echo " ${C2} sky (Skylake)${CN} "
311- echo " ${C2} cas (Cascade Lake)${CN} (default)"
312- echo " "
313- set MODEL = ` echo $< `
314- set MODEL = ` echo $MODEL | tr " [:upper:]" " [:lower:]" `
315- if ( .$MODEL == .) then
316- set MODEL = ' cas'
317- endif
318309
319- if( $MODEL ! = ' sky' & \
320- $MODEL ! = ' cas' ) goto ASKPROC
310+ set BUILT_ON_SLES15 = @BUILT_ON_SLES15@
321311
322- if ($MODEL == ' sky' ) then
323- set NCPUS_PER_NODE = 40
324- else if ($MODEL == ' cas' ) then
325- # NCCS currently recommends that users do not run with
326- # 48 cores per node on SCU16 due to OS issues and
327- # recommends that CPU-intensive works run with 46 or less
328- # cores. As 45 is a multiple of 3, it's the best value
329- # that doesn't waste too much
330- # set NCPUS_PER_NODE = 48
331- set NCPUS_PER_NODE = 45
312+ if (" $BUILT_ON_SLES15 " == " TRUE" ) then
313+ set DEFAULT_MODEL = ' mil'
314+ echo " Enter the ${C1} Processor Type${CN} you wish to run on:"
315+ echo " ${C2} mil (Milan)${CN} (default)"
316+ echo " "
317+ set MODEL = ` echo $< `
318+ set MODEL = ` echo $MODEL | tr " [:upper:]" " [:lower:]" `
319+ if ( .$MODEL == .) then
320+ set MODEL = ' mil'
321+ endif
322+
323+ if( $MODEL ! = ' mil' ) goto ASKPROC
324+
325+ if ($MODEL == ' mil' ) then
326+ # We save a couple processes for the kernel
327+ set NCPUS_PER_NODE = 126
328+ endif
329+ else
330+ echo " Enter the ${C1} Processor Type${CN} you wish to run on:"
331+ echo " ${C2} sky (Skylake)${CN} "
332+ echo " ${C2} cas (Cascade Lake)${CN} (default)"
333+ echo " "
334+ set MODEL = ` echo $< `
335+ set MODEL = ` echo $MODEL | tr " [:upper:]" " [:lower:]" `
336+ if ( .$MODEL == .) then
337+ set MODEL = ' cas'
338+ endif
339+
340+ if( $MODEL ! = ' sky' & \
341+ $MODEL ! = ' cas' ) goto ASKPROC
342+
343+ if ($MODEL == ' sky' ) then
344+ set NCPUS_PER_NODE = 40
345+ else if ($MODEL == ' cas' ) then
346+ # NCCS currently recommends that users do not run with
347+ # 48 cores per node on SCU16 due to OS issues and
348+ # recommends that CPU-intensive works run with 46 or less
349+ # cores. As 45 is a multiple of 3, it's the best value
350+ # that doesn't waste too much
351+ # set NCPUS_PER_NODE = 48
352+ set NCPUS_PER_NODE = 45
353+ endif
332354 endif
333355
334356else if ( $SITE == ' NAS' ) then
708730# The below settings seem to be recommended for hybrid
709731# systems using MVAPICH2 but could change
710732
711- else if( $MPI == mvapich2 ) then
733+ else if( $MPI == mvapich ) then
712734
713735cat > $EXPDIR /SETENV.commands << EOF
714736 setenv MV2_ENABLE_AFFINITY 0
778800
779801endif # if NOT Singularity
780802
803+ # Testing on SLES15 showed that the mlx provider did not seem
804+ # to work at scale. So we move to use the verbs provider. Note:
805+ # still seems to have issues at c720
806+ if (" $BUILT_ON_SLES15 " == " TRUE" ) then
807+ cat >> $EXPDIR /SETENV.commands << EOF
808+ setenv I_MPI_OFI_PROVIDER verbs
809+ setenv I_MPI_COLL_EXTERNAL 0
810+ EOF
811+
812+ endif # if SLES15
813+
781814endif # if NCCS
782815
783816endif # if mpi
0 commit comments