
00001 /******************************************************** 00002 OLD DESCRIPTION 00003 Section multicast strategy suite. DirectMulticast and its 00004 derivatives, multicast messages to a section of array elements 00005 created on the fly. The section is invoked by calling a 00006 section proxy. These strategies can also multicast to a subset 00007 of processors for groups. 00008 00009 These strategies are non-bracketed. When the first request is 00010 made a route is dynamically built on the section. The route 00011 information is stored in 00012 00013 - Sameer Kumar 00014 00015 **********************************************/ 00016 00023 #include "DirectMulticastStrategy.h" 00024 00025 00026 void DirectMulticastStrategy::createObjectOnSrcPe(ComlibSectionHashObject *obj, int npes, ComlibMulticastIndexCount *pelist) { 00027 ComlibPrintf("[%d] old createObjectOnSrcPe() npes=%d\n", CkMyPe(), npes); 00028 00029 obj->pelist = new int[npes]; 00030 obj->npes = npes; 00031 for (int i=0; i<npes; ++i) { 00032 obj->pelist[i] = pelist[i].pe; 00033 } 00034 } 00035 00036 00037 void DirectMulticastStrategy::createObjectOnIntermediatePe(ComlibSectionHashObject *obj, 00038 int npes, 00039 ComlibMulticastIndexCount *counts, 00040 int srcpe) { 00041 ComlibPrintf("[%d] old createObjectOnIntermediatePe()\n", CkMyPe()); 00042 00043 obj->pelist = 0; 00044 obj->npes = 0; 00045 } 00046 00047
1.5.5