Creates a 64-bit remote address table.
Availability Library (liblapi_r.a)
#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;
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 ierror
Type of call: collective communication (blocking)
LAPI_Address_init64 exchanges virtual addresses among a mixture of 32-bit and 64-bit tasks of a parallel application. Use this subroutine to create 64-bit tables of such items as header handlers, target counters, and data buffer addresses.
LAPI_Address_init64 is a collective call over the LAPI handle hndl, which fills the 64-bit table add_tab with the virtual address entries that each task supplies. Collective calls must be made in the same order at all participating tasks.
The addresses that are stored in the table add_tab are passed in using the my_addr parameter. Upon completion of this call, add_tab[i] contains the virtual address entry that was provided by task i. The array is opaque to the user.
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. */