$$$$ ASSI NOTICE CHAT 11/09/12 21:15:10 7124 DATE 11/09/12 Operateur ASSI Voir aussi : -------------- 1 ere possibilite _________________ RES1 ... RESn = ASSI IASSIS INS1 ... INSP; Objet : _______ L'operateur ASSIstant fait executer par l'assistant IASSIS (ENTIER) l'instruction elementaire : RES1 ... RESn = INS1 ... INSP; Si la version parallele de Castem est utilisee, l'instruction sera terminee aussitot qu'elle sera transferee a l'assistant. Si une autre instruction a besoin de ces resultats, elle devra attendre que ceux-ci soient disponobles. Exemple 1 : ___________ MAT1 = ASSI 1 MATER MODEL1 YOUNG 1E5 NU 0.3; L'assistant 1 va se charger d'executer : MAT1 = MATER MODEL1 YOUNG 1E5 NU 0.3; Si une autre instruction utilise par la suite MAT1, elle sera bloquee en attendant la disponibilite de MAT1 (que ce soit sur le maitre ou sur un assistant). 2eme possibilite ________________ RES1 ... RESn = ASSI 'TOUS' INS1 ... INSP; Objet : _______ Si la meme instruction est executee sur plusieurs assistants mais avec des donnees differentes, il suffit d'utiliser l'option 'tous' et de stocker les donnees a distribuer sous forme de tables de soustype ESCLAVE ou les donnees associees a l'assistant I se trouvent a l'indice I. Les resultats sont stockes dans des tables de sous types ESCLAVE. Exemple 2 : ___________ TMAT1 = 'ASSI' 'TOUS' MATER TMODL1 'YOUNG' 1E5 'NU' 0.3 ; TMODL1 : table de sous type ESCLAVE TMODL1 . i : modele associe a l'assistant i TMAT1 : table de sous type ESCLAVE TMAT1 . i : resultat associe a l'assistant i Exemple 3 : ___________ TMODL1 = 'TABLE' ESCLAVE ; TMODL1 . 1 = MODL1 ; TMODL1 . 3 = MODL2 ; TMODL1 . 4 = MODL4 ; * Declaration de 2 assistants 'OPTI' 'ASSI' 2 ; TMAT1 = ASSI 'TOUS' 'MATER' TMODL1 'YOUNG' 1E5 'NU' 0.3 ; la commande precedente est equivalente aux instructions suivantes : TMAT1 = 'TABLE' ESCLAVE ; TMAT1 . 1 = ASSI 1 'MATER' TMODL1 . 1 'YOUNG' 1E5 'NU' 0.3 ; TMAT1 . 3 = 'MATER' TMODL1 . 3 'YOUNG' 1E5 'NU' 0.3 ; TMAT1 . 4 = ASSI 1 'MATER' TMODL1 . 4 'YOUNG' 1E5 'NU' 0.3 ; Remarques : ___________ Lors de l'utilisation de l'option 'tous', toutes les tables ESCLAVES existantes dans l'instruction doivent avoir les memes indices. Il est tres fortement deconseiller de transferer des tables a un assistant i car ces objets peuvent etre modifies durant l'operation. Il est possible de faire travailler le maitre comme un assistant (le numero d'assistant qui lui est associe est 0 ). Il est possible de definir un IASSIS plus grand que le nombre d'assistants declares NBass (opti assi nbass ; ). L'operation sera transferee sur l'assistant I defini par I = modulo (IASSIS,nbass+1) (le maitre jouant aussi le role d'un assistant). Ces deux dernieres proprietes permettent de tester un programme GIBIANE parallele sur une machine sequentielle en definisaant 0 assistant ('OPTI' 'ASSI' 0 ; ).
© Cast3M 2003 - Tous droits réservés.
Mentions légales