Exemple
L'exemple (utilisé pour la démonstration présentée par N. PREMILLIEU et J. L'HERMITTE) montre une partie du traitement lors de la compression d'un fichier JPEG (cf. wikipedia). Il correspond à l'exemple multi_cpu fournit dans les archives .tar.bz2.
Cependant au lieu de nous intéresser au exemples fournis avec les archivres, nous allons placer les tâches sur 2 processeurs en partant de l'exemple utilisant 4 processeurs.
1. ouverture du projet
Pour ouvrir le projet, il faut cliquer sur le bouton ouvrir de la barre d'outils, ou passer par le menu. Dans la fenêtre qui s'ouvre, il faut parcourir les dossier et ouvrir le fichier demo_multi.xml. Il ne doit pas y avoir de repertoire contenant d'espace dans son nom.
2. édition de l'architecture
Le Réseau de Processus de Kahn n'a pas besoin d'être modifié (malgré les bugs d'affichage, en bougeant un peu les processus les ports reprennrent leurs positions). Par contre, l'architecture doit se séparer de 2 processeurs. Pour modifier l'architecture, il faut cliquer sur l'onglet "Architecture Model", et supprimer les composants inutiles (Memory3, 4 et 5, CPU3 et 4).
3. allocation
Il faut ensuite placer les tâches Quantiziation et DCT sur les 2 processeurs restant. Cela s'effectue grâce à un glisser-déposer.
4. paramètres
Pour chaque tâche, il faut s'assurer que les paramètres sont corrects. Il faut aller chercher les fichiers sources C, s'assurer que les processus n'ont pas la même priorité, spécifier le point d'entrée, et définir une taille de pile adéquate (2048 pardéfaut suffit). Il ne faut pas oublié de faire ENTRER à chaque fois, sinon les modifications ne sont pas prises en compte. Il faut aussi définir l'espace de travail (workspace), dans lequel sera copié et compilé le code.
Aucun chemin d'accès (workspace ou code source) ne doit contenir d'espace.
5. Génération & Compilation
Grâce au bouton "Generate the code", il est possible de générer le code, et de le compiler. Cette étape est la plus longue du processus (plusieurs dizaines de minutes). Durant la compilation, la fenêtre de TaskMapper devient inaccessible.
La compilation est terminée lorsque la console affiche "Finish", et que la fenêtre de TaskMapper redevient accessible.
6. Exécution
Une fois que tout est compilé, il faut envoyer le code compilé sur la carte, grâce au bouton "Show Shell frame".
Lorsque toutes les commandes "nios2-download" sont terminées, la commande "nios2-terminal" est exécutée pour permettre de lancer et de suivre l'exécution sur la carte.