Je veux lancer un certain nombre de travaux parallèles dans Matlab en exploitant la puissance de gnu-parallel
.
Dans mon dossier, j’ai le fichier test.m
:
function test(a) while 1 disp(a); end exit;
J’ai l’habitude de lancer plusieurs sessions parallèles de matlab
de cette manière:
for i in `seq 1 10`; do nohup matlab -singleCompThread -nodesktop -nosplash -r "test($i,43))" & done
mais que faire si je veux adapter ce script à gnu-parallel
? J’ai essayé avec:
parallel "matlab -nodisplay -nodesktop -nojvm -nosplash -r 'test({1})'" ::: 1 2 3 4
mais cela ne fonctionne pas du tout. Utiliser gnu-parallel
pour moi devrait être d’une grande aide car il est capable de mieux équilibrer le calcul et les processus que ne le fait ma solution précédente.
Quelques idées?
Cela devrait fonctionner (je n’ai pas access à une installation matlab):
seq 1 10 | parallel 'matlab -singleCompThread -nodesktop -nosplash -r "test({},43))"'