added a version which uses CmiReference (compiling with option -DCMI_COMLIB_WITH_REFE...
authorFilippo Gioachin <gioachin@illinois.edu>
Thu, 2 Dec 2004 05:45:30 +0000 (05:45 +0000)
committerFilippo Gioachin <gioachin@illinois.edu>
Thu, 2 Dec 2004 05:45:30 +0000 (05:45 +0000)
src/conv-com/pipebroadcastconverse.C

index c8b054bd85ec213d8555997cb218bfafb10118a9..62dc40336f64371bb87fc83bf69fe7d86415191b 100644 (file)
@@ -78,9 +78,16 @@ void PipeBroadcastConverse::propagate(char *env, int isFragmented, int srcPeNumb
     */
 
     //CmiSyncListSend(num_pes, dest_pes, env->getTotalsize(), (char *)env);
     */
 
     //CmiSyncListSend(num_pes, dest_pes, env->getTotalsize(), (char *)env);
+#ifdef CMI_COMLIB_WITH_REFERENCE
+    for (k=0; k<num_pes; ++k) CmiReference(env);
+#endif
     for (k=0; k<num_pes; ++k) {
       ComlibPrintf("[%d] PipeBroadcast sending to %d\n",CkMyPe(), dest_pes[k]);
     for (k=0; k<num_pes; ++k) {
       ComlibPrintf("[%d] PipeBroadcast sending to %d\n",CkMyPe(), dest_pes[k]);
+#ifdef CMI_COMLIB_WITH_REFERENCE
+      CmiSyncSendAndFree(dest_pes[k], totalSendingSize, env);
+#else
       CmiSyncSend(dest_pes[k], totalSendingSize, env);
       CmiSyncSend(dest_pes[k], totalSendingSize, env);
+#endif
     }
     //sizeToSend = pipeSize<totalSendingSize ? pipeSize : totalSendingSize;
     //for (k=0; k<num_pes; ++k) CmiSyncSend(dest_pes[k], sizeToSend, env);
     }
     //sizeToSend = pipeSize<totalSendingSize ? pipeSize : totalSendingSize;
     //for (k=0; k<num_pes; ++k) CmiSyncSend(dest_pes[k], sizeToSend, env);