MATLAB
MATLAB est à la fois un langage de programmation et un environnement de développement développé et commercialisé par la société américaine MathWorks. MATLAB est utilisé dans les domaines de l'éducation, de la recherche et de l'industrie pour le calcul numérique mais aussi dans les phases de développement de projets.
Au Département, les toolbox suivant sont installés : Bioinformatics (1), Datafeed (1), Jacket (2), Image Processing (1), Optimization (1), Partial Differential Equations (1), Spline (1), Statistics (10). Le nombre de licences disponibles pour chaque toolbox est indiqué entre parenthèses.
Guide
Démarrage
Pour démarrer MATLAB en mode graphique, entrez
matlab
depuis un terminal de commandes (icône ), ou encore cliquez sur l'icône au logo de MATLAB situé sur la barre du haut.
Vous pouvez également lancer MATLAB en mode ligne de commandes. Pour ce faire entrez
matlab -nodesktop
depuis une fenêtre de terminal.
Démarrer une simulation en arrière-plan
Avant d'entreprendre des simulations numériques sur les machines du Département, vous êtes encouragé à consulter la page Simulations, en particulier la section traitant des consignes à respecter. |
Pour démarrer le script test.m en arrière-plan (batch), employez la commande
matlab < test.m > /dev/null &
Exemple
Dans le script qui suit, deux matrices 3x3 de nombres aléatoires sont additionnées et le résultat est enregistré, avec la fonction fprintf, dans le fichier data.csv du compte de l'usager :
rng(123); % La graine (de départ) du générateur de nombres aléatoires est fixée à "123". n=3; A=rand(n,n); B=rand(n,n); % Ci-dessous, le fichier "data.csv" est ouvert et le résultat "A+B" est écrit sur trois colonnes séparées par une virgule. % Finalement, le fichier est refermé. fichier = fopen('~/data.csv','w'); fprintf(fichier,'%6.2f, %6.2f, %6.2f\n',A+B); fclose(fichier);
Pour démarrer ce script, appelé exemple.m, il suffit d'entrer la commande
matlab < exemple.m > /dev/null &
Voici l'allure du résultat enregistré dans data.csv :
1.09, 0.63, 0.96 0.99, 0.78, 0.82 1.72, 0.87, 0.66
Calculs en parallèle
Lorsque vos calculs s'y prêtent (opérations sur matrices et vecteurs, boucle avec itérations indépendantes, etc.), l'exécution de votre script en parallèle peut être très avantageuse.
Les machines tigre et lionceau de labomat comprennent le toolbox Jacket permettant de faire exécuter votre code en parallèle par le processeur de la carte graphique (GPU). Consultez la page dédiée pour plus d'informations.
Exemples
Fichiers compilés MEX et programmation GPU
MATLAB offre la possibilité de compiler des programmes écrits en C et en CUDA en fichiers MEX (MATLAB Executables), fichiers d'extension MEXGLX (Linux 32 bits) ou MEXA64 (Linux 64 bits). Les fichiers MEX doivent être exécutés depuis MATLAB. Puisque ces fichiers sont déjà compilés, ils s'exécutent très rapidement et peuvent ainsi contribuer à accélérer considérablement l'exécution de votre code MATLAB.
- Addition de vecteurs/matrices sous MATLAB (fichier compilé "MEX")
- Addition de vecteurs/matrices sous MATLAB (fichier compilé "MEX") avec code CUDA
- Addition de vecteurs/matrices déclarées avec le toolbox "GPUmat" sous MATLAB (fichier compilé "MEX")
Le dernier exemple de la liste montre comment écrire un fichier MEX pouvant interagir avec le toolbox GPUmat, un toolbox gratuit rendant possible la programmation GPU dans MATLAB.