Parcourir la source

matlab: remplacement < in.m >out par l'option -batch

Ph. Marion il y a 3 ans
Parent
commit
cd017e920d

+ 14 - 11
Matlab/tuto-www/matlab_ex1_launch.oar

@@ -1,5 +1,6 @@
 #!/bin/bash
 
+# update : avril 2020 
 # sur orval 
 ################################################################################
 # matlab_ex1_launch.oar - exemple de batch permettant de lancer le script Matlab
@@ -26,10 +27,9 @@
 # http://lmod.readthedocs.io/en/latest/010_user.html
 # http://easybuild.readthedocs.io/en/latest/Introduction.html
 #-----------------------------------------------------------
-source /nfs/opt/env/env.sh
+source /nfs/opt/env/env.sh >/dev/null 2>&1
 module load matlab
 
-
 #-----------------------------------------------------------
 # Les directives OAR
 #-----------------------------------------------------------
@@ -58,8 +58,10 @@ module load matlab
 # par défaut redirection vers OAR.%jobid%.stdout et OAR.%jobid%.stderr
 # dans le répertoire courant
 # A mettre dans scratch sous votre arborescence
-#OAR -O /scratch/lmpa/pmarion/%jobid%.out
-#OAR -E /scratch/lmpa/pmarion/%jobid%.err
+##OAR -O /scratch/lmpa/pmarion/system_ex1.%jobid%.out
+#OAR -O system_ex1.%jobid%.out
+##OAR -E /scratch/lmpa/pmarion/system_ex1.%jobid%.err
+#OAR -E system_ex1.%jobid%.err
 
 # IMPORTANT (ajout déc.2016):
 # inclure dans les ressources demandées un jeton Matlab de sorte
@@ -70,7 +72,7 @@ module load matlab
 ##OAR -t besteffort
 ##OAR -t idempotent
 
-PROG=system_ex1.m
+PROG=system_ex1
 
 GROUP=$(id -gn $OAR_USER)
 #-----------------------------------------------------------
@@ -84,7 +86,7 @@ SCRATCHDIR=/scratch/$GROUP/$OAR_USER/$OAR_JOB_NAME.$OAR_JOBID
 #-----------------------------------------------------------
 cd $SCRATCHDIR
 # programme
-cp $OAR_WORKDIR/$PROG .
+cp $OAR_WORKDIR/$PROG.m .
 
 # recopie des données depuis les espaces Data et/ou Home
 # ici il n'y en a pas
@@ -94,20 +96,21 @@ cp $OAR_WORKDIR/$PROG .
 #-----------------------------------------------------------
 # Execution du programme depuis l'espace scratch
 # 
-# NB: options de Matlab en mode batch:  -nodesktop -nodisplay -nosplash
+# NB: options de Matlab en mode batch: -nodisplay -nosplash
+# -nojvm si moteur java inutile
 #-----------------------------------------------------------
 #
 
-matlab -nodesktop -nodisplay -nosplash < $PROG > matlab.out
+matlab -nodisplay -nojvm -batch $PROG 
 
-mv $OAR_STDOUT .
-mv $OAR_STDERR .
+mv $OAR_WORKDIR/$OAR_STDOUT .
+mv $OAR_WORKDIR/$OAR_STDERR .
 
 #-----------------------------------------------------------
 # suppression du programme et des données utilisées en entrée
 # avant transfert
 #-----------------------------------------------------------
- rm ./$PROG
+ rm ./$PROG.m
 #rm mes_donnees_copiees_de home
 #rm mes_donnees_copiees_de_data
 

+ 9 - 9
Matlab/tuto-www/matlab_ex2_launch.oar

@@ -23,7 +23,7 @@
 # http://lmod.readthedocs.io/en/latest/010_user.html
 # http://easybuild.readthedocs.io/en/latest/Introduction.html
 #-----------------------------------------------------------
-source /nfs/opt/env/env.sh
+source /nfs/opt/env/env.sh >/dev/null 2>&1
 module load matlab
 
 
@@ -60,8 +60,8 @@ export number_Threads=16
 # par défaut redirection vers OAR.%jobid%.stdout et OAR.%jobid%.stderr
 # dans le répertoire courant
 # A mettre dans scratch sous votre arborescence
-#OAR -O /scratch/lmpa/pmarion/%jobid%.out
-#OAR -E /scratch/lmpa/pmarion/%jobid%.err
+#OAR -O parfor_ex2.%jobid%.out
+#OAR -E parfor_ex2.%jobid%.err
 
 
 # IMPORTANT (ajout déc.2016):
@@ -73,7 +73,7 @@ export number_Threads=16
 ##OAR -t besteffort
 ##OAR -t idempotent
 
-PROG=parfor_ex2.m
+PROG=parfor_ex2
 
 GROUP=$(id -gn $OAR_USER)
 #-----------------------------------------------------------
@@ -87,7 +87,7 @@ SCRATCHDIR=/scratch/$GROUP/$OAR_USER/$OAR_JOB_NAME.$OAR_JOBID
 #-----------------------------------------------------------
 cd $SCRATCHDIR
 # programme
-cp $OAR_WORKDIR/$PROG .
+cp $OAR_WORKDIR/$PROG.m .
 
 # recopie des données depuis les espaces Data et/ou Home
 # ici il n'y en a pas
@@ -101,16 +101,16 @@ cp $OAR_WORKDIR/$PROG .
 #-----------------------------------------------------------
 #
 
-matlab -nodesktop -nodisplay -nosplash < $PROG > matlab.out
+matlab -nodesktop -nodisplay -nosplash -batch $PROG
 
-mv $OAR_STDOUT .
-mv $OAR_STDERR .
+mv $OAR_WORKDIR/$OAR_STDOUT .
+mv $OAR_WORKDIR/$OAR_STDERR .
 
 #-----------------------------------------------------------
 # suppression du programme et des données utilisées en entrée
 # avant transfert
 #-----------------------------------------------------------
- rm ./$PROG
+ rm ./$PROG.m
 #rm mes_donnees_copiees_de home
 #rm mes_donnees_copiees_de_data
 

+ 9 - 9
Matlab/tuto-www/matlab_ex3_launch.oar

@@ -26,7 +26,7 @@
 # http://lmod.readthedocs.io/en/latest/010_user.html
 # http://easybuild.readthedocs.io/en/latest/Introduction.html
 #-----------------------------------------------------------
-source /nfs/opt/env/env.sh
+source /nfs/opt/env/env.sh >/dev/null 2>&1
 module load matlab
 
 #-----------------------------------------------------------
@@ -57,8 +57,8 @@ module load matlab
 # par défaut redirection vers OAR.%jobid%.stdout et OAR.%jobid%.stderr
 # dans le répertoire courant
 # A mettre dans scratch sous votre arborescence
-#OAR -O /scratch/lmpa/pmarion/%jobid%.out
-#OAR -E /scratch/lmpa/pmarion/%jobid%.err
+#OAR -O parfor_ex3.%jobid%.out
+#OAR -E parfor_ex3.%jobid%.err
 
 # IMPORTANT (ajout déc.2016):
 # inclure dans les ressources demandées un jeton Matlab de sorte
@@ -69,7 +69,7 @@ module load matlab
 ##OAR -t besteffort
 ##OAR -t idempotent
 
-PROG=parfor_print_ex3.m
+PROG=parfor_print_ex3
 
 GROUP=$(id -gn $OAR_USER)
 #-----------------------------------------------------------
@@ -83,7 +83,7 @@ SCRATCHDIR=/scratch/$GROUP/$OAR_USER/$OAR_JOB_NAME.$OAR_JOBID
 #-----------------------------------------------------------
 cd $SCRATCHDIR
 # programme
-cp $OAR_WORKDIR/$PROG .
+cp $OAR_WORKDIR/$PROG.m .
 
 # recopie des données depuis les espaces Data et/ou Home
 # ici il n'y en a pas
@@ -97,16 +97,16 @@ cp $OAR_WORKDIR/$PROG .
 #-----------------------------------------------------------
 #
 
-matlab -nodesktop -nodisplay -nosplash < $PROG > matlab.out
+matlab -nodesktop -nodisplay -nosplash -batch  $PROG 
 
-mv $OAR_STDOUT .
-mv $OAR_STDERR .
+mv $OAR_WORKDIR/$OAR_STDOUT .
+mv $OAR_WORKDIR/$OAR_STDERR .
 
 #-----------------------------------------------------------
 # suppression du programme et des données utilisées en entrée
 # avant transfert
 #-----------------------------------------------------------
- rm ./$PROG
+ rm ./$PROG.m
 #rm mes_donnees_copiees_de home
 #rm mes_donnees_copiees_de_data
 

+ 9 - 9
Matlab/tuto-www/matlab_ex4_launch.oar

@@ -26,7 +26,7 @@
 # http://lmod.readthedocs.io/en/latest/010_user.html
 # http://easybuild.readthedocs.io/en/latest/Introduction.html
 #-----------------------------------------------------------
-source /nfs/opt/env/env.sh
+source /nfs/opt/env/env.sh >/dev/null 2>&1
 module load matlab
 
 
@@ -64,8 +64,8 @@ export number_Threads=16
 # par défaut redirection vers OAR.%jobid%.stdout et OAR.%jobid%.stderr
 # dans le répertoire courant
 # A mettre dans scratch sous votre arborescence
-#OAR -O /scratch/lmpa/pmarion/%jobid%.out
-#OAR -E /scratch/lmpa/pmarion/%jobid%.err
+#OAR -O smpd_ex4.%jobid%.out
+#OAR -E smpd_ex4.%jobid%.err
 
 # IMPORTANT (ajout déc.2016):
 # inclure dans les ressources demandées un jeton Matlab de sorte
@@ -77,7 +77,7 @@ export number_Threads=16
 ##OAR -t besteffort
 ##OAR -t idempotent
 
-PROG=spmd_ex4_int_trapeze.m
+PROG=spmd_ex4_int_trapeze
 
 GROUP=$(id -gn $OAR_USER)
 #-----------------------------------------------------------
@@ -91,7 +91,7 @@ SCRATCHDIR=/scratch/$GROUP/$OAR_USER/$OAR_JOB_NAME.$OAR_JOBID
 #-----------------------------------------------------------
 cd $SCRATCHDIR
 # programme
-cp $OAR_WORKDIR/$PROG .
+cp $OAR_WORKDIR/$PROG.m .
 
 # recopie des données depuis les espaces Data et/ou Home
 # ici il n'y en a pas
@@ -105,16 +105,16 @@ cp $OAR_WORKDIR/$PROG .
 #-----------------------------------------------------------
 #
 
-matlab -nodesktop -nodisplay -nosplash < $PROG > matlab.out
+matlab -nodesktop -nodisplay -nosplash -batch  $PROG 
 
-mv $OAR_STDOUT .
-mv $OAR_STDERR .
+mv $OAR_WORKDIR/$OAR_STDOUT .
+mv $OAR_WORKDIR/$OAR_STDERR .
 
 #-----------------------------------------------------------
 # suppression du programme et des données utilisées en entrée
 # avant transfert
 #-----------------------------------------------------------
- rm ./$PROG
+ rm ./$PROG.m
 #rm mes_donnees_copiees_de home
 #rm mes_donnees_copiees_de_data
 

+ 9 - 9
Matlab/tuto-www/matlab_ex5_launch.oar

@@ -32,7 +32,7 @@
 # http://lmod.readthedocs.io/en/latest/010_user.html
 # http://easybuild.readthedocs.io/en/latest/Introduction.html
 #-----------------------------------------------------------
-source /nfs/opt/env/env.sh
+source /nfs/opt/env/env.sh >/dev/null 2>&1
 module load matlab
 
 #-----------------------------------------------------------
@@ -66,8 +66,8 @@ module load matlab
 # par défaut redirection vers OAR.%jobid%.stdout et OAR.%jobid%.stderr
 # dans le répertoire courant
 # A mettre dans scratch sous votre arborescence
-#OAR -O /scratch/lmpa/pmarion/%jobid%.out
-#OAR -E /scratch/lmpa/pmarion/%jobid%.err
+#OAR -O pi_checkpoint_ex5.%jobid%.out
+#OAR -E pi_checkpoint_ex5.%jobid%.err
 
 # IMPORTANT (ajout déc.2016):
 # inclure dans les ressources demandées un jeton Matlab de sorte
@@ -78,7 +78,7 @@ module load matlab
 ##OAR -t besteffort
 ##OAR -t idempotent
 
-PROG=pi_checkpoint_ex5.m
+PROG=pi_checkpoint_ex5
 
 GROUP=$(id -gn $OAR_USER)
 #-----------------------------------------------------------
@@ -92,7 +92,7 @@ SCRATCHDIR=/scratch/$GROUP/$OAR_USER/$OAR_JOB_NAME.$OAR_JOBID
 #-----------------------------------------------------------
 cd $SCRATCHDIR
 # programme
-cp $OAR_WORKDIR/$PROG .
+cp $OAR_WORKDIR/$PROG.m .
 
 # recopie des données depuis les espaces Data et/ou Home
 # cp /nfs/home/labo/user/chemin/vers/mes/donnees .
@@ -111,16 +111,16 @@ fi
 #-----------------------------------------------------------
 #
 
-matlab -nodesktop -nodisplay -nosplash < $PROG > matlab.out
+matlab -nodesktop -nodisplay -nosplash -batch $PROG
 
-mv $OAR_STDOUT .
-mv $OAR_STDERR .
+mv $OAR_WORKDIR/$OAR_STDOUT .
+mv $OAR_WORKDIR/$OAR_STDERR .
 
 #-----------------------------------------------------------
 # suppression du programme et des données utilisées en entrée
 # avant transfert
 #-----------------------------------------------------------
- rm ./$PROG
+ rm ./$PROG.m
 #rm mes_donnees_copiees_de home
 #rm mes_donnees_copiees_de_data
 

+ 5 - 5
Matlab/tuto-www/matlab_ex5_nfs_launch.oar

@@ -32,7 +32,7 @@
 # http://lmod.readthedocs.io/en/latest/010_user.html
 # http://easybuild.readthedocs.io/en/latest/Introduction.html
 #-----------------------------------------------------------
-source /nfs/opt/env/env.sh
+source /nfs/opt/env/env.sh >/dev/null 2>&1
 module load matlab
 
 #-----------------------------------------------------------
@@ -66,8 +66,8 @@ module load matlab
 # par défaut redirection vers OAR.%jobid%.stdout et OAR.%jobid%.stderr
 # dans le répertoire courant
 # A mettre dans scratch sous votre arborescence
-#OAR -O %jobid%.out
-#OAR -E %jobid%.err
+#OAR -O pi_checkpoint_nfs.%jobid%.out
+#OAR -E pi_checkpoint_nfs.%jobid%.err
 
 # IMPORTANT (ajout déc.2016):
 # inclure dans les ressources demandées un jeton Matlab de sorte
@@ -78,7 +78,7 @@ module load matlab
 ##OAR -t besteffort
 ##OAR -t idempotent
 
-PROG=pi_checkpoint_ex5.m
+PROG=pi_checkpoint_ex5
 
 #GROUP=$(id -gn $OAR_USER)
 #-----------------------------------------------------------
@@ -89,5 +89,5 @@ PROG=pi_checkpoint_ex5.m
 # (scratch) a été supprimé. ce n'est pas une bonne idée... surtout
 # si votre programme implique de nombreuses entrées/sorties
 
-matlab -nodesktop -nodisplay -nosplash < $PROG > matlab.out
+matlab -nodesktop -nodisplay -nosplash -batch  $PROG 
 

+ 9 - 9
Matlab/tuto-www/matlab_ex5_scratch_launch.oar

@@ -32,7 +32,7 @@
 # http://lmod.readthedocs.io/en/latest/010_user.html
 # http://easybuild.readthedocs.io/en/latest/Introduction.html
 #-----------------------------------------------------------
-source /nfs/opt/env/env.sh
+source /nfs/opt/env/env.sh > /dev/null 2>&1
 module load matlab
 
 
@@ -67,8 +67,8 @@ module load matlab
 # par défaut redirection vers OAR.%jobid%.stdout et OAR.%jobid%.stderr
 # dans le répertoire courant
 # A mettre dans scratch sous votre arborescence
-#OAR -O /scratch/lmpa/pmarion/%jobid%.out
-#OAR -E /scratch/lmpa/pmarion/%jobid%.err
+#OAR -O pi_checkpoint_ex5_scratch.%jobid%.out
+#OAR -E pi_checkpoint_ex5_scratch.%jobid%.err
 
 # IMPORTANT (ajout déc.2016):
 # inclure dans les ressources demandées un jeton Matlab de sorte
@@ -79,7 +79,7 @@ module load matlab
 ##OAR -t besteffort
 ##OAR -t idempotent
 
-PROG=pi_checkpoint_ex5.m
+PROG=pi_checkpoint_ex5
 
 GROUP=$(id -gn $OAR_USER)
 #-----------------------------------------------------------
@@ -93,7 +93,7 @@ SCRATCHDIR=/scratch/$GROUP/$OAR_USER/$OAR_JOB_NAME.$OAR_JOBID
 #-----------------------------------------------------------
 cd $SCRATCHDIR
 # programme
-cp $OAR_WORKDIR/$PROG .
+cp $OAR_WORKDIR/$PROG.m .
 
 # recopie des données depuis les espaces Data et/ou Home
 # cp /nfs/home/labo/user/chemin/vers/mes/donnees .
@@ -112,16 +112,16 @@ fi
 #-----------------------------------------------------------
 #
 
-matlab -nodesktop -nodisplay -nosplash < $PROG > matlab.out
+matlab -nodesktop -nodisplay -nosplash -batch  $PROG
 
-mv $OAR_STDOUT .
-mv $OAR_STDERR .
+mv $OAR_WORKDIR/$OAR_STDOUT .
+mv $OAR_WORKDIR/$OAR_STDERR .
 
 #-----------------------------------------------------------
 # suppression du programme et des données utilisées en entrée
 # avant transfert
 #-----------------------------------------------------------
- rm ./$PROG
+ rm ./$PROG.m
 #rm mes_donnees_copiees_de home
 #rm mes_donnees_copiees_de_data