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 <j...@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'}); _______________________________________________ ewg mailing list ewg@lists.openfabrics.org http://lists.openfabrics.org/cgi-bin/mailman/listinfo/ewg