MPI_Win_allocate_shared, fonction
Crée un objet Window MPI qui alloue de la mémoire, la mémoire allouée est accessible à partir de tous les processus du groupe de la fenêtre avec des instructions de chargement/de magasin directes.
Syntaxe
int MPIAPI MPI_Win_allocate_shared(
MPI_Aint size,
int disp_unit,
MPI_Info info,
MPI_Comm comm,
_Out_ void *baseptr,
_Out_ MPI_Win *win
);
Paramètres
size
Taille de la fenêtre mémoire en octets.disp_unit
Taille d’unité locale pour les déplacements, en octets.info
Argument Info.comm
Intra-communicateur.baseptr [out]
Adresse du segment de fenêtre alloué local.win [out]
Objet window retourné par l’appel.
Valeur retournée
Retourne MPI_SUCCESS en cas de réussite. Sinon, la valeur de retour est un code d’erreur.
Dans Fortran, la valeur de retour est stockée dans le paramètre IERROR .
Fortran
MPI_WIN_ALLOCATE_SHARED(SIZE, DISP_UNIT, INFO, COMM, BASEPTR, WIN, IERROR)
<type> BASEPTR(*)
INTEGER(KIND=MPI_ADDRESS_KIND) SIZE
INTEGER DISP_UNIT, INFO, COMM, WIN, IERROR
Remarques
Il s’agit d’un appel collectif exécuté par tous les processus du groupe de comm. Sur chaque processus, il alloue de la mémoire d’une taille minimale d’octets qui est partagée entre tous les processus dans comm, et retourne un pointeur vers le segment alloué localement dans baseptr qui peut être utilisé pour les accès de charge/stockage sur le processus appelant. La mémoire allouée localement peut être la cible des accès de chargement/stockage par des processus distants ; les pointeurs de base pour d’autres processus peuvent être interrogés à l’aide de la fonction MPI_Win_shared_query. L’appel retourne également un objet window qui peut être utilisé par tous les processus de comm pour effectuer des opérations RMA. L’argument size peut être différent à chaque processus et size = 0 est valide. Il incombe à l’utilisateur de s’assurer que la communication du communicateur représente un groupe de processus pouvant créer un segment de mémoire partagée accessible par tous les processus du groupe.
Configuration requise
Produit |
Package redistribuable MS-MPI HPC Pack 2012, package redistribuable HPC Pack 2008 R2 MS-MPI, package redistribuable MS-MPI HPC Pack 2008 ou utilitaires clients HPC Pack 2008 |
En-tête |
Mpi.h ; Mpif.h |
Bibliothèque |
Msmpi.lib |
DLL |
Msmpi.dll |