diff options
author | Todd Gamblin <tgamblin@llnl.gov> | 2022-07-30 15:19:18 -0700 |
---|---|---|
committer | Todd Gamblin <tgamblin@llnl.gov> | 2022-07-31 13:29:20 -0700 |
commit | f52f6e99dbf1131886a80112b8c79dfc414afb7c (patch) | |
tree | 05cb7d64b2395922f2f24683da49f472075be12c /var/spack/repos/tutorial/packages/mpich/package.py | |
parent | 549ba1ed32372c67fc57271cde3797d58b7dec6e (diff) | |
download | spack-f52f6e99dbf1131886a80112b8c79dfc414afb7c.tar.gz spack-f52f6e99dbf1131886a80112b8c79dfc414afb7c.tar.bz2 spack-f52f6e99dbf1131886a80112b8c79dfc414afb7c.tar.xz spack-f52f6e99dbf1131886a80112b8c79dfc414afb7c.zip |
black: reformat entire repository with black
Diffstat (limited to 'var/spack/repos/tutorial/packages/mpich/package.py')
-rw-r--r-- | var/spack/repos/tutorial/packages/mpich/package.py | 146 |
1 files changed, 71 insertions, 75 deletions
diff --git a/var/spack/repos/tutorial/packages/mpich/package.py b/var/spack/repos/tutorial/packages/mpich/package.py index 1e372528a4..ae1b00961d 100644 --- a/var/spack/repos/tutorial/packages/mpich/package.py +++ b/var/spack/repos/tutorial/packages/mpich/package.py @@ -13,67 +13,65 @@ class Mpich(AutotoolsPackage): the Message Passing Interface (MPI) standard.""" homepage = "http://www.mpich.org" - url = "http://www.mpich.org/static/downloads/3.0.4/mpich-3.0.4.tar.gz" - git = "https://github.com/pmodels/mpich.git" + url = "http://www.mpich.org/static/downloads/3.0.4/mpich-3.0.4.tar.gz" + git = "https://github.com/pmodels/mpich.git" list_url = "http://www.mpich.org/static/downloads/" list_depth = 1 - version('develop', submodules=True) - version('3.2.1', 'e175452f4d61646a52c73031683fc375') - version('3.2', 'f414cfa77099cd1fa1a5ae4e22db508a') - version('3.1.4', '2ab544607986486562e076b83937bba2') - version('3.1.3', '93cb17f91ac758cbf9174ecb03563778') - version('3.1.2', '7fbf4b81dcb74b07ae85939d1ceee7f1') - version('3.1.1', '40dc408b1e03cc36d80209baaa2d32b7') - version('3.1', '5643dd176499bfb7d25079aaff25f2ec') - version('3.0.4', '9c5d5d4fe1e17dd12153f40bc5b6dbc0') - - variant('hydra', default=True, description='Build the hydra process manager') - variant('pmi', default=True, description='Build with PMI support') - variant('romio', default=True, description='Enable ROMIO MPI I/O implementation') - variant('verbs', default=False, description='Build support for OpenFabrics verbs.') + version("develop", submodules=True) + version("3.2.1", "e175452f4d61646a52c73031683fc375") + version("3.2", "f414cfa77099cd1fa1a5ae4e22db508a") + version("3.1.4", "2ab544607986486562e076b83937bba2") + version("3.1.3", "93cb17f91ac758cbf9174ecb03563778") + version("3.1.2", "7fbf4b81dcb74b07ae85939d1ceee7f1") + version("3.1.1", "40dc408b1e03cc36d80209baaa2d32b7") + version("3.1", "5643dd176499bfb7d25079aaff25f2ec") + version("3.0.4", "9c5d5d4fe1e17dd12153f40bc5b6dbc0") + + variant("hydra", default=True, description="Build the hydra process manager") + variant("pmi", default=True, description="Build with PMI support") + variant("romio", default=True, description="Enable ROMIO MPI I/O implementation") + variant("verbs", default=False, description="Build support for OpenFabrics verbs.") variant( - 'device', - default='ch3', - description='''Abstract Device Interface (ADI) -implementation. The ch4 device is currently in experimental state''', - values=('ch3', 'ch4'), - multi=False + "device", + default="ch3", + description="""Abstract Device Interface (ADI) +implementation. The ch4 device is currently in experimental state""", + values=("ch3", "ch4"), + multi=False, ) variant( - 'netmod', - default='tcp', - description='''Network module. Only single netmod builds are + "netmod", + default="tcp", + description="""Network module. Only single netmod builds are supported. For ch3 device configurations, this presumes the ch3:nemesis communication channel. ch3:sock is not supported by this -spack package at this time.''', - values=('tcp', 'mxm', 'ofi', 'ucx'), - multi=False +spack package at this time.""", + values=("tcp", "mxm", "ofi", "ucx"), + multi=False, ) - provides('mpi') - provides('mpi@:3.0', when='@3:') - provides('mpi@:1.3', when='@1:') + provides("mpi") + provides("mpi@:3.0", when="@3:") + provides("mpi@:1.3", when="@1:") - filter_compiler_wrappers( - 'mpicc', 'mpicxx', 'mpif77', 'mpif90', 'mpifort', relative_root='bin' - ) + filter_compiler_wrappers("mpicc", "mpicxx", "mpif77", "mpif90", "mpifort", relative_root="bin") # fix MPI_Barrier segmentation fault # see https://lists.mpich.org/pipermail/discuss/2016-May/004764.html # and https://lists.mpich.org/pipermail/discuss/2016-June/004768.html - patch('mpich32_clang.patch', when='@3.2:3.2.0%clang') + patch("mpich32_clang.patch", when="@3.2:3.2.0%clang") - depends_on('findutils', type='build') + depends_on("findutils", type="build") - depends_on('libfabric', when='netmod=ofi') + depends_on("libfabric", when="netmod=ofi") - conflicts('device=ch4', when='@:3.2') - conflicts('netmod=ofi', when='@:3.1.4') - conflicts('netmod=ucx', when='device=ch3') - conflicts('netmod=mxm', when='device=ch4') - conflicts('netmod=mxm', when='@:3.1.3') - conflicts('netmod=tcp', when='device=ch4') + conflicts("device=ch4", when="@:3.2") + conflicts("netmod=ofi", when="@:3.1.4") + conflicts("netmod=ucx", when="device=ch3") + conflicts("netmod=mxm", when="device=ch4") + conflicts("netmod=mxm", when="@:3.1.3") + conflicts("netmod=tcp", when="device=ch4") def setup_dependent_build_environment(self, env, dependent_spec): # TUTORIAL: set the following variables for dependents: @@ -90,20 +88,20 @@ spack package at this time.''', pass def setup_dependent_package(self, module, dependent_spec): - if 'platform=cray' in self.spec: + if "platform=cray" in self.spec: self.spec.mpicc = spack_cc self.spec.mpicxx = spack_cxx self.spec.mpifc = spack_fc self.spec.mpif77 = spack_f77 else: - self.spec.mpicc = join_path(self.prefix.bin, 'mpicc') - self.spec.mpicxx = join_path(self.prefix.bin, 'mpic++') - self.spec.mpifc = join_path(self.prefix.bin, 'mpif90') - self.spec.mpif77 = join_path(self.prefix.bin, 'mpif77') + self.spec.mpicc = join_path(self.prefix.bin, "mpicc") + self.spec.mpicxx = join_path(self.prefix.bin, "mpic++") + self.spec.mpifc = join_path(self.prefix.bin, "mpif90") + self.spec.mpif77 = join_path(self.prefix.bin, "mpif77") self.spec.mpicxx_shared_libs = [ - join_path(self.prefix.lib, 'libmpicxx.{0}'.format(dso_suffix)), - join_path(self.prefix.lib, 'libmpi.{0}'.format(dso_suffix)) + join_path(self.prefix.lib, "libmpicxx.{0}".format(dso_suffix)), + join_path(self.prefix.lib, "libmpi.{0}".format(dso_suffix)), ] def autoreconf(self, spec, prefix): @@ -112,44 +110,42 @@ spack package at this time.''', if os.path.exists(self.configure_abs_path): return # Else bootstrap with autotools - bash = which('bash') - bash('./autogen.sh') + bash = which("bash") + bash("./autogen.sh") - @run_before('autoreconf') + @run_before("autoreconf") def die_without_fortran(self): # Until we can pass variants such as +fortran through virtual # dependencies depends_on('mpi'), require Fortran compiler to # avoid delayed build errors in dependents. if (self.compiler.f77 is None) or (self.compiler.fc is None): - raise InstallError( - 'Mpich requires both C and Fortran compilers!' - ) + raise InstallError("Mpich requires both C and Fortran compilers!") def configure_args(self): spec = self.spec config_args = [ - '--enable-shared', - '--with-pm={0}'.format('hydra' if '+hydra' in spec else 'no'), - '--with-pmi={0}'.format('yes' if '+pmi' in spec else 'no'), - '--{0}-romio'.format('enable' if '+romio' in spec else 'disable'), - '--{0}-ibverbs'.format('with' if '+verbs' in spec else 'without') + "--enable-shared", + "--with-pm={0}".format("hydra" if "+hydra" in spec else "no"), + "--with-pmi={0}".format("yes" if "+pmi" in spec else "no"), + "--{0}-romio".format("enable" if "+romio" in spec else "disable"), + "--{0}-ibverbs".format("with" if "+verbs" in spec else "without"), ] # setup device configuration - device_config = '' - if 'device=ch4' in spec: - device_config = '--with-device=ch4:' - elif 'device=ch3' in spec: - device_config = '--with-device=ch3:nemesis:' - - if 'netmod=ucx' in spec: - device_config += 'ucx' - elif 'netmod=ofi' in spec: - device_config += 'ofi' - elif 'netmod=mxm' in spec: - device_config += 'mxm' - elif 'netmod=tcp' in spec: - device_config += 'tcp' + device_config = "" + if "device=ch4" in spec: + device_config = "--with-device=ch4:" + elif "device=ch3" in spec: + device_config = "--with-device=ch3:nemesis:" + + if "netmod=ucx" in spec: + device_config += "ucx" + elif "netmod=ofi" in spec: + device_config += "ofi" + elif "netmod=mxm" in spec: + device_config += "mxm" + elif "netmod=tcp" in spec: + device_config += "tcp" config_args.append(device_config) |