= Création d'un nouveau processus == Création de l'environnement de travail Vous allez devoir recréer l'environnement de travail sur les nouvelles machines en vous référant au [https://www-soc.lip6.fr/trac/sesi-soclib/wiki/smc1 premier TP sur ALMOS-MKH]. En résumé : {{{ #copie des sources cd /dsk/l1/misc scp schmitt:/dsk/l1/misc/almos-mkh_tsar.tbz2 . tar xvjf almos-mkh_tsar.tbz2 # definition des variables d'environnement cd /dsk/l1/misc/almos-mkh_tsar source env.sh # compilation du noyau, des applications et generation du disque de tsar cd /dsk/l1/misc/almos-mkh_tsar/almos-mkh make # compilation du prelaoder cd /dsk/l1/misc/almos-mkh_tsar/tsar/softs/tsar_boot/ make # compilation du simulateur cd /dsk/l1/misc/almos-mkh_tsar/tsar/platforms/tsar_generic_iob/ make # execution du simulateur ./simul.x }}} Désormais le moteur de simulation est systemcass qui profite de la structuration des composants SoCLib. Un composant SoCLib sépare explicitement les fonctions de transition, de génération de Moore et de génération de Mealy dans ses automates. Sans entrer dans les détails, cela permet à systemcass de n'exécuter qu'une seule fois par cycle les fonctions de transition et de génération de Moore et limiter la simulation par relaxation aux fonctions de Mealy. Dans le cas de TSAR, cela permet un gain en vitesse de 400% environ. En outre, systemcass permet de produire simulateur parallèle (s'exécutant en parallèle sur un ordinateur multi-core) gràce à l'API OpenMP. Le modèle SystemC de TSAR contient déjà les directives de parallélisation. Le grain de parallélisation est le cluster, c'est-à-dire qu'un thread d'OpenMP peut exécuter un nombre entier de clusters. Ainsi, on ne peut bénéficier de la parallélisation que pour les architectures de TSAR multi-clusters. Pour demander la parallélisation, il suffit de lancer le simulateur avec le paramètre `-THREADS x`, où x est le nombre de threads OpenMP demandé (qui doit être au plus égal au nombre de cores, ici 6). Par exemple, pour une plateforme TSAR à 4 clusters (quel que soit le nombre de core par cluster), après voir compilez, vous écriez : {{{ cd /dsk/l1/misc/almos-mkh/tsar/plateforms/tsar_generic_iob/ ./simul.x -THREADS 4 }}}