forked from spack/spack
-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
scr: release v3.1.0, including components (spack#45737)
SCR and the SCR components have new releases - AXL v0.9.0 - MPI variant added to AXL package - ER v0.5.0 - KVTREE v1.5.0 - Rankstr v0.4.0 - Shuffile v0.4.0 - Spatha v0.4.0 - dtcmp v1.1.5 - lwgrp v1.0.6 - Redset v0.4.0 - New variants added to Redset - SCR v3.1.0 - Added Flux resourse manager - Added pthreads variant - Removed deprecated release candidates and references - Cleaned up component dependency versions - Updated versions within variants and cleaned up cmake_args
- Loading branch information
Showing
10 changed files
with
87 additions
and
86 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -17,6 +17,7 @@ class Dtcmp(AutotoolsPackage): | |
maintainers("gonsie", "camstan", "adammoody") | ||
|
||
version("main", branch="main") | ||
version("1.1.5", sha256="959c28999b8d1dd2e8703172db55392e38114fde0cd54dfad04555622c5e5974") | ||
version("1.1.4", sha256="dd83d8cecd68e13b78b68e88675cc5847cde06742b7740e140b98f4a08127dd3") | ||
version("1.1.3", sha256="90b32cadd0ff2f4fa7fc916f8dcfdbe6918e3e285e0292a2470772478ca0aab5") | ||
version("1.1.2", sha256="76e1d1fed89bf6abf003179a7aed93350d5ce6282cb000b02a241ec802ec399d") | ||
|
@@ -30,7 +31,8 @@ class Dtcmp(AutotoolsPackage): | |
depends_on("lwgrp") | ||
|
||
depends_on("lwgrp@main", when="@main") | ||
depends_on("[email protected]", when="@1.1.4") | ||
depends_on("[email protected]:", when="@1.1.2:") | ||
depends_on("[email protected]:", when="@1.1.4:") | ||
|
||
variant("shared", default=True, description="Build with shared libraries") | ||
depends_on("lwgrp+shared", when="+shared") | ||
|
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -6,7 +6,7 @@ | |
from spack.package import * | ||
|
||
|
||
class Redset(CMakePackage): | ||
class Redset(CMakePackage, CudaPackage): | ||
"""Create MPI communicators for disparate redundancy sets""" | ||
|
||
homepage = "https://github.com/ecp-veloc/redset" | ||
|
@@ -19,6 +19,7 @@ class Redset(CMakePackage): | |
license("MIT") | ||
|
||
version("main", branch="main") | ||
version("0.4.0", sha256="d278a5d3c1323915c379e2077dbfab1248044c86a04fc56faee6681c66380451") | ||
version("0.3.0", sha256="007ca5e7e5f4400e22ad7bca82e366cd51c73f28067c955cc16d7d0ff0c06a1b") | ||
version("0.2.0", sha256="0438b0ba56dafcd5694a8fceeb5a932901307353e056ab29817d30b8387f787f") | ||
version("0.1.0", sha256="baa75de0d0d6de64ade50cff3d38ee89fd136ce69869182bdaefccf5be5d286d") | ||
|
@@ -38,7 +39,11 @@ class Redset(CMakePackage): | |
depends_on("rankstr@:0.2.0", when="@:0.2.0") | ||
depends_on("[email protected]:", when="@0.3.0:") | ||
|
||
variant("shared", default=True, description="Build with shared libraries") | ||
variant("cuda", default=False, description="Enable CUDA support", when="@0.4:") | ||
variant("openmp", default=False, description="Enable OpenMP support", when="@0.4:") | ||
variant("pthreads", default=False, description="Enable Pthread support", when="@0.4:") | ||
|
||
variant("shared", default=True, description="Build with shared libraries", when="@0.1:") | ||
depends_on("kvtree+shared", when="@0.1: +shared") | ||
depends_on("kvtree~shared", when="@0.1: ~shared") | ||
depends_on("rankstr+shared", when="@0.1: +shared") | ||
|
@@ -51,7 +56,9 @@ def cmake_args(self): | |
args.append(self.define("WITH_KVTREE_PREFIX", spec["kvtree"].prefix)) | ||
args.append(self.define("WITH_RANKSTR_PREFIX", spec["rankstr"].prefix)) | ||
|
||
if spec.satisfies("@0.1.0:"): | ||
args.append(self.define_from_variant("BUILD_SHARED_LIBS", "shared")) | ||
args.append(self.define_from_variant("BUILD_SHARED_LIBS", "shared")) | ||
args.append(self.define_from_variant("ENABLE_CUDA", "cuda")) | ||
args.append(self.define_from_variant("ENABLE_OPENMP", "openmp")) | ||
args.append(self.define_from_variant("ENABLE_PTHREADS", "pthreads")) | ||
|
||
return args |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -12,6 +12,8 @@ | |
def detect_scheduler(): | ||
if which("aprun"): | ||
return "APRUN" | ||
if which("flux"): | ||
return "FLUX" | ||
if which("jsrun"): | ||
return "LSF" | ||
return "SLURM" | ||
|
@@ -33,21 +35,12 @@ class Scr(CMakePackage): | |
version("legacy", branch="legacy") | ||
|
||
version( | ||
"3.0.1", | ||
sha256="ba8f9e676aec8176ecc46c31a4f470ac95047101654de8cc88e01a1f9d95665a", | ||
"3.1.0", | ||
sha256="ca1f37c84e0ff7a307e68f213c8cc868974d7fb30f16826853a711c7c3a55ffa", | ||
preferred=True, | ||
) | ||
version("3.0", sha256="e204d3e99a49efac50b4bedc7ac05f55a05f1a65429500d919900c82490532cc") | ||
version( | ||
"3.0rc2", | ||
sha256="4b2a718af56b3683e428d25a2269c038e9452db734221d370e3023a491477fad", | ||
deprecated=True, | ||
) | ||
version( | ||
"3.0rc1", | ||
sha256="bd31548a986f050024429d8ee3644eb135f047f98a3d503a40c5bd4a85291308", | ||
deprecated=True, | ||
) | ||
version("3.0.1", sha256="ba8f9e676aec8176ecc46c31a4f470ac95047101654de8cc88e01a1f9d95665a") | ||
version("3.0.0", sha256="e204d3e99a49efac50b4bedc7ac05f55a05f1a65429500d919900c82490532cc") | ||
version("2.0.0", sha256="471978ae0afb56a20847d3989b994fbd680d1dea21e77a5a46a964b6e3deed6b") | ||
version( | ||
"1.2.2", | ||
|
@@ -79,39 +72,31 @@ class Scr(CMakePackage): | |
|
||
# SCR legacy is anything 2.x.x or earlier | ||
# SCR components is anything 3.x.x or later | ||
depends_on("[email protected]", when="@3.0.1") | ||
depends_on("[email protected]", when="@3.0.1") | ||
depends_on("[email protected]", when="@3.0.1") | ||
depends_on("[email protected]", when="@3.0.1") | ||
depends_on("[email protected]", when="@3.0.1") | ||
depends_on("[email protected]", when="@3.0.1") | ||
depends_on("[email protected] +mpi", when="@3.0.1") | ||
depends_on("[email protected]", when="@3.0.1") | ||
|
||
depends_on("[email protected]", when="@3.0.0") | ||
depends_on("[email protected]", when="@3.0.0") | ||
depends_on("[email protected]", when="@3.0.0") | ||
depends_on("[email protected]", when="@3.0.0") | ||
depends_on("[email protected]", when="@3.0.0") | ||
depends_on("[email protected]", when="@3.0.0") | ||
depends_on("[email protected]", when="@3.0.0") | ||
depends_on("[email protected]", when="@3.0.0") | ||
|
||
depends_on("[email protected]:", when="@3.0rc2") | ||
depends_on("[email protected]:", when="@3.0rc2") | ||
depends_on("[email protected]:", when="@3.0rc2") | ||
depends_on("[email protected]:", when="@3.0rc2") | ||
depends_on("[email protected]:", when="@3.0rc2") | ||
depends_on("[email protected]:", when="@3.0rc2") | ||
depends_on("[email protected]:", when="@3.0rc2") | ||
|
||
depends_on("[email protected]", when="@3.0rc1") | ||
depends_on("[email protected]", when="@3.0rc1") | ||
depends_on("[email protected]", when="@3.0rc1") | ||
depends_on("[email protected]", when="@3.0rc1") | ||
depends_on("[email protected]", when="@3.0rc1") | ||
depends_on("[email protected]", when="@3.0rc1") | ||
depends_on("[email protected]", when="@3.0rc1") | ||
with when("@3.1.0"): | ||
depends_on("[email protected]: +mpi") | ||
depends_on("[email protected]") | ||
depends_on("[email protected]:") | ||
depends_on("[email protected]:") | ||
depends_on("[email protected]") | ||
depends_on("[email protected]:") | ||
depends_on("[email protected]: +mpi") | ||
depends_on("[email protected]") | ||
|
||
with when("@3.0.1"): | ||
depends_on("[email protected] +mpi") | ||
depends_on("[email protected]") | ||
|
||
with when("@3.0.0"): | ||
depends_on("[email protected]") | ||
depends_on("[email protected]") | ||
|
||
with when("@3.0.0:3.0.1"): | ||
depends_on("[email protected]") | ||
depends_on("[email protected]") | ||
depends_on("[email protected]") | ||
depends_on("[email protected]") | ||
depends_on("[email protected] +mpi") | ||
depends_on("[email protected]:") | ||
|
||
# DTCMP is an optional dependency up until 3.x, required thereafter | ||
variant( | ||
|
@@ -127,14 +112,15 @@ class Scr(CMakePackage): | |
"libyogrt", default=True, description="Build SCR with libyogrt for get_time_remaining." | ||
) | ||
depends_on("libyogrt scheduler=slurm", when="+libyogrt resource_manager=SLURM") | ||
depends_on("libyogrt scheduler=flux", when="+libyogrt resource_manager=FLUX") | ||
depends_on("libyogrt scheduler=lsf", when="+libyogrt resource_manager=LSF") | ||
depends_on("libyogrt", when="+libyogrt") | ||
|
||
# PDSH required up to 3.0rc1, optional thereafter | ||
# TODO spack currently assumes 3.0.0 = 3.0 = 3 < 3.0rc1 < 3.0rc2 | ||
variant("pdsh", default=True, when="@3.0.0,3.0rc2:", description="Enable use of PDSH") | ||
variant("pdsh", default=True, when="@3:", description="Enable use of PDSH") | ||
depends_on("pdsh+static_modules", type=("build", "run"), when="+pdsh") | ||
depends_on("pdsh+static_modules", type=("build", "run"), when="@:2,3.0rc1") | ||
depends_on("pdsh+static_modules", type=("build", "run"), when="@:2") | ||
|
||
variant( | ||
"scr_config", | ||
|
@@ -154,7 +140,7 @@ class Scr(CMakePackage): | |
variant( | ||
"resource_manager", | ||
default=detect_scheduler(), | ||
values=("SLURM", "APRUN", "LSF", "NONE"), | ||
values=("SLURM", "APRUN", "FLUX", "LSF", "NONE"), | ||
multi=False, | ||
description="Resource manager for which to configure SCR.", | ||
) | ||
|
@@ -169,32 +155,27 @@ class Scr(CMakePackage): | |
description="Asynchronous data transfer API to use with SCR.", | ||
) | ||
|
||
variant("bbapi", default=True, when="@3.0rc2:", description="Enable IBM BBAPI support") | ||
variant("pthreads", default=True, when="@3:", description="Enable Pthread support") | ||
depends_on("axl+pthreads", when="+pthreads") | ||
|
||
variant("bbapi", default=False, when="@3:", description="Enable IBM BBAPI support") | ||
depends_on("axl+bbapi", when="+bbapi") | ||
depends_on("axl~bbapi", when="~bbapi") | ||
|
||
variant( | ||
"bbapi_fallback", | ||
default=False, | ||
when="@3:", | ||
when="@3: +bbapi", | ||
description="Using BBAPI, if source or destination don't support \ | ||
file extents then fallback to pthreads", | ||
) | ||
depends_on("axl+bbapi_fallback", when="+bbapi_fallback") | ||
variant( | ||
"bbapi_fallback", | ||
default=False, | ||
when="@3.0rc2: +bbapi", | ||
description="Using BBAPI, if source or destination don't support \ | ||
file extents then fallback to pthreads", | ||
) | ||
depends_on("axl+bbapi+bbapi_fallback", when="@3.0rc2: +bbapi_fallback") | ||
depends_on("axl+bbapi+bbapi_fallback", when="@3: +bbapi_fallback") | ||
|
||
variant("dw", default=False, when="@3.0rc2:", description="Enable Cray DataWarp support") | ||
variant("dw", default=False, when="@3:", description="Enable Cray DataWarp support") | ||
depends_on("axl+dw", when="+dw") | ||
depends_on("axl~dw", when="~dw") | ||
|
||
variant("examples", default=True, when="@3.0rc2:", description="Build SCR example programs") | ||
variant("examples", default=True, when="@3:", description="Build SCR example programs") | ||
|
||
variant( | ||
"file_lock", | ||
|
@@ -213,7 +194,7 @@ class Scr(CMakePackage): | |
# capturing SCR and syslog messages in a database') | ||
# depends_on('mysql', when='+mysql') | ||
|
||
variant("shared", default=True, when="@3.0rc2:", description="Build with shared libraries") | ||
variant("shared", default=True, when="@3:", description="Build with shared libraries") | ||
depends_on("libyogrt+static", when="~shared") | ||
for comp in cmpnts: | ||
depends_on(comp + "+shared", when="+shared") | ||
|
@@ -223,7 +204,7 @@ class Scr(CMakePackage): | |
|
||
# TODO: Expose `tests` and `resource_manager` variants in components and | ||
# then propogate their setting through components. | ||
variant("tests", default=True, when="@3.0rc2:", description="Build with CTest included") | ||
variant("tests", default=True, when="@3:", description="Build with CTest included") | ||
|
||
# The default cache and control directories should be placed in tmpfs if available. | ||
# On Linux, /dev/shm is a common tmpfs location. Other platforms, like macOS, | ||
|
@@ -259,7 +240,17 @@ def cmake_args(self): | |
spec = self.spec | ||
args = [] | ||
|
||
args.append(self.define_from_variant("BUILD_SHARED_LIBS", "shared")) | ||
args.append(self.define_from_variant("ENABLE_FORTRAN", "fortran")) | ||
args.append(self.define_from_variant("ENABLE_IBM_BBAPI", "bbapi")) | ||
args.append(self.define_from_variant("ENABLE_CRAY_DW", "dw")) | ||
args.append(self.define_from_variant("ENABLE_EXAMPLES", "examples")) | ||
args.append(self.define_from_variant("ENABLE_YOGRT", "libyogrt")) | ||
# args.append(self.define_from_variant('ENABLE_MYSQL', 'mysql')) | ||
args.append(self.define_from_variant("ENABLE_PDSH", "pdsh")) | ||
args.append(self.define_from_variant("ENABLE_PTHREADS", "pthreads")) | ||
args.append(self.define_from_variant("ENABLE_TESTS", "tests")) | ||
args.append(self.define_from_variant("SCR_ASYNC_API", "async_api")) | ||
args.append(self.define_from_variant("SCR_FILE_LOCK", "file_lock")) | ||
args.append(self.define_from_variant("SCR_CACHE_BASE", "cache_base")) | ||
args.append(self.define_from_variant("SCR_CNTL_BASE", "cntl_base")) | ||
|
@@ -281,28 +272,15 @@ def cmake_args(self): | |
cmpnts = ["axl", "dtcmp", "er", "kvtree", "rankstr", "redset", "shuffile", "spath"] | ||
for comp in cmpnts: | ||
args.append(self.define("WITH_" + comp.upper() + "_PREFIX", spec[comp].prefix)) | ||
else: | ||
# dtcmp optional before this point | ||
if "+dtcmp" in spec: | ||
args.append(self.define("WITH_DTCMP_PREFIX", spec["dtcmp"].prefix)) | ||
|
||
# Only used prior to version 3 | ||
args.append(self.define_from_variant("SCR_ASYNC_API", "async_api")) | ||
|
||
if spec.satisfies("@3.0rc2:"): | ||
args.append(self.define_from_variant("ENABLE_IBM_BBAPI", "bbapi")) | ||
args.append(self.define_from_variant("ENABLE_CRAY_DW", "dw")) | ||
args.append(self.define_from_variant("ENABLE_EXAMPLES", "examples")) | ||
args.append(self.define_from_variant("ENABLE_YOGRT", "libyogrt")) | ||
# args.append(self.define_from_variant('ENABLE_MYSQL', 'mysql')) | ||
args.append(self.define_from_variant("ENABLE_PDSH", "pdsh")) | ||
args.append(self.define_from_variant("BUILD_SHARED_LIBS", "shared")) | ||
args.append(self.define_from_variant("ENABLE_TESTS", "tests")) | ||
|
||
# PDSH optional from this point on | ||
if "+pdsh" in spec: | ||
args.append(self.define("WITH_PDSH_PREFIX", spec["pdsh"].prefix)) | ||
else: | ||
# dtcmp optional before this point | ||
if "+dtcmp" in spec: | ||
args.append(self.define("WITH_DTCMP_PREFIX", spec["dtcmp"].prefix)) | ||
|
||
# PDSH required before this point | ||
args.append(self.define("WITH_PDSH_PREFIX", spec["pdsh"].prefix)) | ||
|
||
|
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters