| 8 | | le scheduler le relance alors automatiquement... |
| | 8 | le scheduleur le relance alors automatiquement... |
| | 9 | |
| | 10 | == Module == |
| | 11 | |
| | 12 | Le module '''[source:/trunk/signal-checkpoint/signal_checkpoint.F90 Signal_Checkpoint]''' |
| | 13 | gère pour le moment le signal {{{USR12}}} utilisé par défaut dans OAR. |
| | 14 | Il a été testé et validé avec les compilateurs {{{GNU/gfortran}}} et {{{Intel/ifort}}}. |
| | 15 | Il fait un appel POSIX à la commande {{{signal}}} qui n'est pas normalisé en Fortran, |
| | 16 | en ce sens, ce n'est pas du pur Fortran... |
| | 17 | |
| | 18 | Cependant, coté utilisateur, l'API est très simple et indépendante du compilateur. |
| | 19 | |
| | 20 | Le projet est très jeune. |
| | 21 | Il n'y a pas de bibliothèque de compilé pour le moment. |
| | 22 | Pour l'intégrer dans votre projet, le plus simple pour le moment est de l'intégrer dans vos sources |
| | 23 | {{{ |
| | 24 | wget http://servforge.legi.grenoble-inp.fr/pub/soft-trokata/signal-checkpoint/signal_checkpoint.F90 |
| | 25 | }}} |
| | 26 | |
| | 27 | == Test == |
| | 28 | |
| | 29 | Un programme de test et d'exemple [source:/trunk/signal-checkpoint/sgck-test1.f90 sgck-test1] est fournit. |
| | 30 | Pour le récupérer et le tester |
| | 31 | {{{ |
| | 32 | mkdir sgck-test1 |
| | 33 | cd sgck-test1 |
| | 34 | wget http://servforge.legi.grenoble-inp.fr/pub/soft-trokata/signal-checkpoint/sgck-test1.f90 |
| | 35 | wget http://servforge.legi.grenoble-inp.fr/pub/soft-trokata/signal-checkpoint/signal_checkpoint.F90 |
| | 36 | }}} |
| | 37 | |
| | 38 | * compilation avec {{{GNU/gfortran}}} |
| | 39 | {{{ |
| | 40 | rm sgck-test1 signal_checkpoint.mod signal_checkpoint.o |
| | 41 | gfortran -c signal_checkpoint.F90 |
| | 42 | gfortran -o sgck-test1 sgck-test1.f90 signal_checkpoint.o |
| | 43 | }}} |
| | 44 | |
| | 45 | * compilation avec {{{Intel/ifort}}} |
| | 46 | {{{ |
| | 47 | rm sgck-test1 signal_checkpoint.mod signal_checkpoint.o |
| | 48 | ifort -c signal_checkpoint.F90 |
| | 49 | ifort -o sgck-test1 sgck-test1.f90 signal_checkpoint.o |
| | 50 | }}} |
| | 51 | |
| | 52 | Pour tester le programme, il faut deux terminaux |
| | 53 | |
| | 54 | * Terminal 1 - celui ou la commande tourne réellement |
| | 55 | {{{ |
| | 56 | ./sgck-test1 |
| | 57 | }}} |
| | 58 | |
| | 59 | * Terminal 2 - jour le rôle du scheduleur |
| | 60 | {{{ |
| | 61 | ps fux | grep ./sgck-test1 | grep -v grep | awk '{print $2}' | xargs kill -USR2 |
| | 62 | }}} |