From 4381b2c60f2df075c52c2046984c217611bf38a8 Mon Sep 17 00:00:00 2001 From: Ralph Castain Date: Sun, 12 Nov 2017 16:38:37 -0800 Subject: [PATCH] Add ability to multiply number of nodes when running scaling tests Signed-off-by: Ralph Castain --- contrib/scaling/scaling.pl | 14 ++++++++++++-- 1 file changed, 12 insertions(+), 2 deletions(-) diff --git a/contrib/scaling/scaling.pl b/contrib/scaling/scaling.pl index b4ef11a59a..f5d5da3765 100755 --- a/contrib/scaling/scaling.pl +++ b/contrib/scaling/scaling.pl @@ -22,6 +22,7 @@ my $rawoutput = 0; my $myresults = "myresults"; my $ppn = 1; my @csvrow; +my $multiplier = 1; my @tests = qw(/bin/true ./orte_no_op ./mpi_no_op ./mpi_no_op ./mpi_no_op); my @options = ("", "", "", "-mca mpi_add_procs_cutoff 0 -mca pmix_base_async_modex 1 -mca pmix_base_collect_data 0", "-mca mpi_add_procs_cutoff 0 -mca pmix_base_async_modex 1 -mca async_mpi_init 1 -mca async_mpi_finalize 1 -mca pmix_base_collect_data 0"); @@ -52,6 +53,7 @@ GetOptions( "results=s" => \$myresults, "rawout" => \$rawoutput, "ppn=s" => \$ppn, + "multiplier=s" => \$multiplier, ) or die "unable to parse options, stopped"; if ($HELP) { @@ -69,6 +71,7 @@ if ($HELP) { --results=file File where results are to be stored in comma-separated value format --rawout Provide raw timing output to the file --ppn=n Run n procs/node +--multiplier=n Run n daemons/node (only for DVM and mpirun) "; exit(0); } @@ -124,6 +127,9 @@ foreach $starter (@starterlist) { } elsif ($usempirun && $starter eq "mpirun") { push @starters, $starter; $opt = $starteroptionlist[$idx] . " --npernode " . $ppn; + if ($multiplier gt 1) { + $opt = $opt . " --mca rtc ^hwloc --mca ras_base_multiplier " . $multiplier; + } push @starteroptions, $opt; } elsif ($useaprun && $starter eq "aprun") { push @starters, $starter; @@ -267,14 +273,18 @@ foreach $starter (@starters) { print "STARTER: $starter\n"; # if we are going to use the dvm, then we if ($starter eq "prun") { + my $dvm = "orte-dvm --system-server"; + if ($multiplier gt 1) { + $dvm = $dvm . " --mca rtc ^hwloc --mca ras_base_multiplier " . $multiplier; + } # need to start it if ($myresults) { - print FILE "\n\norte-dvm --system-server\n"; + print FILE "\n\n$dvm\n"; } if (!$SHOWME) { unless ($pid = fork) { unless (fork) { - exec "orte-dvm --system-server 2>&1"; + exec "$dvm 2>&1"; die "no exec"; } exit 0;