calcoloscientifico:software:matlab
MATLAB Jobs
MATLAB serial job
Execution of a MATLAB serial program
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
MATLAB parallel job
Execution of a parallel job with MATLAB
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
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
:
#!/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
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
:
#!/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
calcoloscientifico/software/matlab.txt · Ultima modifica: 11/12/2018 11:13 da roberto.alfieri