[ewg] [PATCH] Allow mvapich2 process manager selection
Jonathan Perkins
perkinjo at cse.ohio-state.edu
Thu Sep 11 07:24:28 PDT 2008
The mvapich2-1.2 release contains a change in the default process manager used.
At this time a user that would like to use mpiexec instead of the new process
manager needs to provide an option to configure. This patch allows for that to
happen through the install script.
Signed-off-by: Jonathan Perkins <perkinjo at cse.ohio-state.edu>
---
install.pl | 33 +++++++++++++++++++++++++++++++++
1 files changed, 33 insertions(+), 0 deletions(-)
diff --git a/install.pl b/install.pl
index 7cb97da..906724a 100755
--- a/install.pl
+++ b/install.pl
@@ -1303,6 +1303,7 @@ my %intel = ('icc' => 0, 'icpc' => 0, 'ifort' => 0);
# mvapich2 environment
my $mvapich2_conf_impl = "ofa";
+my $mvapich2_conf_pm = "mpirun";
my $mvapich2_conf_romio = 1;
my $mvapich2_conf_shared_libs = 1;
my $mvapich2_conf_ckpt = 0;
@@ -1793,6 +1794,31 @@ sub mvapich2_config
}
}
+ print "\nPlease choose a process manager:\n\n";
+ print "1) New scalable mpirun_rsh framework\n";
+ print "2) Traditional mpd/mpiexec\n";
+
+ $done = 0;
+
+ while (not $done) {
+ print "Implementation [1]: ";
+ $ans = getch();
+
+ if (ord($ans) == $KEY_ENTER or $ans eq "1") {
+ $mvapich2_conf_pm = "mpirun";
+ $done = 1;
+ }
+
+ elsif ($ans eq "2") {
+ $mvapich2_conf_pm = "mpd";
+ $done = 1;
+ }
+
+ else {
+ $done = 0;
+ }
+ }
+
print "\nEnable ROMIO support [Y/n]: ";
$ans = getch();
if ($ans =~ m/Nn/) {
@@ -1824,6 +1850,7 @@ sub mvapich2_config
chomp $tmp;
if (-d "$tmp") {
$mvapich2_conf_blcr_home = $tmp;
+ $mvapich2_conf_pm = "mpd";
$done = 1;
}
else {
@@ -1909,6 +1936,7 @@ sub mvapich2_config
flock CONFIG, $LOCK_EXCLUSIVE;
print CONFIG "mvapich2_conf_impl=$mvapich2_conf_impl\n";
+ print CONFIG "mvapich2_conf_pm=$mvapich2_conf_pm\n";
print CONFIG "mvapich2_conf_romio=$mvapich2_conf_romio\n";
print CONFIG "mvapich2_conf_shared_libs=$mvapich2_conf_shared_libs\n";
print CONFIG "mvapich2_conf_ckpt=$mvapich2_conf_ckpt\n";
@@ -2195,6 +2223,10 @@ sub select_packages
$mvapich2_conf_impl = $selected;
next;
}
+ elsif ($package eq "mvapich2_conf_pm") {
+ $mvapich2_conf_pm = $selected;
+ next;
+ }
elsif ($package eq "mvapich2_conf_romio") {
$mvapich2_conf_romio = $selected;
next;
@@ -2987,6 +3019,7 @@ sub build_rpm
$cmd .= " --define 'auto_req 0'";
$cmd .= " --define 'mpi_selector $prefix/bin/mpi-selector'";
$cmd .= " --define '_prefix $prefix/mpi/$compiler/$parent-$main_packages{$parent}{'version'}'";
+ $cmd .= " --define '_pm --with-pm=$mvapich2_conf_pm'";
}
elsif ($parent eq "openmpi") {
my $compiler = (split('_', $name))[1];
--
1.5.5.1
--
Jonathan Perkins
http://www.cse.ohio-state.edu/~perkinjo
More information about the ewg
mailing list