init maxfiles to number of physnodes
[charm.git] / examples / charm++ / pupDisk / pupDisk.C
index e04f5cd7f7455901eada3dcb7521af80d53c544c..47ee3397e46dc16de760c0e62a1b2e30c351d365 100644 (file)
@@ -21,6 +21,10 @@ main::main(CkArgMsg *m)
   int size=20;
   bool skipToRead=false;
   int maxFiles=CkNumPes();
+  if(CmiCpuTopologyEnabled())
+    {
+      maxFiles=CmiNumPhysicalNodes();
+    }
   if(m->argc>1)
     numElements=atoi(m->argv[1]);
   if(m->argc>2)
@@ -42,7 +46,10 @@ main::main(CkArgMsg *m)
   wcb = CkCallback(CkIndex_main::written(NULL),  thishandle);
   rcb = CkCallback(CkIndex_main::read(NULL),  thishandle);
   vcb = CkCallback(CkIndex_main::done(NULL),  thishandle);
-  pupDiskProxy= CProxy_pupDisk::ckNew(size,numElements,maxFiles, maxFiles);
+  CProxy_pupDiskMap diskMapProxy = CProxy_pupDiskMap::ckNew(maxFiles);
+  CkArrayOptions mapOptions(maxFiles);
+  mapOptions.setMap(diskMapProxy);
+  pupDiskProxy= CProxy_pupDisk::ckNew(size,numElements,maxFiles,mapOptions);
   pupDiskProxy.doneInserting();
   userDataProxy= CProxy_userData::ckNew(size,numElements,maxFiles, numElements);
   userDataProxy.doneInserting();