Checking flag +replay-detail to know if we need to allocate only a single processor...
authorFilippo Gioachin <gioachin@uiuc.edu>
Thu, 6 May 2010 01:47:36 +0000 (20:47 -0500)
committerFilippo Gioachin <gioachin@uiuc.edu>
Thu, 6 May 2010 01:47:36 +0000 (20:47 -0500)
src/arch/net/charmrun/charmrun.c

index de6206f6cf190ef632479f7deb70d68aea20b0f8..f19b1bd13be91c8797c307579665cd70729550c2 100644 (file)
@@ -656,6 +656,7 @@ char *arg_currdir_r;
 int   arg_server;
 int   arg_server_port=0;
 char *arg_server_auth=NULL;
+int   replay_single=0;
 
 #if CMK_BPROC
 int   arg_startpe;
@@ -771,6 +772,14 @@ void arg_init(int argc, char **argv)
        arg_argv[arg_argc++]="++debug";
   }
 
+  /* Check for +replay-detail to know we have to load only one single processor */
+  for (i=0;argv[i];i++) {
+    if (0==strcmp(argv[i],"+replay-detail")) {
+      replay_single = 1;
+      arg_requested_pes = 1;
+    }
+  }
+  
 #ifdef CMK_BPROC
   if (arg_local) {
     fprintf(stderr,"Warning> ++local cannot be used in bproc version, ignored!\n");
@@ -1433,6 +1442,7 @@ void req_ccs_connect(void)
 #if CMK_BLUEGENE_CHARM
     destpe = destpe % nodetab_size;
 #endif
+    if (replay_single) destpe = 0;
     /*Fill out the charmrun header & forward the CCS request*/
     ChMessageHeader_new("req_fw",sizeof(h.hdr)+reqBytes,&h.ch);