Skip to content
Snippets Groups Projects
Commit 8d7712c1 authored by ESCOBAR Juan's avatar ESCOBAR Juan
Browse files

Juan 14/09/2020: add script for binding core+gpu , with socket continu || pair/impair numbering

parent af26ae78
No related branches found
No related tags found
No related merge requests found
#!/bin/bash
#set -e
#Numactl='numactl --physcpubind '
Numactl='taskset -c '
if [[ "x${SLURM_HINT}" != *nomultithread* ]]
then
HYP_FAC=1
else
HYP_FAC=1
fi
#NB_DEVICE=$( echo ${SLURM_STEP_GPUS//,/ } | wc -w )
NB_DEVICE=$( nvidia-smi -L | grep GPU | wc -l )
[ ${NB_DEVICE} -eq 0 ] && NB_DEVICE=1
export IP=${OMPI_COMM_WORLD_RANK:-${SLURM_PROCID}}
export LIP=${OMPI_COMM_WORLD_LOCAL_RANK:-${SLURM_LOCALID}}
export NP=${OMPI_COMM_WORLD_SIZE:-${SLURM_NTASKS}}
export NN=${OMPI_MCA_orte_num_nodes:-${SLURM_NNODES}}
export NPN=$(( NP / NN ))
#export NB_HYP=${SLURM_CPUS_ON_NODE}
export NB_HYP=${SLURM_JOB_CPUS_PER_NODE/(*)/}
export NB_CORE=$(( ${NB_HYP} / HYP_FAC ))
export NPC=$(( NB_CORE / NPN ))
CORE=$(( LIP * NPC ))
export HALF=$(( 1+ ( NPN -1 ) / 2 ))
export SOC=$(( 1 *( LIP / HALF ) ))
export RANK_SOC=$(( LIP % HALF ))
export CORE_IMP=$(( SOC + 2*NPC*RANK_SOC ))
export SURBOOK=$(( NPN / NB_DEVICE ))
if [ ${SURBOOK} == 0 ]
then
export ACC_DEVICE_NUM=$(( LIP * 2 ))
else
export ACC_DEVICE_NUM=$(( LIP / SURBOOK ))
fi
echo IP=${IP} LIP=${LIP} NP=${NP} NN=${NN} NPN=${NPN} NPC=${NPC} HOST=`hostname` NB_CORE=${NB_CORE} CORE=${CORE} CORE_IMP=${CORE_IMP} HALF=$HALF SOC=$SOC RS=${RANK_SOC} ND=${NB_DEVICE} CD=${ACC_DEVICE_NUM}
#EXEC=exec
${EXEC} ${Numactl} ${CORE} $*
#exec $*
#$*
#!/bin/bash
#set -e
#Numactl='numactl --physcpubind '
Numactl='taskset -c '
if [[ "x${SLURM_HINT}" != *nomultithread* ]]
then
HYP_FAC=1
else
HYP_FAC=1
fi
#NB_DEVICE=$( echo ${SLURM_STEP_GPUS//,/ } | wc -w )
NB_DEVICE=$( nvidia-smi -L | grep GPU | wc -l )
[ ${NB_DEVICE} -eq 0 ] && NB_DEVICE=1
export IP=${OMPI_COMM_WORLD_RANK:-${SLURM_PROCID}}
export LIP=${OMPI_COMM_WORLD_LOCAL_RANK:-${SLURM_LOCALID}}
export NP=${OMPI_COMM_WORLD_SIZE:-${SLURM_NTASKS}}
export NN=${OMPI_MCA_orte_num_nodes:-${SLURM_NNODES}}
export NPN=$(( NP / NN ))
#export NB_HYP=${SLURM_CPUS_ON_NODE}
export NB_HYP=${SLURM_JOB_CPUS_PER_NODE/(*)/}
export NB_CORE=$(( ${NB_HYP} / HYP_FAC ))
export NPC=$(( NB_CORE / NPN ))
CORE=$(( LIP * NPC ))
export HALF=$(( 1+ ( NPN -1 ) / 2 ))
export SOC=$(( 1 *( LIP / HALF ) ))
export RANK_SOC=$(( LIP % HALF ))
export CORE_IMP=$(( SOC + 2*NPC*RANK_SOC ))
export SURBOOK=$(( NPN / NB_DEVICE ))
if [ ${SURBOOK} == 0 ]
then
export ACC_DEVICE_NUM=$(( LIP * 2 ))
else
export ACC_DEVICE_NUM=$(( LIP / SURBOOK ))
fi
echo IP=${IP} LIP=${LIP} NP=${NP} NN=${NN} NPN=${NPN} NPC=${NPC} HOST=`hostname` NB_CORE=${NB_CORE} CORE=${CORE} CORE_IMP=${CORE_IMP} HALF=$HALF SOC=$SOC RS=${RANK_SOC} ND=${NB_DEVICE} CD=${ACC_DEVICE_NUM}
#EXEC=exec
${EXEC} ${Numactl} ${CORE_IMP} $*
#exec $*
#$*
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment