Skip to content

Commit 69c6ec8

Browse files
committed
ch4: replace MPIDIU_get_av
We no longer expose avtid. Replace MPIDIU_get_av with MPIDIU_lpid_to_av. Also remote unused GPID macros.
1 parent ada8580 commit 69c6ec8

File tree

8 files changed

+17
-38
lines changed

8 files changed

+17
-38
lines changed

src/mpid/ch4/include/mpidpre.h

-11
Original file line numberDiff line numberDiff line change
@@ -637,17 +637,6 @@ typedef struct MPIDI_av_entry {
637637

638638
#define HAVE_DEV_COMM_HOOK
639639

640-
/*
641-
* operation for (avtid, lpid) to/from gpid
642-
*/
643-
#define MPIDIU_LPID_BITS 32
644-
#define MPIDIU_LPID_MASK 0xFFFFFFFFU
645-
#define MPIDIU_GPID_CREATE(avtid, lpid) (((uint64_t) (avtid) << MPIDIU_LPID_BITS) | (lpid))
646-
#define MPIDIU_GPID_GET_AVTID(gpid) ((gpid) >> MPIDIU_LPID_BITS)
647-
#define MPIDIU_GPID_GET_LPID(gpid) ((gpid) & MPIDIU_LPID_MASK)
648-
649-
#define MPIDI_DYNPROC_MASK (0x80000000U)
650-
651640
int MPIDI_check_for_failed_procs(void);
652641

653642
#ifdef HAVE_SIGNAL

src/mpid/ch4/netmod/ofi/init_addrxchg.c

+6-6
Original file line numberDiff line numberDiff line change
@@ -133,7 +133,7 @@ int MPIDI_OFI_addr_exchange_root_ctx(void)
133133

134134
for (int i = 0; i < num_nodes; i++) {
135135
MPIR_Assert(mapped_table[i] != FI_ADDR_NOTAVAIL);
136-
MPIDI_OFI_AV(&MPIDIU_get_av(0, node_roots[i])).dest[0][0] = mapped_table[i];
136+
MPIDI_OFI_AV(MPIDIU_lpid_to_av(node_roots[i])).dest[0][0] = mapped_table[i];
137137
}
138138
MPL_free(mapped_table);
139139
/* Then, allgather all address names using init_comm */
@@ -149,7 +149,7 @@ int MPIDI_OFI_addr_exchange_root_ctx(void)
149149
char *addrname = (char *) table + recv_bc_len * rank_map[i];
150150
MPIDI_OFI_CALL(fi_av_insert(MPIDI_OFI_global.ctx[0].av,
151151
addrname, 1, &addr, 0ULL, NULL), avmap);
152-
MPIDI_OFI_AV(&MPIDIU_get_av(0, i)).dest[0][0] = addr;
152+
MPIDI_OFI_AV(MPIDIU_lpid_to_av(i)).dest[0][0] = addr;
153153
}
154154
}
155155
mpi_errno = MPIDU_bc_table_destroy();
@@ -163,7 +163,7 @@ int MPIDI_OFI_addr_exchange_root_ctx(void)
163163

164164
for (int i = 0; i < size; i++) {
165165
MPIR_Assert(mapped_table[i] != FI_ADDR_NOTAVAIL);
166-
MPIDI_OFI_AV(&MPIDIU_get_av(0, i)).dest[0][0] = mapped_table[i];
166+
MPIDI_OFI_AV(MPIDIU_lpid_to_av(i)).dest[0][0] = mapped_table[i];
167167
}
168168
MPL_free(mapped_table);
169169
mpi_errno = MPIDU_bc_table_destroy();
@@ -173,7 +173,7 @@ int MPIDI_OFI_addr_exchange_root_ctx(void)
173173
/* check */
174174
if (MPIDI_OFI_ENABLE_AV_TABLE) {
175175
for (int r = 0; r < size; r++) {
176-
MPIDI_OFI_addr_t *av ATTRIBUTE((unused)) = &MPIDI_OFI_AV(&MPIDIU_get_av(0, r));
176+
MPIDI_OFI_addr_t *av ATTRIBUTE((unused)) = &MPIDI_OFI_AV(MPIDIU_lpid_to_av(r));
177177
MPIR_Assert(av->dest[0][0] == get_root_av_table_index(r));
178178
}
179179
}
@@ -192,7 +192,7 @@ int MPIDI_OFI_addr_exchange_root_ctx(void)
192192
/* Macros to reduce clutter, so we can focus on the ordering logics.
193193
* Note: they are not perfectly wrapped, but tolerable since only used here. */
194194
#define GET_AV_AND_ADDRNAMES(rank) \
195-
MPIDI_OFI_addr_t *av ATTRIBUTE((unused)) = &MPIDI_OFI_AV(&MPIDIU_get_av(0, rank)); \
195+
MPIDI_OFI_addr_t *av ATTRIBUTE((unused)) = &MPIDI_OFI_AV(MPIDIU_lpid_to_av(rank)); \
196196
char *r_names = all_names + rank * max_vcis * num_nics * name_len;
197197

198198
#define DO_AV_INSERT(ctx_idx, nic, vci) \
@@ -346,7 +346,7 @@ int MPIDI_OFI_addr_exchange_all_ctx(void)
346346
#if MPIDI_CH4_MAX_VCIS > 1
347347
if (MPIDI_OFI_ENABLE_AV_TABLE) {
348348
for (int r = 0; r < size; r++) {
349-
MPIDI_OFI_addr_t *av ATTRIBUTE((unused)) = &MPIDI_OFI_AV(&MPIDIU_get_av(0, r));
349+
MPIDI_OFI_addr_t *av ATTRIBUTE((unused)) = &MPIDI_OFI_AV(MPIDIU_lpid_to_av(r));
350350
for (int nic = 0; nic < num_nics; nic++) {
351351
for (int vci = 0; vci < NUM_VCIS_FOR_RANK(r); vci++) {
352352
MPIR_Assert(av->dest[nic][vci] == get_av_table_index(r, nic, vci,

src/mpid/ch4/netmod/ofi/ofi_impl.h

-3
Original file line numberDiff line numberDiff line change
@@ -31,9 +31,6 @@ ATTRIBUTE((unused));
3131
#define MPIDI_OFI_DT(dt) ((dt)->dev.netmod.ofi)
3232
#define MPIDI_OFI_OP(op) ((op)->dev.netmod.ofi)
3333
#define MPIDI_OFI_COMM(comm) ((comm)->dev.ch4.netmod.ofi)
34-
#define MPIDI_OFI_TO_PHYS(avtid, lpid, _nic) \
35-
MPIDI_OFI_AV(&MPIDIU_get_av((avtid), (lpid))).dest[_nic][0]
36-
3734
#define MPIDI_OFI_WIN(win) ((win)->dev.netmod.ofi)
3835

3936
#define MPIDI_OFI_NIC_NAME(nic) (MPIDI_OFI_global.prov_use[nic] ? \

src/mpid/ch4/netmod/ofi/ofi_init.c

+4-4
Original file line numberDiff line numberDiff line change
@@ -943,7 +943,7 @@ static int flush_send(int dst, int nic, int vci, MPIDI_OFI_dynamic_process_reque
943943
{
944944
int mpi_errno = MPI_SUCCESS;
945945

946-
fi_addr_t addr = MPIDI_OFI_av_to_phys(&MPIDIU_get_av(0, dst), nic, vci);
946+
fi_addr_t addr = MPIDI_OFI_av_to_phys(MPIDIU_lpid_to_av(dst), nic, vci);
947947
static int data = 0;
948948
uint64_t match_bits =
949949
MPIDI_OFI_init_sendtag(MPIDI_OFI_FLUSH_CONTEXT_ID, 0, MPIDI_OFI_FLUSH_TAG);
@@ -974,7 +974,7 @@ static int flush_recv(int src, int nic, int vci, MPIDI_OFI_dynamic_process_reque
974974
{
975975
int mpi_errno = MPI_SUCCESS;
976976

977-
fi_addr_t addr = MPIDI_OFI_av_to_phys(&MPIDIU_get_av(0, src), nic, vci);
977+
fi_addr_t addr = MPIDI_OFI_av_to_phys(MPIDIU_lpid_to_av(src), nic, vci);
978978
uint64_t mask_bits = 0;
979979
uint64_t match_bits =
980980
MPIDI_OFI_init_sendtag(MPIDI_OFI_FLUSH_CONTEXT_ID, 0, MPIDI_OFI_FLUSH_TAG);
@@ -1555,10 +1555,10 @@ static int try_open_shared_av(struct fid_domain *domain, struct fid_av **p_av, i
15551555
/* directly references the mapped fi_addr_t array instead */
15561556
fi_addr_t *mapped_table = (fi_addr_t *) av_attr.map_addr;
15571557
for (int i = 0; i < MPIR_Process.size; i++) {
1558-
MPIDI_OFI_AV(&MPIDIU_get_av(0, i)).dest[nic][0] = mapped_table[i];
1558+
MPIDI_OFI_AV(MPIDIU_lpid_to_av(i)).dest[nic][0] = mapped_table[i];
15591559
MPL_DBG_MSG_FMT(MPIDI_CH4_DBG_MAP, VERBOSE,
15601560
(MPL_DBG_FDEST, " grank mapped to: rank=%d, av=%p, dest=%" PRIu64,
1561-
i, (void *) &MPIDIU_get_av(0, i), mapped_table[i]));
1561+
i, (void *) MPIDIU_lpid_to_av(i), mapped_table[i]));
15621562
}
15631563
ret = 1;
15641564
}

src/mpid/ch4/netmod/ofi/ofi_spawn.c

+1-3
Original file line numberDiff line numberDiff line change
@@ -16,9 +16,7 @@ int MPIDI_OFI_dynamic_send(MPIR_Lpid remote_lpid, int tag, const void *buf, int
1616
int nic = 0; /* dynamic process only use nic 0 */
1717
int vci = 0; /* dynamic process only use vci 0 */
1818
int ctx_idx = 0;
19-
int avtid = MPIDIU_GPID_GET_AVTID(remote_lpid);
20-
int lpid = MPIDIU_GPID_GET_LPID(remote_lpid);
21-
fi_addr_t remote_addr = MPIDI_OFI_av_to_phys(&MPIDIU_get_av(avtid, lpid), nic, vci);
19+
fi_addr_t remote_addr = MPIDI_OFI_av_to_phys(MPIDIU_lpid_to_av_slow(remote_lpid), nic, vci);
2220

2321
MPID_THREAD_CS_ENTER(VCI, MPIDI_VCI(vci).lock);
2422

src/mpid/ch4/netmod/ucx/ucx_init.c

+5-5
Original file line numberDiff line numberDiff line change
@@ -102,7 +102,7 @@ static int initial_address_exchange(void)
102102
ep_params.address = (ucp_address_t *) ((char *) table + i * recv_bc_len);
103103
ucx_status =
104104
ucp_ep_create(MPIDI_UCX_global.ctx[0].worker, &ep_params,
105-
&MPIDI_UCX_AV(&MPIDIU_get_av(0, node_roots[i])).dest[0][0]);
105+
&MPIDI_UCX_AV(MPIDIU_lpid_to_av(node_roots[i])).dest[0][0]);
106106
MPIDI_UCX_CHK_STATUS(ucx_status);
107107
MPIDIU_upidhash_add(ep_params.address, recv_bc_len, node_roots[i]);
108108
}
@@ -117,7 +117,7 @@ static int initial_address_exchange(void)
117117
ep_params.field_mask = UCP_EP_PARAM_FIELD_REMOTE_ADDRESS;
118118
ep_params.address = (ucp_address_t *) ((char *) table + rank_map[i] * recv_bc_len);
119119
ucx_status = ucp_ep_create(MPIDI_UCX_global.ctx[0].worker, &ep_params,
120-
&MPIDI_UCX_AV(&MPIDIU_get_av(0, i)).dest[0][0]);
120+
&MPIDI_UCX_AV(MPIDIU_lpid_to_av(i)).dest[0][0]);
121121
MPIDI_UCX_CHK_STATUS(ucx_status);
122122
MPIDIU_upidhash_add(ep_params.address, recv_bc_len, i);
123123
}
@@ -130,7 +130,7 @@ static int initial_address_exchange(void)
130130
ep_params.address = (ucp_address_t *) ((char *) table + i * recv_bc_len);
131131
ucx_status =
132132
ucp_ep_create(MPIDI_UCX_global.ctx[0].worker, &ep_params,
133-
&MPIDI_UCX_AV(&MPIDIU_get_av(0, i)).dest[0][0]);
133+
&MPIDI_UCX_AV(MPIDIU_lpid_to_av(i)).dest[0][0]);
134134
MPIDI_UCX_CHK_STATUS(ucx_status);
135135
MPIDIU_upidhash_add(ep_params.address, recv_bc_len, i);
136136
}
@@ -180,7 +180,7 @@ static int all_vcis_address_exchange(void)
180180
ucp_ep_params_t ep_params;
181181
for (int vci_local = 0; vci_local < num_vcis; vci_local++) {
182182
for (int r = 0; r < size; r++) {
183-
MPIDI_UCX_addr_t *av = &MPIDI_UCX_AV(&MPIDIU_get_av(0, r));
183+
MPIDI_UCX_addr_t *av = &MPIDI_UCX_AV(MPIDIU_lpid_to_av(r));
184184
for (int vci_remote = 0; vci_remote < num_vcis; vci_remote++) {
185185
if (vci_local == 0 && vci_remote == 0) {
186186
/* don't overwrite existing addr, or bad things will happen */
@@ -369,7 +369,7 @@ int MPIDI_UCX_mpi_finalize_hook(void)
369369

370370
int p = 0;
371371
for (int i = 0; i < MPIR_Process.size; i++) {
372-
MPIDI_UCX_addr_t *av = &MPIDI_UCX_AV(&MPIDIU_get_av(0, i));
372+
MPIDI_UCX_addr_t *av = &MPIDI_UCX_AV(MPIDIU_lpid_to_av(i));
373373
for (int vci_local = 0; vci_local < MPIDI_UCX_global.num_vcis; vci_local++) {
374374
for (int vci_remote = 0; vci_remote < MPIDI_UCX_global.num_vcis; vci_remote++) {
375375
ucp_request = ucp_disconnect_nb(av->dest[vci_local][vci_remote]);

src/mpid/ch4/netmod/ucx/ucx_spawn.c

+1-3
Original file line numberDiff line numberDiff line change
@@ -29,9 +29,7 @@ int MPIDI_UCX_dynamic_send(MPIR_Lpid remote_lpid, int tag, const void *buf, int
2929

3030
MPID_THREAD_CS_ENTER(VCI, MPIDI_VCI(vci).lock);
3131

32-
int avtid = MPIDIU_GPID_GET_AVTID(remote_lpid);
33-
int lpid = MPIDIU_GPID_GET_LPID(remote_lpid);
34-
ucp_ep_h ep = MPIDI_UCX_AV_TO_EP(&MPIDIU_get_av(avtid, lpid), vci, vci);
32+
ucp_ep_h ep = MPIDI_UCX_AV_TO_EP(MPIDIU_lpid_to_av(remote_lpid), vci, vci);
3533

3634
bool done = false;
3735
ucp_request_param_t param = {

src/mpid/ch4/src/ch4_types.h

-3
Original file line numberDiff line numberDiff line change
@@ -214,9 +214,6 @@ typedef struct {
214214
MPIDI_dyn_av_table_t dynamic_av_table;
215215
} MPIDIU_avt_manager;
216216

217-
#define MPIDIU_get_av_table(avtid) (MPIDI_global.avt_mgr.av_tables[(avtid)])
218-
#define MPIDIU_get_av(avtid, lpid) (MPIDI_global.avt_mgr.av_tables[(avtid)]->table[(lpid)])
219-
220217
typedef struct {
221218
uint64_t key;
222219
void *value;

0 commit comments

Comments
 (0)