summaryrefslogtreecommitdiff
path: root/var/spack/repos/tutorial/packages/mpich/package.py
diff options
context:
space:
mode:
authorTodd Gamblin <tgamblin@llnl.gov>2022-07-30 15:19:18 -0700
committerTodd Gamblin <tgamblin@llnl.gov>2022-07-31 13:29:20 -0700
commitf52f6e99dbf1131886a80112b8c79dfc414afb7c (patch)
tree05cb7d64b2395922f2f24683da49f472075be12c /var/spack/repos/tutorial/packages/mpich/package.py
parent549ba1ed32372c67fc57271cde3797d58b7dec6e (diff)
downloadspack-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.py146
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)