Dans cette page :
Pour utiliser nsys, c'est très simple.
D'abord, il faut aller sur le nœud de calcul pour générer un rapport avec votre application (nœud unique ou nœuds multiples).
Ensuite, il faut aller sur le TurboVNC ouvrez une interface graphique nsys pour visualiser votre rapport.
Exemple de rapport simple nœud
#!/usr/bin/bash
#SBATCH -N 1
#SBATCH -n 16
#SBATCH --ntasks-per-node=16
#SBATCH --gres=gpu:2
#SBATCH --time=01:00:00
#SBATCH --mem=128G
#SBATCH -p small
#nvprofiling
module purge
module load amgx/nvidia/2.4.0-nvhpc231-system
module load dcgm/3.1.3-1
module list
workdir=$PWD/${SLURM_JOBID}
mkdir ${workdir}
cd ${workdir}
\cp -f ../{bul3.*,jcl,PCG.json} .
cp ../nsys.sh .
cp $0 .
maxit=4
export CUDA_VISIBLE_DEVICES=0,1
export TEST_SYSTEM_PARAMS=1
export UCX_MEMTYPE_CACHE=n
export UCX_IB_GPU_DIRECT_RDMA=no
echo "UCX_IB_GPU_DIRECT_RDMA=${UCX_IB_GPU_DIRECT_RDMA}"
echo "LD_LIBRARY_PATH=$LD_LIBRARY_PATH"
#DCGM
nv-hostengine --pid nvhostengine.pid --log-filename nv-hostengine.log
#PCIe
dcgmi dmon -e 1009,1010 -c 200 > compteur.${SLURM_JOB_ID} &
clush -w ${SLURM_NODELIST} nvidia-cuda-mps-control -d
BIN=../my_application
ldd ${BIN}
nodeset -e ${SLURM_JOB_NODELIST} | tr ' ' '\n' > hostfile_${SLURM_JOBID}
nsys profile -t mpi,ucx,openmp,openacc,oshmem,cuda,opengl,nvtx,osrt -o report-mpirun-singlenode mpirun -hostfile ./hostfile_${SLURM_JOBID} -np ${SLURM_NTASKS} --map-by ppr:${SLURM_NTASKS_PER_NODE}:socket:PE=1 $BIN 2 2 4
clush -w ${SLURM_NODELIST} echo quit | nvidia-cuda-mps-control
kill -9 $(cat nvhostengine.pid)
Visualisation de rapport simple nœud
#Vous ouvrez un terminal sur le TurboVNC : module load nvidia module load nvhpc/23.1 cd /usr/local/arch-x86/nvidia/nvhpc/Linux_x86_64/23.1/profilers/Nsight_Systems/host-linux-x64/ ./nsys-ui.vglrun.wrapper #Vous visualisez un rapport sur une interface graphique nsys : /tmpdir/jamal/Tests_Nsys/6147/report-mpirun-singlenode.nsys-rep
