[padb] r332 committed - Migrate orte from using setup_pcmd to using setup_job for setting up t...

padb at googlecode.com padb at googlecode.com
Wed Nov 25 13:16:48 GMT 2009


Revision: 332
Author: apittman
Date: Wed Nov 25 05:15:57 2009
Log: Migrate orte from using setup_pcmd to using setup_job for setting up  
the
runtime to attach to a job.  Whilst I'm at it add a cleanup_cb and  
cleanup_handle
to the hash to replace the cleanup_pcmd function.

http://code.google.com/p/padb/source/detail?r=332

Modified:
  /trunk/src/padb

=======================================
--- /trunk/src/padb	Tue Nov 24 03:36:15 2009
+++ /trunk/src/padb	Wed Nov 25 05:15:57 2009
@@ -430,8 +430,7 @@
  $rmgr{orte} = {
      is_installed    => \&open_is_installed,
      get_active_jobs => \&open_get_jobs,
-    setup_pcmd      => \&open_setup_pcmd,
-    cleanup_pcmd    => \&open_cleanup_pcmd,
+    setup_job       => \&open_setup_job,
  };

  $rmgr{'lsf-rms'} = {
@@ -2805,9 +2804,7 @@
      return keys %open_jobs;
  }

-my $open_dfile;
-
-sub open_setup_pcmd {
+sub open_setup_job {
      my $job = shift;

      open_get_data();
@@ -2822,17 +2819,25 @@
      }
      close $fh;

-    $open_dfile = $fn;
-
      my $prefix = find_ompi_prefix();
      my $cmd    = "orterun -machinefile $fn -np $i $prefix";
-    my $hosts  = @hosts;
-
-    return ( $cmd, $open_jobs{$job}{nprocs}, $hosts,  
$open_jobs{$job}{ranks} );
+
+    my %pcmd;
+    $pcmd{nprocesses}   = $open_jobs{$job}{nprocs};
+    $pcmd{nhosts}       = @hosts;
+    $pcmd{process_data} = $open_jobs{$job}{ranks};
+    $pcmd{command}      = $cmd;
+    @{ $pcmd{host_list} } = @hosts;
+    $pcmd{cleanup_cb}     = \&open_cleanup_job;
+    $pcmd{cleanup_handle} = $fn;
+
+    return %pcmd;
+
  }

-sub open_cleanup_pcmd {
-    unlink $open_dfile if ( defined $open_dfile );
+sub open_cleanup_job {
+    my $file = shift;
+    unlink $file;
      return;
  }

@@ -4858,7 +4863,12 @@

      debug_log( 'verbose', undef, 'Completed command' );

+    if ( defined $pcmd{cleanup_cb} ) {
+        $pcmd{cleanup_cb}( $pcmd{cleanup_handle} );
+    }
+
      cleanup_pcmd();
+
      return $errors;
  }





More information about the padb-devel mailing list