summaryrefslogtreecommitdiff
path: root/var
diff options
context:
space:
mode:
authorRalph Castain <rhc@pmix.org>2019-01-26 12:25:18 -0800
committerAxel Huebl <axel.huebl@plasma.ninja>2019-01-26 21:25:18 +0100
commit3b1fb7d9ff35d0264eea8bf62568a1c0575b72fc (patch)
treede375b8aafca2b0b395ddcb49ff95a4be6525dcb /var
parent4e14752dd6febfbbc4ecc7a6d27376d22127a5f4 (diff)
downloadspack-3b1fb7d9ff35d0264eea8bf62568a1c0575b72fc.tar.gz
spack-3b1fb7d9ff35d0264eea8bf62568a1c0575b72fc.tar.bz2
spack-3b1fb7d9ff35d0264eea8bf62568a1c0575b72fc.tar.xz
spack-3b1fb7d9ff35d0264eea8bf62568a1c0575b72fc.zip
Update the PMIx package (#10442)
* Update the PMIx package - Add latest releases to the list. - Add dependency on hwloc for versions >= 3.0 - Flag preferred versions for libevent and hwloc - Improve the description - Point the project URL to the correct site Signed-off-by: Ralph Castain <rhc@pmix.org> * Only install the hwloc dependency for versions >= 3.0.0 Thanks to @ax3l for the suggestion Signed-off-by: Ralph Castain <rhc@pmix.org> * Add myself as a listed maintainer Signed-off-by: Ralph Castain <rhc@pmix.org>
Diffstat (limited to 'var')
-rw-r--r--var/spack/repos/builtin/packages/pmix/package.py59
1 files changed, 32 insertions, 27 deletions
diff --git a/var/spack/repos/builtin/packages/pmix/package.py b/var/spack/repos/builtin/packages/pmix/package.py
index 7a4b4b8bb0..19bf30ee85 100644
--- a/var/spack/repos/builtin/packages/pmix/package.py
+++ b/var/spack/repos/builtin/packages/pmix/package.py
@@ -9,43 +9,44 @@ import spack.architecture
class Pmix(AutotoolsPackage):
- """The Process Management Interface (PMI) has been used for quite some time
- as a means of exchanging wireup information needed for interprocess
- communication. Two versions (PMI-1 and PMI-2) have been released as part
- of the MPICH effort. While PMI-2 demonstrates better scaling properties
- than its PMI-1 predecessor, attaining rapid launch and wireup of the
- roughly 1M processes executing across 100k nodes expected for exascale
- operations remains challenging. PMI Exascale (PMIx) represents an
- attempt to resolve these questions by providing an extended version
- of the PMI definitions specifically designed to support clusters up
- to and including exascale sizes. The overall objective of the project
- is not to branch the existing definitions - in fact, PMIx fully
- supports both of the existing PMI-1 and PMI-2 APIs - but rather to
- (a) augment and extend those APIs to eliminate some current restrictions
- that impact scalability, (b) establish a standards-like body for
- maintaining the definitions, and (c) provide a reference implementation
- of the PMIx standard that demonstrates the desired level of
- scalability."""
+ """The Process Management Interface (PMI) has been used for quite some
+ time as a means of exchanging wireup information needed for
+ interprocess communication. However, meeting the significant
+ orchestration challenges presented by exascale systems requires
+ that the process-to-system interface evolve to permit a tighter
+ integration between the different components of the parallel
+ application and existing and future SMS solutions.
- homepage = "https://pmix.github.io/pmix"
- url = "https://github.com/pmix/pmix/releases/download/v2.0.1/pmix-2.0.1.tar.bz2"
+ PMI Exascale (PMIx) addresses these needs by providing an extended
+ version of the PMI definitions specifically designed to support
+ exascale and beyond environments by: (a) adding flexibility to the
+ functionality expressed in the existing APIs, (b) augmenting the
+ interfaces with new APIs that provide extended capabilities, (c)
+ forging a collaboration between subsystem providers including
+ resource manager, fabric, file system, and programming library
+ developers, (d) establishing a standards-like body for maintaining
+ the definitions, and (e) providing a reference implementation of the
+ PMIx standard that demonstrates the desired level of scalability
+ while maintaining strict separation between it and the standard
+ itself."""
+ homepage = "https://pmix.org"
+ url = "https://github.com/pmix/pmix/releases/download/v3.1.2/pmix-3.1.2.tar.bz2"
+ maintainers = ['rhc54']
+
+ version('3.1.2', sha256='28aed0392d4ca2cdfbdd721e6210c94dadc9830677fea37a0abe9d592c00f9c3')
version('3.0.2', sha256='df68f35a3ed9517eeade80b13855cebad8fde2772b36a3f6be87559b6d430670')
version('3.0.1', sha256='b81055d2c0d61ef5a451b63debc39c820bcd530490e2e4dcb4cdbacb618c157c')
version('3.0.0', sha256='ee8f68107c24b706237a53333d832445315ae37de6773c5413d7fda415a6e2ee')
+ version('2.2.2', sha256='cd951dbda623fadc5b32ae149d8cc41f9462eac4d718d089340911b1a7c20714')
version('2.1.4', sha256='eb72d292e76e200f02cf162a477eecea2559ef3ac2edf50ee95b3fe3983d033e')
version('2.1.3', sha256='281283133498e7e5999ed5c6557542c22408bc9eb51ecbcf7696160616782a41')
version('2.1.2', sha256='94bb9c801c51a6caa1b8cef2b85ecf67703a5dfa4d79262e6668c37c744bb643')
version('2.0.1', 'ba3193b485843516e6b4e8641e443b1e')
- version('2.0.0', '3e047c2ea0ba8ee9925ed92b205fd92e')
version('1.2.5', 'c3d20cd9d365a813dc367afdf0f41c37')
- version('1.2.4', '242a812e206e7c5948f1f5c9688eb2a7')
- version('1.2.3', '102b1cc650018b62348b45d572b158e9')
- version('1.2.2', 'd85c8fd437bd88f984549425ad369e9f')
- version('1.2.1', 'f090f524681c52001ea2db3b0285596f')
- version('1.2.0', '6a42472d5a32e1c31ce5da19d50fc21a')
- depends_on('libevent')
+ depends_on('libevent@2.0.20:2.0.22,2.1.8')
+ depends_on('hwloc@1.11.0:1.11.99,2.0.1:', when='@3.0.0:')
def configure_args(self):
@@ -55,7 +56,7 @@ class Pmix(AutotoolsPackage):
'--enable-static'
]
- # external libevent support (needed to keep Open MPI happy)
+ # libevent support
config_args.append(
'--with-libevent={0}'.format(spec['libevent'].prefix))
@@ -66,4 +67,8 @@ class Pmix(AutotoolsPackage):
self.spec.version < Version('2.1.1'):
config_args.append('--without-tests-examples')
+ # Versions >= 3.0 also use hwloc
+ if self.spec.version >= Version('3.0.0'):
+ config_args.append('--with-hwloc={0}'.format(spec['hwloc'].prefix))
+
return config_args