LAPI_Address_init64 Sous-routine
Objectif
Crée une table d'adresses distante 64 bits.
Bibliothèque
Bibliothèque de disponibilité (liblapi_r.a)
Syntaxe C
#include <lapi.h>
int LAPI_Address_init64(hndl, my_addr, add_tab)
lapi_handle_t hndl;
lapi_long_t my_addr;
lapi_long_t *add_tab;Syntaxe FORTRAN
include 'lapif.h'
LAPI_ADDRESS_INIT64(hndl, my_addr, add_tab, ierror)
INTEGER hndl
INTEGER (KIND=LAPI_ADDR_TYPE) :: my_addr
INTEGER (KIND=LAPI_LONG_LONG_TYPE) :: add_tab(*)
INTEGER ierrorDescriptif
Communication de la collectivité Type of call: (blocage)
LAPI_Address_init64 échange des adresses virtuelles entre une combinaison de tâches 32 bits et 64 bits d'une application parallèle. Utilisez cette sous-routine pour créer des tables 64 bits d'éléments tels que des gestionnaires d'en-tête, des compteurs cible et des adresses de mémoire tampon de données.
LAPI_Address_init64 est un appel de collectivité sur le descripteur LAPI hndl, qui remplit la table 64 bits add_tab avec les entrées d'adresse virtuelle fournies par chaque tâche. Les appels collectifs doivent être effectués dans le même ordre pour toutes les tâches participantes.
Les adresses stockées dans la table add_tab sont transmises à l'aide du paramètre my_addr . Une fois cet appel terminé, add_tab [ i ] contient l'entrée d'adresse virtuelle fournie par la tâche i. Le tableau est opaque pour l'utilisateur.
Paramètres
- ENTREE
- hndl
- Indique le descripteur LAPI.
- mon_adresse
- Indique l'entrée d'adresse fournie par chaque tâche. La valeur de ce paramètre peut être NULL (en C) ou LAPI_ADDR_NULL (en FORTRAN). Pour garantir l'interopérabilité 32-bit/64-bit , elle est transmise en tant que type lapi_long_t dans C.
- Sortie
- onglet supplémentaire
- Indique la table d'adresses 64 bits qui contient les valeurs 64 bits fournies par toutes les tâches. add_tab est un tableau de type lapi_long_t (en C) ou LAPI_LONG_LONG_TYPE (en FORTRAN). La taille de add_tab est supérieure ou égale à NUM_TASKS. La valeur de ce paramètre ne peut pas être NULL (en C) ou LAPI_ADDR_NULL (en FORTRAN).
- erreur ierror
- Indique un code retour FORTRAN. Il s'agit toujours du dernier paramètre.
Exemples C
lapi_handle_t hndl; /* the LAPI handle */
lapi_long_t addr_tbl[NUM_TASKS]; /* the table for all tasks' addresses */
lapi_long_t tgt_cntr; /* the target counter */
⋮
LAPI_Address_init64(hndl, (lapi_long_t)&tgt_cntr, addr_tbl);
/* For communication with task t, use addr_tbl[t] as the address */
/* of the target counter. For mixed (32-bit and 64-bit) jobs, */
/* use the LAPI_Xfer subroutine for communication. */
Valeurs renvoyées
- SUCCÈS_LAPIEU
- Indique que l'appel de fonction a abouti.
- LAPI_ERR_COLLECTIVE_PSS
- Indique qu'un appel de collectivité a été effectué en mode de sous-système persistant (PSS).
- LAPI_ERR_HNDL_INVALID
- Indique que le hndl transmis n'est pas valide (non initialisé ou à l'état arrêté).
- LAPI_ERR_RET_PTR_NULL
- Indique que la valeur du pointeur add_tab est NULL (en C) ou que la valeur de add_tab est LAPI_ADDR_NULL (en FORTRAN).
Emplacement
- /usr/lib/liblapi_r.a