legion: Update Python dependencies. Fix variant requirements. Remove TLS. (#39003)

* legion: Missing Python dependency. Fix variant dependencies. Remove TLS.

* Update Python version bound and add NumPy dependency.

* Update requires syntax.
This commit is contained in:
Elliott Slaughter 2023-07-21 13:59:04 -07:00 committed by GitHub
parent c5c75e8921
commit b85803ae6c
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

View File

@ -100,7 +100,10 @@ class Legion(CMakePackage, ROCmPackage):
depends_on("kokkos@3.3.01:+rocm", when="+kokkos+rocm")
depends_on("python@3", when="+python")
# https://github.com/StanfordLegion/legion/#dependencies
depends_on("python@3.8:", when="+python")
depends_on("py-cffi", when="+python")
depends_on("py-numpy", when="+python")
depends_on("papi", when="+papi")
depends_on("zlib", when="+zlib")
@ -111,8 +114,6 @@ class Legion(CMakePackage, ROCmPackage):
cpp_stds = ["11", "14", "17", "20"]
variant("cxxstd", default="11", values=cpp_stds, multi=False)
# TODO: Need a AMD/HIP variant to match support landing in 21.03.0.
# Network transport layer: the underlying data transport API should be used for
# distributed data movement. For Legion, gasnet is the currently the most
# mature. We have many users that default to using no network layer for
@ -184,12 +185,6 @@ def validate_gasnet_root(value):
description="Enable runtime privildge checks in Legion accessors.",
)
variant(
"enable_tls",
default=False,
description="Enable thread-local-storage of the Legion context.",
)
variant(
"output_level",
default="warning",
@ -223,6 +218,7 @@ def validate_gasnet_root(value):
conflicts("+cuda_hijack", when="~cuda")
variant("fortran", default=False, description="Enable Fortran bindings.")
requires("+bindings", when="+fortran")
variant("hdf5", default=False, description="Enable support for HDF5.")
@ -245,6 +241,8 @@ def validate_gasnet_root(value):
variant("papi", default=False, description="Enable PAPI performance measurements.")
variant("python", default=False, description="Enable Python support.")
requires("+bindings", when="+python")
requires("+shared", when="+python")
variant("zlib", default=True, description="Enable zlib support.")
@ -321,9 +319,6 @@ def cmake_args(self):
if "+privilege_checks" in spec:
# default is off.
options.append("-DLegion_PRIVILEGE_CHECKS=ON")
if "+enable_tls" in spec:
# default is off.
options.append("-DLegion_ENABLE_TLS=ON")
if "output_level" in spec:
level = str.upper(spec.variants["output_level"].value)
options.append("-DLegion_OUTPUT_LEVEL=%s" % level)
@ -400,7 +395,6 @@ def cmake_args(self):
# default is off.
options.append("-DLegion_BUILD_BINDINGS=ON")
options.append("-DLegion_REDOP_COMPLEX=ON") # required for bindings
options.append("-DLegion_USE_Fortran=ON")
if spec.variants["build_type"].value == "Debug":
cmake_cxx_flags.extend(["-DDEBUG_REALM", "-DDEBUG_LEGION", "-ggdb"])