Esecuzione di un job con Matlab

Di seguto sono descritti i passi necessari per l'esecuzione di un job tramite Matlab.

Il primo passo consiste nel preparare tutto quanto è necessario per l’esecuzione dell’esperimento desiderato: in questo caso un file di testo esempio.m contenente le istruzioni nel linguaggio Matlab che costituiscono l'esperimento.
Il file conterrà le seguenti due istruzioni:

a <- rnorm(1000,0,1)
print(a)

Come per qualsiasi altro job è necessario preparare uno script (esempio_matlab.sh) per il gestore delle code.
Possiamo utilizzare lo stesso del QuickStart ma matlab vuole delle opzioni specifiche per essere esguito in modalità batch e non richiedere quindi un'interazione diretta con l'utente:

#!/bin/sh
#SBATCH --job-name=esempio_matlab                      #  nome attribuito al job
#SBATCH --output=%x_%j.log                 # nome del file di output; produce esempio_base_JOBID.log
#SBATCH --error=%x_%j.err                  # nome del file di errore; produce esempio_base_JOBID.err
#SBATCH --mem-per-cpu=1024M                      # quantità di memoria riservata
#SBATCH --time=0-00:02:00                        # stima tempo esecuzione (giorni-ore:minuti:secondi)
#SBATCH -n 1                                     # numero di processori
#SBATCH -N 1                                     # numero di server
#SBATCH --mail-user=utente.terastat2@uniroma1.it # proprio indirizzo email
#SBATCH --mail-type=ALL

module load matlab/R2020a
matlab -nodisplay -nosplash -nodesktop -batch "run('$HOME/esempio.m');exit;"
sleep 60

Lo script potrà quindi essere messo in esecuzione con il comando sbatch

sbatch esempio_matlab.sh