1 : $$$$ ASSI NOTICE CHAT 11/09/12 21:15:10 7124 2 : DATE 11/09/12 3 : 4 : Operateur ASSI Voir aussi : 5 : -------------- 6 : 7 : 1 ere possibilite 8 : _________________ 9 : 10 : RES1 ... RESn = ASSI IASSIS INS1 ... INSP; 11 : 12 : Objet : 13 : _______ 14 : 15 : L'operateur ASSIstant fait executer par l'assistant IASSIS 16 : (ENTIER) l'instruction elementaire : 17 : 18 : RES1 ... RESn = INS1 ... INSP; 19 : 20 : Si la version parallele de Castem est utilisee, l'instruction 21 : sera terminee aussitot qu'elle sera transferee a l'assistant. 22 : Si une autre instruction a besoin de ces resultats, elle devra attendre 23 : que ceux-ci soient disponobles. 24 : 25 : Exemple 1 : 26 : ___________ 27 : 28 : MAT1 = ASSI 1 MATER MODEL1 YOUNG 1E5 NU 0.3; 29 : 30 : L'assistant 1 va se charger d'executer : 31 : 32 : MAT1 = MATER MODEL1 YOUNG 1E5 NU 0.3; 33 : 34 : 35 : Si une autre instruction utilise par la suite MAT1, elle sera 36 : bloquee en attendant la disponibilite de MAT1 (que ce soit sur le 37 : maitre ou sur un assistant). 38 : 39 : 40 : 2eme possibilite 41 : ________________ 42 : 43 : RES1 ... RESn = ASSI 'TOUS' INS1 ... INSP; 44 : 45 : Objet : 46 : _______ 47 : 48 : Si la meme instruction est executee sur plusieurs assistants mais 49 : avec des donnees differentes, il suffit d'utiliser l'option 'tous' 50 : et de stocker les donnees a distribuer sous forme de tables de soustype 51 : ESCLAVE ou les donnees associees a l'assistant I se trouvent a l'indice I. 52 : Les resultats sont stockes dans des tables de sous types ESCLAVE. 53 : 54 : Exemple 2 : 55 : ___________ 56 : 57 : TMAT1 = 'ASSI' 'TOUS' MATER TMODL1 'YOUNG' 1E5 'NU' 0.3 ; 58 : 59 : TMODL1 : table de sous type ESCLAVE 60 : TMODL1 . i : modele associe a l'assistant i 61 : TMAT1 : table de sous type ESCLAVE 62 : TMAT1 . i : resultat associe a l'assistant i 63 : 64 : 65 : Exemple 3 : 66 : ___________ 67 : 68 : TMODL1 = 'TABLE' ESCLAVE ; 69 : TMODL1 . 1 = MODL1 ; 70 : TMODL1 . 3 = MODL2 ; TMODL1 . 4 = MODL4 ; 71 : 72 : * Declaration de 2 assistants 73 : 'OPTI' 'ASSI' 2 ; 74 : 75 : TMAT1 = ASSI 'TOUS' 'MATER' TMODL1 'YOUNG' 1E5 'NU' 0.3 ; 76 : la commande precedente est equivalente aux instructions suivantes : 77 : TMAT1 = 'TABLE' ESCLAVE ; 78 : TMAT1 . 1 = ASSI 1 'MATER' TMODL1 . 1 'YOUNG' 1E5 'NU' 0.3 ; 79 : TMAT1 . 3 = 'MATER' TMODL1 . 3 'YOUNG' 1E5 'NU' 0.3 ; 80 : TMAT1 . 4 = ASSI 1 'MATER' TMODL1 . 4 'YOUNG' 1E5 'NU' 0.3 ; 81 : 82 : 83 : Remarques : 84 : ___________ 85 : 86 : Lors de l'utilisation de l'option 'tous', toutes les tables ESCLAVES 87 : existantes dans l'instruction doivent avoir les memes indices. 88 : 89 : Il est tres fortement deconseiller de transferer des tables a un 90 : assistant i car ces objets peuvent etre modifies durant l'operation. 91 : 92 : Il est possible de faire travailler le maitre comme un assistant (le 93 : numero d'assistant qui lui est associe est 0 ). 94 : 95 : Il est possible de definir un IASSIS plus grand que le nombre 96 : d'assistants declares NBass (opti assi nbass ; ). L'operation sera 97 : transferee sur l'assistant I defini par I = modulo (IASSIS,nbass+1) 98 : (le maitre jouant aussi le role d'un assistant). 99 : 100 : Ces deux dernieres proprietes permettent de tester un programme 101 : GIBIANE parallele sur une machine sequentielle en definisaant 0 102 : assistant ('OPTI' 'ASSI' 0 ; ). 103 :
© Cast3M 2003 - Tous droits réservés.
Mentions légales