[mpich2-commits] r5489 - in mpich2/trunk/src: include mpid/ch3/src pmi/pmi2
buntinas at mcs.anl.gov
buntinas at mcs.anl.gov
Tue Oct 20 11:31:23 CDT 2009
Author: buntinas
Date: 2009-10-20 11:31:23 -0500 (Tue, 20 Oct 2009)
New Revision: 5489
Modified:
mpich2/trunk/src/include/pmi2.h
mpich2/trunk/src/mpid/ch3/src/ch3u_comm_spawn_multiple.c
mpich2/trunk/src/mpid/ch3/src/mpidi_pg.c
mpich2/trunk/src/pmi/pmi2/simple2pmi.c
mpich2/trunk/src/pmi/pmi2/simple2pmi.h
Log:
added srcid field to pmi2 get
Modified: mpich2/trunk/src/include/pmi2.h
===================================================================
--- mpich2/trunk/src/include/pmi2.h 2009-10-20 08:20:51 UTC (rev 5488)
+++ mpich2/trunk/src/include/pmi2.h 2009-10-20 16:31:23 UTC (rev 5489)
@@ -14,6 +14,7 @@
#define PMI2_MAX_KEYLEN 64
#define PMI2_MAX_VALLEN 1024
#define PMI2_MAX_ATTRVALUE 1024
+#define PMI2_ID_NULL -1
#if defined(__cplusplus)
extern "C" {
@@ -301,6 +302,9 @@
Input Parameters:
+ jobid - the job id identifying the key-value space in which to look
for key. If jobid is NULL, look in the key-value space of this job.
+ . src_pmi_id - the pmi id of the process which put this keypair. This
+ is just a hint to the server. PMI2_ID_NULL should be passed if no
+ hint is provided.
. key - key
- maxvalue - size of the buffer provided in value
@@ -313,7 +317,7 @@
Returns 'MPI_SUCCESS' on success and an MPI error code on failure.
@*/
-int PMI2_KVS_Get(const char *jobid, const char key[], char value [], int maxvalue, int *vallen);
+int PMI2_KVS_Get(const char *jobid, int src_pmi_id, const char key[], char value [], int maxvalue, int *vallen);
/*@
PMI2_Info_GetNodeAttr - returns the value of the attribute associated
Modified: mpich2/trunk/src/mpid/ch3/src/ch3u_comm_spawn_multiple.c
===================================================================
--- mpich2/trunk/src/mpid/ch3/src/ch3u_comm_spawn_multiple.c 2009-10-20 08:20:51 UTC (rev 5488)
+++ mpich2/trunk/src/mpid/ch3/src/ch3u_comm_spawn_multiple.c 2009-10-20 16:31:23 UTC (rev 5489)
@@ -297,7 +297,7 @@
{
int vallen = 0;
MPIU_THREAD_CS_ENTER(PMI,);
- mpi_errno = PMI2_KVS_Get(kvsname, PARENT_PORT_KVSKEY, val, sizeof(val), &vallen);
+ mpi_errno = PMI2_KVS_Get(kvsname, PMI2_ID_NULL, PARENT_PORT_KVSKEY, val, sizeof(val), &vallen);
MPIU_THREAD_CS_EXIT(PMI,);
if (mpi_errno) MPIU_ERR_POP(mpi_errno);
}
Modified: mpich2/trunk/src/mpid/ch3/src/mpidi_pg.c
===================================================================
--- mpich2/trunk/src/mpid/ch3/src/mpidi_pg.c 2009-10-20 08:20:51 UTC (rev 5488)
+++ mpich2/trunk/src/mpid/ch3/src/mpidi_pg.c 2009-10-20 16:31:23 UTC (rev 5489)
@@ -687,10 +687,10 @@
MPIU_ERR_SETANDJUMP(mpi_errno,MPI_ERR_OTHER,"**nomem");
}
- mpi_errno = PMI2_KVS_Get(pg->connData, key, buf, bufsize, &vallen);
+ mpi_errno = PMI2_KVS_Get(pg->connData, PMI2_ID_NULL, key, buf, bufsize, &vallen);
if (mpi_errno) {
MPIDI_PG_CheckForSingleton();
- mpi_errno = PMI2_KVS_Get(pg->connData, key, buf, bufsize, &vallen);
+ mpi_errno = PMI2_KVS_Get(pg->connData, PMI2_ID_NULL, key, buf, bufsize, &vallen);
if (mpi_errno) MPIU_ERR_POP(mpi_errno);
}
fn_exit:
Modified: mpich2/trunk/src/pmi/pmi2/simple2pmi.c
===================================================================
--- mpich2/trunk/src/pmi/pmi2/simple2pmi.c 2009-10-20 08:20:51 UTC (rev 5488)
+++ mpich2/trunk/src/pmi/pmi2/simple2pmi.c 2009-10-20 16:31:23 UTC (rev 5489)
@@ -665,7 +665,7 @@
goto fn_exit;
}
-int PMI2_KVS_Get(const char *jobid, const char key[], char value [], int maxValue, int *valLen)
+int PMI2_KVS_Get(const char *jobid, int src_pmi_id, const char key[], char value [], int maxValue, int *valLen)
{
int pmi2_errno = PMI2_SUCCESS;
int found, keyfound;
@@ -679,7 +679,7 @@
pmi2_errno = PMIi_InitIfSingleton();
if (pmi2_errno) PMI2U_ERR_POP(pmi2_errno);
- pmi2_errno = PMIi_WriteSimpleCommandStr(PMI2_fd, &cmd, KVSGET_CMD, JOBID_KEY, jobid, KEY_KEY, key, NULL);
+ pmi2_errno = PMIi_WriteSimpleCommandStr(PMI2_fd, &cmd, KVSGET_CMD, JOBID_KEY, jobid, SRCID_KEY, src_pmi_id, KEY_KEY, key, NULL);
if (pmi2_errno) PMI2U_ERR_POP(pmi2_errno);
pmi2_errno = PMIi_ReadCommandExp(PMI2_fd, &cmd, KVSGETRESP_CMD, &rc, &errmsg);
if (pmi2_errno) PMI2U_ERR_POP(pmi2_errno);
Modified: mpich2/trunk/src/pmi/pmi2/simple2pmi.h
===================================================================
--- mpich2/trunk/src/pmi/pmi2/simple2pmi.h 2009-10-20 08:20:51 UTC (rev 5488)
+++ mpich2/trunk/src/pmi/pmi2/simple2pmi.h 2009-10-20 16:31:23 UTC (rev 5489)
@@ -46,6 +46,7 @@
static const char PMIJOBID_KEY[] = "pmijobid";
static const char PMIRANK_KEY[] = "pmirank";
+static const char SRCID_KEY[] = "srcid";
static const char THREADED_KEY[] = "threaded";
static const char RC_KEY[] = "rc";
static const char ERRMSG_KEY[] = "errmsg";
More information about the mpich2-commits
mailing list