Change LrtsSendFn to take destPE instead of destNode, this will be needed by PAMI
authorYanhua Sun <suny@jaguarpf-login8.ccs.ornl.gov>
Fri, 31 Aug 2012 02:18:50 +0000 (22:18 -0400)
committerYanhua Sun <suny@jaguarpf-login8.ccs.ornl.gov>
Fri, 31 Aug 2012 02:18:50 +0000 (22:18 -0400)
src/arch/bluegenep/machine.c
src/arch/gemini_gni/machine.c
src/arch/lapi/machine.c
src/arch/mpi/machine.c
src/arch/util/machine-common-core.c
src/arch/util/machine-lrts.h

index 38c8b7a8f515d93dcb41703cc70030c54a92c244..78736467a916390d554d8ed9011403f3482cd3b7 100644 (file)
@@ -390,7 +390,8 @@ static void send_multi_done(void *data)
 }
 
 /* The machine specific send function */
-static CmiCommHandle MachineSpecificSendForDCMF(int destNode, int size, char *msg, int mode) {
+static CmiCommHandle MachineSpecificSendForDCMF(int destPE, int size, char *msg, int mode) {
+    int destNode = CmiNodeOf(destPE);
     SMSG_LIST *msg_tmp = smsg_allocate(); //(SMSG_LIST *) malloc(sizeof(SMSG_LIST));
     //msg_tmp->destpe = destNode;
     //msg_tmp->size = size;
index 3bc61e670c6a53eeb2fda33992c65542da378e19..934ea761cd5a358d39b14709376ea4642f3ec35a 100644 (file)
@@ -1651,8 +1651,9 @@ inline void LrtsPrepareEnvelope(char *msg, int size)
     CMI_SET_CHECKSUM(msg, size);
 }
 
-CmiCommHandle LrtsSendFunc(int destNode, int size, char *msg, int mode)
+CmiCommHandle LrtsSendFunc(int destPE, int size, char *msg, int mode)
 {
+    int destNode = CmiNodeOf(destPE);
     gni_return_t        status  =   GNI_RC_SUCCESS;
     uint8_t tag;
     CONTROL_MSG         *control_msg_tmp;
index 999c4dd97c71f338a0e4a631050f1a8d92a3dff7..0164bfea301ffdcc566b07a07e3f014f0cf9fbe0 100755 (executable)
@@ -412,7 +412,8 @@ static INLINE_KEYWORD void lapiSendFn(int destNode, int size, char *msg, scompl_
     MACHSTATE(2,"} lapiSendFn end");
 }
 
-static CmiCommHandle MachineSendFuncForLAPI(int destNode, int size, char *msg, int mode) {
+static CmiCommHandle MachineSendFuncForLAPI(int destPE, int size, char *msg, int mode) {
+    int destNode = CmiNodeOf(destPE);
     scompl_hndlr_t *shdlr = NULL;
     void *sinfo = NULL;
 
index bec29d0e77b34e6b317f69d1a3f6ee491c2000c5..e5c981dae6cfd81374110aca56092e91c612fb51 100644 (file)
@@ -358,8 +358,8 @@ static  void EnqueueMsg(void *m, int size, int node, int mode);
 #endif
 
 /* The machine-specific send function */
-static CmiCommHandle MachineSpecificSendForMPI(int destNode, int size, char *msg, int mode);
-#define LrtsSendFunc MachineSpecificSendForMPI
+static CmiCommHandle MachineSpecificSendForMPI(int destPE, int size, char *msg, int mode);
+#define MachineSpecificSendForMPI
 
 /* ### Beginning of Machine-startup Related Functions ### */
 static void MachineInitForMPI(int *argc, char ***argv, int *numNodes, int *myNodeID);
@@ -495,9 +495,10 @@ static CmiCommHandle MPISendOneMsg(SMSG_LIST *smsg) {
     return (CmiCommHandle) &(smsg->req);
 }
 
-static CmiCommHandle MachineSpecificSendForMPI(int destNode, int size, char *msg, int mode) {
+static CmiCommHandle MachineSpecificSendForMPI(int destPE, int size, char *msg, int mode) {
     /* Ignoring the mode for MPI layer */
 
+    int destNode = CmiNodeOf(destPE);
     CmiState cs = CmiGetState();
     SMSG_LIST *msg_tmp;
     int  rank;
index a950e5ea1d01abc5dba0e703c928ceeb66fc0fdf..3c3e112256f0b6d93ee652b8f34eac8ce072d254 100644 (file)
@@ -487,9 +487,10 @@ CpvExtern(int, _urgentSend);
 #if CMK_C_INLINE
 inline 
 #endif
-CmiCommHandle CmiSendNetworkFunc(int destNode, int size, char *msg, int mode)
+CmiCommHandle CmiSendNetworkFunc(int destPE, int size, char *msg, int mode)
 {
         int rank;
+        int destNode = CmiNodeOf(destPE); 
 #if CMK_USE_PXSHM
         if (CmiValidPxshm(destNode, size)) {
           CmiSendMessagePxshm(msg, size, destNode, &refcount);
@@ -525,7 +526,7 @@ if (MSG_STATISTIC)
 #if CMK_USE_OOB
     if (CpvAccess(_urgentSend)) mode |= OUT_OF_BAND;
 #endif
-    return LrtsSendFunc(destNode, size, msg, mode);
+    return LrtsSendFunc(destPE, size, msg, mode);
 }
 
 void CmiFreeSendFn(int destPE, int size, char *msg) {
@@ -550,7 +551,7 @@ void CmiFreeSendFn(int destPE, int size, char *msg) {
         }
 #endif
         CMI_DEST_RANK(msg) = destRank;
-        CmiSendNetworkFunc(destNode, size, msg, P2P_SYNC);
+        CmiSendNetworkFunc(destPE, size, msg, P2P_SYNC);
 #if CMK_PERSISTENT_COMM
         if (CpvAccess(phs)) CpvAccess(curphs)++;
 #endif
@@ -613,7 +614,7 @@ if (  MSG_STATISTIC)
     msg_histogram[ret_log]++;
 }
 #endif
-        CmiSendNetworkFunc(destNode, size, msg, P2P_SYNC);
+        CmiSendNetworkFunc(CmiNodeFirst(destNode), size, msg, P2P_SYNC);
     }
 #if CMK_PERSISTENT_COMM
     if (CpvAccess(phs)) CpvAccess(curphs)++;
@@ -635,7 +636,7 @@ if (  MSG_STATISTIC)
         msg_histogram[ret_log]++;
 }
 #endif
-        return CmiSendNetworkFunc(destNode, size, msg, P2P_ASYNC);
+        return CmiSendNetworkFunc(CmiNodeFirst(destNode), size, msg, P2P_ASYNC);
     }
 }
 #endif
index d3427f6787640cebdd51e6b04420587720097bf4..442c1695b43ed81ea18b9837e8a58645b8e513c0 100644 (file)
@@ -4,7 +4,7 @@
 void LrtsPrepareEnvelope(char *msg, int size);
 
 /* The machine-specific send function */
-CmiCommHandle LrtsSendFunc(int destNode, int size, char *msg, int mode);
+CmiCommHandle LrtsSendFunc(int destPE, int size, char *msg, int mode);
 
 void LrtsSyncListSendFn(int npes, int *pes, int len, char *msg);
 CmiCommHandle LrtsAsyncListSendFn(int npes, int *pes, int len, char *msg);