solved the conflict
authorYanhua Sun <sun51@hopper02.(none)>
Tue, 9 Aug 2011 17:05:21 +0000 (10:05 -0700)
committerYanhua Sun <sun51@hopper02.(none)>
Tue, 9 Aug 2011 17:05:21 +0000 (10:05 -0700)
src/arch/gemini_gni/machine.c
tests/converse/commbench/commbench.c
tests/converse/commbench/pingpong.c
tests/converse/megacon/megacon.c
tests/converse/megacon/ringsimple.c

index 6baca6ef4659eaa9cd8e12856578eb2af3f0b843..522e55e34803ff70f6ec21d517f38087a9f806d4 100644 (file)
@@ -64,7 +64,7 @@ static void sleep(int secs) {
 #define LRTS_GNI_RDMA_THRESHOLD  16384
 
 #define REMOTE_QUEUE_ENTRIES  1048576
-#define LOCAL_QUEUE_ENTRIES   1024
+#define LOCAL_QUEUE_ENTRIES   10240
 /* SMSG is data message */
 #define DATA_TAG          0x38
 /* SMSG is a control message to initialize a BTE */
@@ -387,6 +387,7 @@ static int send_with_smsg(int destNode, int size, char *msg)
 
     CmiSetMsgSize(msg, size);
 
+    //CmiPrintf("LrtsSend PE:%d==>%d, size=%d\n", myrank, destNode, size);
     /* No mailbox available, buffer this msg and its info */
     if(buffered_smsg_head != 0)
     {
@@ -424,6 +425,7 @@ static int send_with_smsg(int destNode, int size, char *msg)
             /* send the msg itself */
             status = GNI_SmsgSendWTag(ep_hndl_array[destNode], NULL, 0, msg, size, 0, tag_data);
             //CmiPrintf("[%d] send_with_smsg sends a data msg to PE %d status: %s\n", myrank, destNode, gni_err_str[status]);
+            //CmiPrintf("Sending msg PE:%d=>%d\n", myrank, destNode);
             if (status == GNI_RC_SUCCESS)
             {
                 send_pending++;
@@ -450,7 +452,7 @@ static int send_with_smsg(int destNode, int size, char *msg)
             onesided_mem_register(onesided_hnd, (uint64_t)msg, size, 0, &(control_msg_tmp->source_mem_hndl));
 #else
             status = GNI_MemRegister(nic_hndl, (uint64_t)msg, 
-                size, rx_cqh,
+                size, NULL,
                 GNI_MEM_READ_ONLY | GNI_MEM_USE_GART,
                 vmdh_index, &(control_msg_tmp->source_mem_hndl));
 #endif 
@@ -549,12 +551,14 @@ static void PumpNetworkMsgs()
     {
         GNI_RC_CHECK("CQ Get event", status);
     }
+    //CmiPrintf("--## PumpNetwork Small msg is received on PE:%d from %d  status=%s\n", myrank, inst_id, gni_err_str[status]);
   
     //printf("[%d]  PumpNetworkMsgs GNI_CQ_GET_TYPE %d from %d. \n", myrank, GNI_CQ_GET_TYPE(event_data), inst_id);
 
     msg_tag = GNI_SMSG_ANY_TAG;
     status = GNI_SmsgGetNextWTag(ep_hndl_array[inst_id], &header, &msg_tag);
 
+    //CmiPrintf("++++## PumpNetwork Small msg is received on PE:%d message tag=%c(%d), status=%s\n", myrank, msg_tag, msg_tag, gni_err_str[status]);
     if(status  == GNI_RC_SUCCESS)
     {
         /* copy msg out and then put into queue */
@@ -581,7 +585,7 @@ static void PumpNetworkMsgs()
             onesided_mem_register(onesided_hnd, (uint64_t)msg_data, request_msg->length, 0, &msg_mem_hndl);
 #else
             status = GNI_MemRegister(nic_hndl, (uint64_t)msg_data,
-                request_msg->length, rx_cqh
+                request_msg->length, NULL
                 GNI_MEM_READWRITE | GNI_MEM_USE_GART, -1,
                 &msg_mem_hndl);
 #endif
@@ -657,9 +661,9 @@ static void PumpNetworkMsgs()
             CmiPrintf("weird tag problem\n");
             CmiAbort("Unknown tag\n");
         }
-    }  //else not match smsg, maybe larger message
-    else {
-       // CmiPrintf("[%d] GNI_SmsgGetNextWTag returns %s\n", myrank, gni_err_str[status]);
+    }else if(status == GNI_RC_NO_MATCH)  //else not match smsg, maybe larger message
+    {
+        CmiPrintf("This is weird on PE:%d\n", myrank);
     }
     }   // end of while loop
 }
@@ -772,7 +776,7 @@ static int SendRdmaMsg()
             onesided_mem_register(onesided_hnd, (uint64_t)pd->local_addr, pd->length, 0, &(pd->local_mem_hndl));
 #else
             status = GNI_MemRegister(nic_hndl, (uint64_t)pd->local_addr,
-                pd->length, rx_cqh
+                pd->length, NULL
                 GNI_MEM_READWRITE | GNI_MEM_USE_GART, -1,
                 &(pd->local_mem_hndl));
 #endif
@@ -932,7 +936,7 @@ static void _init_static_smsg()
     {
         if(i==myrank)
             continue;
-        smsg_attr[i].msg_type = GNI_SMSG_TYPE_MBOX_AUTO_RETRANSMIT;
+        smsg_attr[i].msg_type = GNI_SMSG_TYPE_MBOX;//GNI_SMSG_TYPE_MBOX_AUTO_RETRANSMIT;
         smsg_attr[i].mbox_offset = 0;
         smsg_attr[i].mbox_maxcredit = SMSG_MAX_CREDIT;
         smsg_attr[i].msg_maxsize = SMSG_MAX_MSG;
@@ -999,7 +1003,7 @@ static void LrtsInit(int *argc, char ***argv, int *numNodes, int *myNodeID)
     uint8_t                 ptag;
     unsigned int            local_addr, *MPID_UGNI_AllAddr;
     int                     first_spawned;
-
+    int                     physicalID;
     void (*local_event_handler)(gni_cq_entry_t *, void *)       = &LocalEventHandle;
     void (*remote_smsg_event_handler)(gni_cq_entry_t *, void *) = &RemoteSmsgEventHandle;
     void (*remote_bte_event_handler)(gni_cq_entry_t *, void *)  = &RemoteBteEventHandle;
@@ -1016,6 +1020,10 @@ static void LrtsInit(int *argc, char ***argv, int *numNodes, int *myNodeID)
     status = PMI_Get_rank(&myrank);
     GNI_RC_CHECK("PMI_getrank", status);
 
+    physicalID = CmiPhysicalNodeID(myrank);
+    
+    printf("Pysical Node ID:%d for PE:%d\n", physicalID, myrank);
+
     *myNodeID = myrank;
     *numNodes = mysize;
   
index eaa609f737d0139b5ce67daae2913b2ab150920b..e92050c36b1b8c7e2878c0229c7f59c0a10504ab 100644 (file)
@@ -40,12 +40,12 @@ struct testinfo
   void (*initiator)(void);
   void (*initializer)(void);
 } tests[] = {
-  { "overhead",  overhead_init,  overhead_moduleinit },
-  { "timer",     timer_init,     timer_moduleinit },
-  { "proc",      proc_init,      proc_moduleinit },
-  { "smputil",   smputil_init,   smputil_moduleinit },
// { "overhead",  overhead_init,  overhead_moduleinit },
+  //{ "timer",     timer_init,     timer_moduleinit },
// { "proc",      proc_init,      proc_moduleinit },
+  //{ "smputil",   smputil_init,   smputil_moduleinit },
   { "pingpong",  pingpong_init,  pingpong_moduleinit },
-  { "ctxt",      ctxt_init,      ctxt_moduleinit },
+//  { "ctxt",      ctxt_init,      ctxt_moduleinit },
   { 0,0,0 },
 };
 
index 7ec90ea70b259686ed57d1f5f7afd36f630b29a1..8df85712a0999385a2f3be084b5c8379e20c058e 100644 (file)
@@ -11,11 +11,11 @@ static struct testdata {
   int numiter;
 } sizes[] = {
   {16,      256},
-  {256,     256},
-  {2048,    64},
-  {4096,    64},
-  {65536,   10},
-  {1048576, 10},
+  //{256,     256},
+  //{2048,    64},
+  //{4096,    64},
+  //{65536,   10},
+  //{1048576, 10},
   {-1,      -1},
 };
 
index 47bf770430de9f32827589ad289ebca52ed9b80c..23fad25fd70a868f6ce2a4d318f50b40520a857b 100644 (file)
@@ -69,26 +69,26 @@ struct testinfo
   int  numacks;
 }
 tests[] = {
-  { "blkinhand", blkinhand_init, blkinhand_moduleinit,  1,  1 },
-  { "posixth",   posixth_init,   posixth_moduleinit,    0,  1 },
-  { "future",    future_init,    future_moduleinit,     1,  1 },
-  { "bigmsg",    bigmsg_init,    bigmsg_moduleinit,     1,  1 },
-  { "vecsend",   vecsend_init,   vecsend_moduleinit,    0,  1 },
-  { "nodenum",   nodenum_init,   nodenum_moduleinit,    0,  1 },
-  { "specmsg",   specmsg_init,   specmsg_moduleinit,    0,  0 },
-  { "vars",      vars_init,      vars_moduleinit,       0,  1 },
-  { "priotest",  priotest_init,  priotest_moduleinit,   1,  0 },
+  //{ "blkinhand", blkinhand_init, blkinhand_moduleinit,  1,  1 },
+  //{ "posixth",   posixth_init,   posixth_moduleinit,    0,  1 },
+  //{ "future",    future_init,    future_moduleinit,     1,  1 },
+  //{ "bigmsg",    bigmsg_init,    bigmsg_moduleinit,     1,  1 },
+  //{ "vecsend",   vecsend_init,   vecsend_moduleinit,    0,  1 },
+  //{ "nodenum",   nodenum_init,   nodenum_moduleinit,    0,  1 },
+  //{ "specmsg",   specmsg_init,   specmsg_moduleinit,    0,  0 },
+  //{ "vars",      vars_init,      vars_moduleinit,       0,  1 },
+  //{ "priotest",  priotest_init,  priotest_moduleinit,   1,  0 },
   { "ringsimple",ringsimple_init,ringsimple_moduleinit, 0, 10 },
-  { "ring",      ring_init,      ring_moduleinit,       1,  1 },
-  { "fibobj",    fibobj_init,    fibobj_moduleinit,     1,  1 },
-  { "fibthr",    fibthr_init,    fibthr_moduleinit,     1,  1 },
-  { "broadc",    broadc_init,    broadc_moduleinit,     1,  1 },
-  { "multicast", multicast_init, multicast_moduleinit,  1,  1 },
-  { "deadlock",  deadlock_init,  deadlock_moduleinit,   0,  2 },
-  { "handler",  handler_init,  handler_moduleinit,   1,  1 },
-  { "multisend", multisend_init, multisend_moduleinit,  0,  1 },
-  { "reduction", reduction_init, reduction_moduleinit, 0, 1 },
-  { 0,0,0,0 },
+  //{ "ring",      ring_init,      ring_moduleinit,       1,  1 },
+  //{ "fibobj",    fibobj_init,    fibobj_moduleinit,     1,  1 },
+  //{ "fibthr",    fibthr_init,    fibthr_moduleinit,     1,  1 },
+  //{ "broadc",    broadc_init,    broadc_moduleinit,     1,  1 },
+  //    { "multicast", multicast_init, multicast_moduleinit,  1,  1 },
+  //    { "deadlock",  deadlock_init,  deadlock_moduleinit,   0,  2 },
+  //    { "handler",  handler_init,  handler_moduleinit,   1,  1 },
+  //    { "multisend", multisend_init, multisend_moduleinit,  0,  1 },
+  //    { "reduction", reduction_init, reduction_moduleinit, 0, 1 },
+      { 0,0,0,0 },
 };
 
 /******************************************************************************
index 4a4b2f31b007d9576a8b973452b35f070d623160..34b44ba2733e8c199265112c700dbeee2c6516ee 100644 (file)
@@ -1,13 +1,13 @@
 #include <stdio.h>
 #include <converse.h>
-
+#define entries    10
 void Cpm_megacon_ack();
 
 typedef struct
 {
   char core[CmiMsgHeaderSizeBytes]; 
   int hops, ringno;
-  int data[10];
+  int data[entries];
 } ringmsg;
 
 CpvDeclare(int, ringsimple_hop_index);
@@ -23,7 +23,7 @@ void ringsimple_hop(ringmsg *msg)
   int thispe = CmiMyPe();
   int nextpe = (thispe+1) % CmiNumPes();
   int i;
-  for (i=0; i<10; i++)
+  for (i=0; i<entries; i++)
     if (msg->data[i] != i) ringsimple_fail();
   if (msg->hops) {
     msg->hops--;
@@ -36,9 +36,9 @@ void ringsimple_hop(ringmsg *msg)
 void ringsimple_init(void)
 {
   int i; ringmsg msg={{0},1000,0,{0}};
-  for (i=0; i<10; i++) msg.data[i] = i;
+  for (i=0; i<entries; i++) msg.data[i] = i;
   CmiSetHandler(&msg, CpvAccess(ringsimple_hop_index));
-  for (i=0; i<10; i++) {
+  for (i=0; i<entries; i++) {
     msg.ringno = i;
     CmiSyncSend(0, sizeof(ringmsg), &msg);
   }