Skip to content

Commit 9f4b7ba

Browse files
authored
Merge pull request open-mpi#7002 from hoopoepg/topic/restored-ikrit-compilation-v4.0
IKRIT: restored compilation - v4.0
2 parents 32984ce + f8843bb commit 9f4b7ba

File tree

3 files changed

+44
-39
lines changed

3 files changed

+44
-39
lines changed

oshmem/mca/memheap/base/base.h

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -36,13 +36,14 @@ OSHMEM_DECLSPEC int mca_memheap_base_select(void);
3636
#define MEMHEAP_BASE_MIN_ORDER 3 /* forces 64 bit alignment */
3737
#define MEMHEAP_BASE_PAGE_ORDER 21
3838
#define MEMHEAP_BASE_PRIVATE_SIZE (1ULL << MEMHEAP_BASE_PAGE_ORDER) /* should be at least the same as a huge page size */
39-
#define MEMHEAP_BASE_MIN_SIZE (1ULL << MEMHEAP_BASE_PAGE_ORDER) /* must fit into at least one huge page */
39+
#define MEMHEAP_BASE_MIN_SIZE (1ULL << MEMHEAP_BASE_PAGE_ORDER) /* must fit into at least one huge page */
4040

4141
extern int mca_memheap_base_already_opened;
4242
extern int mca_memheap_base_key_exchange;
4343

4444
#define MCA_MEMHEAP_MAX_SEGMENTS 8
4545
#define HEAP_SEG_INDEX 0
46+
#define MCA_MEMHEAP_SEG_COUNT 2
4647

4748
#define MEMHEAP_SEG_INVALID 0xFFFF
4849

oshmem/mca/spml/ikrit/spml_ikrit.c

Lines changed: 41 additions & 37 deletions
Original file line numberDiff line numberDiff line change
@@ -151,44 +151,46 @@ int mca_spml_ikrit_put_simple(void* dst_addr,
151151
void* src_addr,
152152
int dst);
153153

154-
static void mca_spml_ikrit_cache_mkeys(sshmem_mkey_t *, uint32_t seg, int remote_pe, int tr_id);
154+
static void mca_spml_ikrit_cache_mkeys(shmem_ctx_t ctx, sshmem_mkey_t *,
155+
uint32_t seg, int remote_pe, int tr_id);
155156

156157
static mxm_mem_key_t *mca_spml_ikrit_get_mkey_slow(int pe, void *va, int ptl_id, void **rva);
157158

158159
mca_spml_ikrit_t mca_spml_ikrit = {
159-
{
160+
.super = {
160161
/* Init mca_spml_base_module_t */
161-
mca_spml_ikrit_add_procs,
162-
mca_spml_ikrit_del_procs,
163-
mca_spml_ikrit_enable,
164-
mca_spml_ikrit_register,
165-
mca_spml_ikrit_deregister,
166-
mca_spml_ikrit_oob_get_mkeys,
167-
mca_spml_ikrit_ctx_create,
168-
mca_spml_ikrit_ctx_destroy,
169-
mca_spml_ikrit_put,
170-
mca_spml_ikrit_put_nb,
171-
mca_spml_ikrit_get,
172-
mca_spml_ikrit_get_nb,
173-
mca_spml_ikrit_recv,
174-
mca_spml_ikrit_send,
175-
mca_spml_base_wait,
176-
mca_spml_base_wait_nb,
177-
mca_spml_base_test,
178-
mca_spml_ikrit_fence, /* fence is implemented as quiet */
179-
mca_spml_ikrit_fence,
180-
mca_spml_ikrit_cache_mkeys,
181-
mca_spml_base_rmkey_free,
182-
mca_spml_base_rmkey_ptr,
183-
mca_spml_base_memuse_hook,
184-
mca_spml_base_put_all_nb,
185-
186-
(void*)&mca_spml_ikrit
162+
.spml_add_procs = mca_spml_ikrit_add_procs,
163+
.spml_del_procs = mca_spml_ikrit_del_procs,
164+
.spml_enable = mca_spml_ikrit_enable,
165+
.spml_register = mca_spml_ikrit_register,
166+
.spml_deregister = mca_spml_ikrit_deregister,
167+
.spml_oob_get_mkeys = mca_spml_ikrit_oob_get_mkeys,
168+
.spml_ctx_create = mca_spml_ikrit_ctx_create,
169+
.spml_ctx_destroy = mca_spml_ikrit_ctx_destroy,
170+
.spml_put = mca_spml_ikrit_put,
171+
.spml_put_nb = mca_spml_ikrit_put_nb,
172+
.spml_get = mca_spml_ikrit_get,
173+
.spml_get_nb = mca_spml_ikrit_get_nb,
174+
.spml_recv = mca_spml_ikrit_recv,
175+
.spml_send = mca_spml_ikrit_send,
176+
.spml_wait = mca_spml_base_wait,
177+
.spml_wait_nb = mca_spml_base_wait_nb,
178+
.spml_test = mca_spml_base_test,
179+
.spml_fence = mca_spml_ikrit_fence, /* fence is implemented as quiet */
180+
.spml_quiet = mca_spml_ikrit_fence,
181+
.spml_rmkey_unpack = mca_spml_ikrit_cache_mkeys,
182+
.spml_rmkey_free = mca_spml_base_rmkey_free,
183+
.spml_rmkey_ptr = mca_spml_base_rmkey_ptr,
184+
.spml_memuse_hook = mca_spml_base_memuse_hook,
185+
.spml_put_all_nb = mca_spml_base_put_all_nb,
186+
187+
.self = (void*)&mca_spml_ikrit
187188
},
188-
mca_spml_ikrit_get_mkey_slow
189+
.get_mkey_slow = mca_spml_ikrit_get_mkey_slow
189190
};
190191

191-
static void mca_spml_ikrit_cache_mkeys(sshmem_mkey_t *mkey, uint32_t seg, int dst_pe, int tr_id)
192+
static void mca_spml_ikrit_cache_mkeys(shmem_ctx_t ctx, sshmem_mkey_t *mkey,
193+
uint32_t seg, int dst_pe, int tr_id)
192194
{
193195
mxm_peer_t *peer;
194196

@@ -212,7 +214,7 @@ mxm_mem_key_t *mca_spml_ikrit_get_mkey_slow(int pe, void *va, int ptl_id, void *
212214
sshmem_mkey_t *mkey;
213215

214216
retry:
215-
mkey = mca_memheap_base_get_cached_mkey(pe, va, ptl_id, rva);
217+
mkey = mca_memheap_base_get_cached_mkey(oshmem_ctx_default, pe, va, ptl_id, rva);
216218
if (NULL == mkey) {
217219
SPML_ERROR("pe=%d: %p is not address of shared variable", pe, va);
218220
oshmem_shmem_abort(-1);
@@ -438,9 +440,9 @@ int mca_spml_ikrit_add_procs(ompi_proc_t** procs, size_t nprocs)
438440
}
439441

440442
sshmem_mkey_t *mca_spml_ikrit_register(void* addr,
441-
size_t size,
442-
uint64_t shmid,
443-
int *count)
443+
size_t size,
444+
uint64_t shmid,
445+
int *count)
444446
{
445447
int i;
446448
sshmem_mkey_t *mkeys;
@@ -507,7 +509,8 @@ sshmem_mkey_t *mca_spml_ikrit_register(void* addr,
507509
my_rank, i, addr, (unsigned long long)size,
508510
mca_spml_base_mkey2str(&mkeys[i]));
509511

510-
mca_spml_ikrit_cache_mkeys(&mkeys[i], memheap_find_segnum(addr), my_rank, i);
512+
mca_spml_ikrit_cache_mkeys(oshmem_ctx_default, &mkeys[i],
513+
memheap_find_segnum(addr), my_rank, i);
511514
}
512515
*count = MXM_PTL_LAST;
513516

@@ -551,7 +554,8 @@ int mca_spml_ikrit_deregister(sshmem_mkey_t *mkeys)
551554

552555
}
553556

554-
int mca_spml_ikrit_oob_get_mkeys(int pe, uint32_t seg, sshmem_mkey_t *mkeys)
557+
int mca_spml_ikrit_oob_get_mkeys(shmem_ctx_t ctx, int pe, uint32_t seg,
558+
sshmem_mkey_t *mkeys)
555559
{
556560
int ptl;
557561

@@ -570,7 +574,7 @@ int mca_spml_ikrit_oob_get_mkeys(int pe, uint32_t seg, sshmem_mkey_t *mkeys)
570574
mkeys[ptl].len = 0;
571575
mkeys[ptl].va_base = mca_memheap_seg2base_va(seg);
572576
mkeys[ptl].u.key = MAP_SEGMENT_SHM_INVALID;
573-
mca_spml_ikrit_cache_mkeys(&mkeys[ptl], seg, pe, ptl);
577+
mca_spml_ikrit_cache_mkeys(ctx, &mkeys[ptl], seg, pe, ptl);
574578
return OSHMEM_SUCCESS;
575579
}
576580

oshmem/mca/spml/ikrit/spml_ikrit.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -183,7 +183,7 @@ extern sshmem_mkey_t *mca_spml_ikrit_register(void* addr,
183183
uint64_t shmid,
184184
int *count);
185185
extern int mca_spml_ikrit_deregister(sshmem_mkey_t *mkeys);
186-
extern int mca_spml_ikrit_oob_get_mkeys(int pe,
186+
extern int mca_spml_ikrit_oob_get_mkeys(shmem_ctx_t ctx, int pe,
187187
uint32_t segno,
188188
sshmem_mkey_t *mkeys);
189189

0 commit comments

Comments
 (0)