- Erstellt von Rehs, Philipp Helo, zuletzt geändert von Raub, Stephan am Dez. 18, 2020
Sie zeigen eine alte Version dieser Seite an. Zeigen Sie die aktuelle Version an.
Unterschiede anzeigen Seitenhistorie anzeigen
« Vorherige Version anzeigen Version 9 Nächste Version anzeigen »
Derzeit ist die Nutzung der Matlab-Lizenzen auf Hilbert eingeschränkt, da es nicht genügend Lizenzen für den Campus gibt.
Auf dem HPC-System stehen mehrere MatLab-Versionen zu Verfügung. Die Lizensierung findet über den zentralen Lizenzserver im ZIM statt.
Die Software kann z.B. über module load MATLAB/R2020b geladen werden.
Da es nur eine knappe Anzahl an Lizenzen gibt empfiehlt es sich beim Abschicken des Jobs direkt eine MatLab-Lizenz mit anzufordern. Dadurch wird der Job nur gestartet, wenn eine zentrale Lizenz verfügbar ist. Dies ist möglich über die Resource matlablicence im Jobfile
#PBS -l matlablicence=1
oder über eine explizite Angabe beim qsub:
qsub -l matlablicence=1 matlab.job
Zusätzliche Resourcen für besondere Erweiterungen
Für die folgenden Toolboxen gibt es nur eine geringe Anzahl an Lizenzen, daher kann es sein, dass Jobs lange Warten müssen. Dies hat jedoch immer noch den Vorteil, dass Jobs nicht einfach abstürzen.
Toolbox | Lizenzen | Resource |
---|---|---|
Parallel Computing Toolbox | 20 | matlab_dct_licence |
Image Toolbox | 20 | matlab_image_licence |
Statistics Toolbox | 50 | matlab_stats_licence |
Optimization Toolbox | 50 | matlab_opt_licence |
Diese Resourcen können wie folgt angefordert werden:
#PBS -l matlab_image_licence=1
Beispiel Job-File für Matlab
Es ist gute Praxis, Paremeter wie z.B. Input-Files und deren Verzeichnisse von außen zu setze und nicht direkt in die Scripte einzutragen. Das gibt auch die Möglichkeit, MATLAB-Programme zu kompilieren und dann immer wieder mit anderen Parametern aufzurufen, ohne den Source ändern zu müssen.
% input_filename should be set in the call if exist('input_filename') == 0 fprintf("No input_filename given!\n"); exit(); end display(input_filename); fprintf("DONE.\n");
Die Variable "input_filename" kann dann im JobScript beliebig gesetzt werden, was eine enorme Flexibilität und intrinsische Dokumentation ermöglicht.
#!/bin/bash #PBS -l select=1:ncpus=4:mem=32gb #PBS -l walltime=24:00:00 #PBS -r n #PBS -N MATLAB #PBS -A BenchMarking #PBS -l matlablicence=1 export LOGFILE=$PBS_O_WORKDIR/$PBS_JOBNAME"."$PBS_JOBID".log" cd $PBS_O_WORKDIR echo "$PBS_JOBID ($PBS_JOBNAME) @ `hostname` at `date` in "$RUNDIR" START" > $LOGFILE echo "`date +"%d.%m.%Y-%T"`" >> $LOGFILE #load MATLAB Environment and set scratch directory module load MATLAB/R2020b echo >> $LOGFILE echo "GLOBAL PARAMETERS" >> $LOGFILE echo "---------------------------" >> $LOGFILE echo "Node : "`hostname` >> $LOGFILE echo "RunDir : "$PBS_O_WORKDIR >> $LOGFILE echo "MATLAB : "$MATLAB_ROOT >> $LOGFILE echo "# CPUs : "$NCPUS >> $LOGFILE echo >> $LOGFILE input=/home/raub/run/MATLAB/test.input #calling MATLAB matlab -nosplash -nodesktop -nodisplay -r "input_filename='$input'; myscript" #print the last known statistics of the job (memory usage, cpu time, etc...) echo >> $LOGFILE qstat -f $PBS_JOBID >> $LOGFILE echo "$PBS_JOBID ($PBS_JOBNAME) @ `hostname` at `date` in "$RUNDIR" END" >> $LOGFILE echo "`date +"%d.%m.%Y-%T"`" >> $LOGFILE
Der Output sollte dann wie folgt aussehen:
< M A T L A B (R) > Copyright 1984-2020 The MathWorks, Inc. R2020b (9.9.0.1467703) 64-bit (glnxa64) August 26, 2020 To get started, type doc. For product information, visit www.mathworks.com. input_filename = '/home/raub/run/MATLAB/test.input' DONE.
verfügbare Versionen |
---|
R2010a |
R2011a |
R2011b |
R2014a |
R2015a |
R2015b |
R2018a |
R2020b |
- Keine Stichwörter