cp -p /hpc/share/samples/matlab/pi_greco_parallel.m .
Script 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
:
#!/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