[padb] r446 committed - Another change to the tree based display, move the rankspec to the...

padb at googlecode.com padb at googlecode.com
Tue Jun 28 22:42:00 BST 2011


Revision: 446
Author:   apittman at gmail.com
Date:     Tue Jun 28 14:41:38 2011
Log:      Another change to the tree based display, move the rankspec to the
end of the line, after the number of processes and other data.

Stack traces now look similar to below.

Stack trace(s) for thread: 1
   1: -----------------
   1: Branch 1 of 1, 17 processes, 100% of total [0-16]
   1: -----------------
   1: main() at IMB.c:228
   2:  -----------------
   2:  Branch 1 of 2, 2 processes, 11.8% of total [0-1]
   2:  -----------------
   2:  IMB_pingping() at IMB_pingping.c:148
   3:   PMPI_Recv() at  
/home/ashley/OpenMPI/openmpi-1.4.3/ompi/mpi/c/profile/precv.c:75
   4:    mca_pml_ob1_recv() at  
/home/ashley/OpenMPI/openmpi-1.4.3/ompi/mca/pml/ob1/pml_ob1_irecv.c:104
   5:     ompi_request_wait_completion() at  
/home/ashley/OpenMPI/openmpi-1.4.3/ompi/request/request.h:375
   6:      opal_condition_wait() at  
/home/ashley/OpenMPI/openmpi-1.4.3/opal/threads/condition.h:99
   2:  -----------------
   2:  Branch 2 of 2, 15 processes, 88.2% of total [2-16]
   2:  -----------------
   2:  PMPI_Barrier() at  
/home/ashley/OpenMPI/openmpi-1.4.3/ompi/mpi/c/profile/pbarrier.c:59
   3:   ompi_coll_tuned_barrier_intra_dec_fixed() at  
/home/ashley/OpenMPI/openmpi-1.4.3/ompi/mca/coll/tuned/coll_tuned_decision_fixed.c:203
   4:    ompi_coll_tuned_barrier_intra_bruck() at  
/home/ashley/OpenMPI/openmpi-1.4.3/ompi/mca/coll/tuned/coll_tuned_barrier.c:227
   5:     ompi_coll_tuned_sendrecv_actual() at  
/home/ashley/OpenMPI/openmpi-1.4.3/ompi/mca/coll/tuned/coll_tuned_util.c:55
   6:      ompi_request_default_wait_all() at  
/home/ashley/OpenMPI/openmpi-1.4.3/ompi/request/req_wait.c:262
   7:       opal_condition_wait() at  
/home/ashley/OpenMPI/openmpi-1.4.3/opal/threads/condition.h:99

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

Modified:
  /trunk/src/padb

=======================================
--- /trunk/src/padb	Fri Jun 24 12:04:08 2011
+++ /trunk/src/padb	Tue Jun 28 14:41:38 2011
@@ -4383,7 +4383,7 @@
  sub _display_tree {
      my ( $tree, $nproc, $parent, $indent_count, $path, $enforce_spec ) =  
@_;

-    my $indent = sprintf( "%3d: %*s", $indent_count, $indent_count, '' );
+    my $indent = sprintf( "%3d:%*s", $indent_count + 1, $indent_count, ''  
);
      my $ret = $EMPTY_STRING;

      # Sort peers by lowest rank of each branch.
@@ -4391,28 +4391,31 @@
        sort { $tree->{$a}->{min} <=> $tree->{$b}->{min} } keys %{$tree};

      my $child_enforce_spec = 0;
+    my $branch_index       = 1;
      foreach my $peer (@peers) {

          my $vpspec = rng_convert_to_user_truncate( $tree->{$peer}->{range}  
);
          if ( @peers != 1 or $parent ne $vpspec or $enforce_spec ) {
-            $ret .= "$indent-----------------\n";
+            $ret .= "$indent -----------------\n";
              my $count = $tree->{$peer}->{count};

              $ret .= sprintf(
-                "$indent$vpspec ($count %s %.3g%%)\n",
+                "$indent Branch %d of %d, $count %s, %.3g%% of total  
$vpspec\n",
+                $branch_index,
+                $#peers + 1,
                  $count > 1 ? 'processes' : 'process',
                  ( $count / $nproc ) * 100
              );

-            $ret .= "$indent-----------------\n";
+            $ret .= "$indent -----------------\n";
          }

-        $ret .= "$indent$peer\n";
+        $ret .= "$indent $peer\n";

          if ( defined $tree->{$peer}->{aux} ) {
              $child_enforce_spec = 1;
              foreach my $line ( @{ $tree->{$peer}->{aux} } ) {
-                $ret .= "$indent      $line\n";
+                $ret .= "$indent       $line\n";
              }
          }

@@ -4423,6 +4426,7 @@
                  "$path,$peer", $child_enforce_spec
              );
          }
+        $branch_index += 1;
      }
      return $ret;
  }




More information about the padb-devel mailing list