Strumenti Utente

Strumenti Sito


calcoloscientifico:userguide:matlab:parallel:slurm

MATLAB Jobs

MATLAB parallel job

Execution of a parallel job with MATLAB

cp -p /hpc/share/samples/matlab/pi_greco_parallel.m .

Script pi_greco_parallel.m:

pi_greco_parallel.m
parpool('local');
 
tic
N_int=100;
N_int_0=1e2;
N_int_f=1e7;
 
passo=ceil((N_int_f-N_int_0)/N_int);
N=N_int_0:passo:N_int_f;
l=length(N);
res=zeros(l,1);
parfor i=1:l 
    Z=rand(2,N(i));
    res(i)=sum((Z(1,:)-0.5).^2+(Z(2,:)-0.5).^2<0.5^2)/(N(i)*0.5^2);
end
 
disp(res(end))
toc

Script matlab_parallel.sh:

matlab_parallel.sh
#!/bin/sh
#SBATCH --job-name=matlab_parallel
#SBATCH --output=%x.o%j
#SBATCH --error=%x.e%j
#SBATCH --nodes=1
#SBATCH --ntasks-per-node=4
#SBATCH --partition=cpu
#SBATCH --mem=8G
#SBATCH --time=0-00:30:00
##SBATCH --account=<account>
 
hostname
 
module load matlab/R2022a
 
matlab -nodisplay -r pi_greco_parallel

Submitting matlab_parallel.sh:

sbatch matlab_parallel.sh

go back one level

calcoloscientifico/userguide/matlab/parallel/slurm.txt · Ultima modifica: 30/06/2022 12:53 da fabio.spataro

Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki