DOCUMENTATION
Scilab est un logiciel open source de calcul numérique qui fournit un puissant environnement de développement pour les applications scientifiques et l’ingénierie.
Fonctionnalités :
- Mathématiques et simulation, analyse de données
- Optimisation de problèmes discrets et continus contraints et non contraints
- Statistiques, analyse et modélisation de données
- Conception, étude et commande de systèmes
- Traitement du signal, domaines temporel et fréquentiel
- Modélisation des systèmes mécaniques, des circuits hydrauliques, et de contrôle de systèmes...
- Visualisation 2D et 3D
- Développement d'applications, échanges de données avec des outils externes
Site web : http://www.scilab.org
Pour l'utiliser, il faut charger le module suivant :
module load scilab/scilab
Appel en ligne de commande avec fichier d'entrée :
scilab -nwni -f script_scilab
Contrainte : pour un appel en ligne de commande, le script Scilab doit se terminer par "quit;".
Script Scilab utilisant une section parallélisée
Dans le contexte de cet exemple, la parallélisation est limitée au nombre de coeurs d'un noeud.
Le script calcule en parallèle les valeurs d'un vecteur (res), par paquets correspondants au nombre de coeurs disponibles (nombre de coeurs alloués en batch ou nombre de coeurs disponibles en interactif). Les données en entrée sont dans un vecteur de 20 valeurs (1:20).
u = file ( 'open' , 'parallel_run.out' , 'unknown' );
// La macro parallel_run necessite de faire les calculs dans une fonction
function r = f(v)
// Ecrit sur la sortie standard
disp( "start for " + string(v) );
r = 1;
for i = 1:5000000
r = r + sin(i*v) * sqrt(i*v)
end;
disp ( "end for " + string(v) );
endfunction
// Appel en parallele de la fonction f pour les valeurs de 1 à 20
res = parallel_run ( 1:20 , f );
write ( u , res );
file ( 'close' , u );
quit;
Script Slurm pour utiliser Scilab en batch et en parallèle
Ce script va réserver 16 coeurs sur 1 noeud.
Si le script Scilab ci-dessus est appelé dans ce script Slurm, alors parallel_run va d'abord effectuer en parallèle 16 calculs, chacun sur 1 coeur, avec les valeurs 1 à 16, puis 4 autres calculs avec les valeurs 17 à 20 en utilisant cette fois 4 coeurs uniquement.
Dans le fichier scilab-*.out on pourra suivre le déroulement des calculs, grâce au résultat des appels à la macro disp du script Scilab ci-dessus.
Le résultat des calculs se trouvera dans le fichier parallel_run.out (voir script Scilab).
1 2 3 4 5 6 7 |
|
VERSIONS ET SCRIPTS D'INSTALLATION
- scilab-gnu
- scilab-6.i17
- scilab-6.0.2
- scilab (latest)
TAGS
- software