Add ability to multiply number of nodes when running scaling tests
Signed-off-by: Ralph Castain <rhc@open-mpi.org>
Этот коммит содержится в:
родитель
9c84e1485b
Коммит
4381b2c60f
@ -22,6 +22,7 @@ my $rawoutput = 0;
|
|||||||
my $myresults = "myresults";
|
my $myresults = "myresults";
|
||||||
my $ppn = 1;
|
my $ppn = 1;
|
||||||
my @csvrow;
|
my @csvrow;
|
||||||
|
my $multiplier = 1;
|
||||||
|
|
||||||
my @tests = qw(/bin/true ./orte_no_op ./mpi_no_op ./mpi_no_op ./mpi_no_op);
|
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");
|
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,
|
"results=s" => \$myresults,
|
||||||
"rawout" => \$rawoutput,
|
"rawout" => \$rawoutput,
|
||||||
"ppn=s" => \$ppn,
|
"ppn=s" => \$ppn,
|
||||||
|
"multiplier=s" => \$multiplier,
|
||||||
) or die "unable to parse options, stopped";
|
) or die "unable to parse options, stopped";
|
||||||
|
|
||||||
if ($HELP) {
|
if ($HELP) {
|
||||||
@ -69,6 +71,7 @@ if ($HELP) {
|
|||||||
--results=file File where results are to be stored in comma-separated value format
|
--results=file File where results are to be stored in comma-separated value format
|
||||||
--rawout Provide raw timing output to the file
|
--rawout Provide raw timing output to the file
|
||||||
--ppn=n Run n procs/node
|
--ppn=n Run n procs/node
|
||||||
|
--multiplier=n Run n daemons/node (only for DVM and mpirun)
|
||||||
";
|
";
|
||||||
exit(0);
|
exit(0);
|
||||||
}
|
}
|
||||||
@ -124,6 +127,9 @@ foreach $starter (@starterlist) {
|
|||||||
} elsif ($usempirun && $starter eq "mpirun") {
|
} elsif ($usempirun && $starter eq "mpirun") {
|
||||||
push @starters, $starter;
|
push @starters, $starter;
|
||||||
$opt = $starteroptionlist[$idx] . " --npernode " . $ppn;
|
$opt = $starteroptionlist[$idx] . " --npernode " . $ppn;
|
||||||
|
if ($multiplier gt 1) {
|
||||||
|
$opt = $opt . " --mca rtc ^hwloc --mca ras_base_multiplier " . $multiplier;
|
||||||
|
}
|
||||||
push @starteroptions, $opt;
|
push @starteroptions, $opt;
|
||||||
} elsif ($useaprun && $starter eq "aprun") {
|
} elsif ($useaprun && $starter eq "aprun") {
|
||||||
push @starters, $starter;
|
push @starters, $starter;
|
||||||
@ -267,14 +273,18 @@ foreach $starter (@starters) {
|
|||||||
print "STARTER: $starter\n";
|
print "STARTER: $starter\n";
|
||||||
# if we are going to use the dvm, then we
|
# if we are going to use the dvm, then we
|
||||||
if ($starter eq "prun") {
|
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
|
# need to start it
|
||||||
if ($myresults) {
|
if ($myresults) {
|
||||||
print FILE "\n\norte-dvm --system-server\n";
|
print FILE "\n\n$dvm\n";
|
||||||
}
|
}
|
||||||
if (!$SHOWME) {
|
if (!$SHOWME) {
|
||||||
unless ($pid = fork) {
|
unless ($pid = fork) {
|
||||||
unless (fork) {
|
unless (fork) {
|
||||||
exec "orte-dvm --system-server 2>&1";
|
exec "$dvm 2>&1";
|
||||||
die "no exec";
|
die "no exec";
|
||||||
}
|
}
|
||||||
exit 0;
|
exit 0;
|
||||||
|
Загрузка…
Ссылка в новой задаче
Block a user