Envoie de valeurs sur différents processeurs. Plus de détails...
#include <arcane/core/ITransferValuesParallelOperation.h>
Fonctions membres publiques | |
virtual | ~ITransferValuesParallelOperation () |
Destructeur. | |
virtual IParallelMng * | parallelMng ()=0 |
Gestionnaire de parallélisme associé | |
virtual void | setTransferRanks (Int32ConstArrayView ranks)=0 |
Positionne le tableau indiquant à qui envoyer les valeurs. | |
virtual void | addArray (Int32ConstArrayView send_values, SharedArray< Int32 > recv_value)=0 |
Ajoute un tableau de Int32 . | |
virtual void | addArray (Int64ConstArrayView send_values, SharedArray< Int64 > recv_values)=0 |
Ajoute un tableau de Int64 . | |
virtual void | addArray (RealConstArrayView send_values, SharedArray< Real > recv_values)=0 |
Ajoute un tableau de Int64 . | |
virtual void | transferValues ()=0 |
Envoie et réceptionne les valeurs. | |
Envoie de valeurs sur différents processeurs.
Cette opération permet de communiquer des valeurs avec les autres processeurs. Le tableau ranks indique pour chaque élément le rang du processeur auquel il est destiné. Il est ensuite possible de spécifier des tableaux contenant les valeurs à envoyer et à recevoir. Les tableaux d'envois doivent avoir le même nombre d'élément que ranks
Une instance ne sert qu'une fois. Une fois le transfert terminé, elle peut être détruite.
Par exemple, pour un cas à 3 processeurs:
Pour effectuer le transfert
Après envoie la processeur de rang 0 aura les valeurs suivantes:
A noter que l'ordre des éléments est indéterminé
Définition à la ligne 107 du fichier ITransferValuesParallelOperation.h.
|
inlinevirtual |
Destructeur.
Définition à la ligne 111 du fichier ITransferValuesParallelOperation.h.
|
pure virtual |
Envoie et réceptionne les valeurs.
Cet appel est collectif et bloquant.