Télécharger assi.notice

Retour à la liste

Afficher cette notice en

Numérotation des lignes :
$$$$ 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