[ewg] [RFC] ofed_scripts: add install options to NOT build/install MPI

Jon Mason jon at opengridcomputing.com
Thu Jun 11 14:37:07 PDT 2009


Building the MPIs can double the amount of time it takes to build and
install OFED.  Since not all user configurations require MPI to be
install (per the ongoing thread on the EWG mailing list), it is
preferable to have an option on the menu to exclude building and
installing MPIs.  The default behavior is unchanged.

Signed-Off-By: Jon Mason <jon at opengridcomputing.com>
---

diff --git a/install.pl b/install.pl
index 92f1533..425ffe4 100755
--- a/install.pl
+++ b/install.pl
@@ -50,8 +50,10 @@ my $KEY_ENTER=13;
 
 my $BASIC = 1;
 my $HPC = 2;
-my $ALL = 3;
-my $CUSTOM = 4;
+my $ABM = 3;
+my $MPI = 4;
+my $ALL = 5;
+my $CUSTOM = 6;
 
 my $interactive = 1;
 my $quiet = 0;
@@ -357,7 +359,7 @@ my @user_packages = ("libibverbs", "libibverbs-devel", "libibverbs-devel-static"
                      "perftest", "mstflint", "tvflash",
                      "qlvnictools", "sdpnetstat", "srptools", "rds-tools", "rnfs-utils",
                      "ibutils", "infiniband-diags", "qperf", "qperf-debuginfo",
-                     "ofed-docs", "ofed-scripts", "tgt-generic", @mpi_packages
+                     "ofed-docs", "ofed-scripts", "tgt-generic",
                      );
 
 my @basic_kernel_packages = ("kernel-ib");
@@ -369,11 +371,13 @@ my @hpc_kernel_packages = ("kernel-ib", "ib-bonding");
 my @hpc_kernel_modules = (@basic_kernel_modules);
 my @hpc_user_packages = (@basic_user_packages, "librdmacm",
                         "librdmacm-utils", "compat-dapl", "compat-dapl-devel", "dapl", "dapl-devel", "dapl-devel-static", "dapl-utils",
-                        "infiniband-diags", "ibutils", "qperf", "mstflint", "perftest", @mpi_packages);
+                        "infiniband-diags", "ibutils", "qperf", "mstflint", "perftest");
+
+my @abm_packages = (@kernel_packages, @user_packages);
 
 # all_packages is required to save ordered (following dependencies) list of
 # packages. Hash does not saves the order
-my @all_packages = (@kernel_packages, @user_packages);
+my @all_packages = (@abm_packages, @mpi_packages);
 
 my %kernel_modules_info = (
         'core' =>
@@ -2016,11 +2020,13 @@ sub show_menu
     elsif ($menu eq "select") {
         print "$PACKAGE Distribution Software Installation Menu\n\n";
         print "   1) Basic ($PACKAGE modules and basic user level libraries)\n";
-        print "   2) HPC ($PACKAGE modules and libraries, MPI and diagnostic tools)\n";
-        print "   3) All packages (all of Basic, HPC)\n";
-        print "   4) Customize\n";
+        print "   2) HPC ($PACKAGE modules and libraries, and diagnostic tools)\n";
+        print "   3) Everything except MPI\n";
+        print "   4) MPI Only\n";
+        print "   5) All packages (all of Basic, HPC, MPI)\n";
+        print "   6) Customize\n";
         print "\n   Q) Exit\n";
-        $max_inp=4;
+        $max_inp=6;
         print "\nSelect Option [1-$max_inp]:"
     }
 
@@ -2083,6 +2089,25 @@ sub select_packages
                 print CONFIG "$module=y\n";
             }
         }
+        elsif ($inp == $ABM) {
+            for my $package ( @abm_packages ) {
+                next if (not $packages_info{$package}{'available'});
+                push (@selected_by_user, $package);
+                $cnt ++;
+            }
+            for my $module ( @kernel_modules ) {
+                next if (not $kernel_modules_info{$module}{'available'});
+                push (@selected_modules_by_user, $module);
+                print CONFIG "$module=y\n";
+            }
+        }
+        elsif ($inp == $MPI) {
+            for my $package ( @mpi_packages ) {
+                next if (not $packages_info{$package}{'available'});
+                push (@selected_by_user, $package);
+                $cnt ++;
+            }
+        }
         elsif ($inp == $ALL) {
             for my $package ( @all_packages, @hidden_packages ) {
                 next if (not $packages_info{$package}{'available'});



More information about the ewg mailing list