Strumenti Utente

Strumenti Sito


calcoloscientifico:userguide:matlab:gpu

MATLAB GPU job

Execution of a MATLAB program on GPU

In this example we see how to run the GPUBench MATLAB program on GPU. Requires the MATLAB Parallel Computing Toolbox and a GPU with CUDA Compute Capability.

Script slurm-matlab-gpu-bench.sh:

slurm-matlab-gpu-bench.sh
#!/bin/bash
#SBATCH --job-name=GPUBench
#SBATCH --output=%x.o%j
#SBATCH --error=%x.e%j
#SBATCH --nodes=1
#SBATCH --ntasks-per-node=1
#SBATCH --gres=gpu:1
#SBATCH --partition=gpu
#SBATCH --qos=gpu
#SBATCH --mem=8G
#SBATCH --time=0-00:30:00
#SBATCH --account=<account>
 
module load matlab/R2017a
 
cd 'GPUBench_v1.10'
 
matlab -nodisplay -nosplash -r "T=gpuBench;quit"

Submitting slurm-matlab-gpu-bench.sh:

sbatch slurm-matlab-gpu-bench.sh

Execution of two MATLAB programs on the same GPU

In this example we see how to run two instances of the GPUBench MATLAB program on the same GPU. Requires the MATLAB Parallel Computing Toolbox and a GPU with CUDA Compute Capability.

Script slurm-matlab-multi-gpu-bench.sh:

slurm-matlab-multi-gpu-bench.sh
#!/bin/sh
#SBATCH --job-name=GPUBench
#SBATCH --output=%x.o%j
#SBATCH --error=%x.e%j
#SBATCH --nodes=1
#SBATCH --ntasks-per-node=1
#SBATCH --gres=gpu:1
#SBATCH --partition=gpu
#SBATCH --qos=gpu
#SBATCH --mem=8G
#SBATCH --time=0-00:30:00
#SBATCH --account=<account>
 
module load matlab/R2017a
 
cd 'GPUBench_v1.10'
 
pids=""
 
for i in $(seq 0 1); do
  matlab -nodisplay -nosplash -r "T=gpuBench;quit" \
  1>"$SLURM_SUBMIT_DIR/${SLURM_JOB_NAME}.o${SLURM_JOB_ID}.${i}" \
  2>"$SLURM_SUBMIT_DIR/${SLURM_JOB_NAME}.e${SLURM_JOB_ID}.${i}" &
  pids="${pids:+$pids }$!"
done
 
echo "Waiting PID(s): $pids"
 
wait $pids

Submitting slurm-matlab-multi-gpu-bench.sh:

sbatch slurm-matlab-multi-gpu-bench.sh

go back one level

calcoloscientifico/userguide/matlab/gpu.txt · Ultima modifica: 05/10/2023 17:58 da fabio.spataro