Commit 80351247 authored by Paul Coffman's avatar Paul Coffman Committed by Rob Latham
Browse files

Remove Blue Gene/Q specific MPID_VCR_GET_LPIDS

Since Blue Gene/Q does not support dynamic tasking there was only 1
element in the MPID_VCR_t data structure so a shortcut was taken
to avoid a malloc and free of a new list of pami_task_t in a form
the pami geometry creation was expecting.  However it seems an
array of structures with 1 pami_task_t element in it is not exactly the same
in memory as an array of pami_task_t  themselves so the pami
geometry creation was failing.  The fix is to simply do what
all other platforms do and malloc a separate list of pami_task_t.
Signed-off-by: Rob Latham's avatarRob Latham <>
parent 1a4265d0
......@@ -133,14 +133,6 @@ _data_sz_out) \
vcr[index]->taskid; \
#ifdef __BGQ__
/* BGQ just shares the MPICH vcr/tasklist.
This relies on the VCR being a simple task list which is asserted
in static_assertions() in mpid_init.c */
#define MPID_VCR_GET_LPIDS(comm, taskids) taskids = &((*comm->vcr)->taskid);
#define MPID_VCR_FREE_LPIDS(taskids)
/* non-BGQ mallocs and copies the MPICH vcr/tasklist */
#define MPID_VCR_GET_LPIDS(comm, taskids) \
({ \
int i; \
......@@ -151,8 +143,6 @@ _data_sz_out) \
#define MPID_VCR_FREE_LPIDS(taskids) MPIU_Free(taskids)
#define MPID_GPID_Get(comm_ptr, rank, gpid) \
({ \
gpid[1] = MPID_VCR_GET_LPID(comm_ptr->vcr, rank); \
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment