cp -p /hpc/share/samples/matlab/pi_greco.m .
Script matlab.sh
:
#!/bin/sh #SBATCH --job-name=matlab #SBATCH --output=%x.o%j #SBATCH --error=%x.e%j #SBATCH --nodes=1 #SBATCH --tasks-per-node=1 #SBATCH --partition=vrt #SBATCH --mem=8G #SBATCH --time=00:30:00 #SBATCH --account=<accountname> module load matlab/R2017a matlab -nodisplay -r pi_greco
Submitting matlab.sh
:
sbatch matlab.sh
cp -p /hpc/share/samples/matlab/pi_greco_parallel.m .
Script matlab_parallel.sh
:
#!/bin/sh #SBATCH --job-name=matlab_parallel #SBATCH --output=%x.o%j #SBATCH --error=%x.e%j #SBATCH --nodes=1 #SBATCH --tasks-per-node=4 #SBATCH --partition=bdw #SBATCH --mem=8G #SBATCH --time=0-00:30:00 #SBATCH --account=<accountname> module load matlab/R2017a matlab -nodisplay -r pi_greco_parallel
Submitting matlab_parallel.sh
:
sbatch matlab_parallel.sh
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
:
#!/bin/sh #SBATCH --job-name=GPUBench #SBATCH --output=%x.o%j #SBATCH --error=%x.e%j #SBATCH --nodes=1 #SBATCH --tasks-per-node=1 #SBATCH --gres=gpu:tesla:1 #SBATCH --partition=gpu #SBATCH --mem=8G #SBATCH --time=0-00:30:00 #SBATCH --account=<accountname> 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
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
:
#!/bin/sh #SBATCH --job-name=GPUBench #SBATCH --output=%x.o%j #SBATCH --error=%x.e%j #SBATCH --nodes=1 #SBATCH --tasks-per-node=1 #SBATCH --gres=gpu:tesla:1 #SBATCH --partition=gpu #SBATCH --mem=8G #SBATCH --time=0-00:30:00 #SBATCH --account=<accountname> 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