diff --git a/repos/spack_repo/builtin/packages/nmad/package.py b/repos/spack_repo/builtin/packages/nmad/package.py index 6d7d5f36030..4fe07e8806c 100644 --- a/repos/spack_repo/builtin/packages/nmad/package.py +++ b/repos/spack_repo/builtin/packages/nmad/package.py @@ -3,9 +3,10 @@ # SPDX-License-Identifier: (Apache-2.0 OR MIT) from spack_repo.builtin.build_systems.autotools import AutotoolsPackage -from spack.package import * from spack_repo.builtin.packages.puk.package import Puk +from spack.package import * + class Nmad(AutotoolsPackage): """NewMadeleine communication library. diff --git a/repos/spack_repo/builtin/packages/padicotm/package.py b/repos/spack_repo/builtin/packages/padicotm/package.py index e82337c41ed..4cce7866440 100644 --- a/repos/spack_repo/builtin/packages/padicotm/package.py +++ b/repos/spack_repo/builtin/packages/padicotm/package.py @@ -3,9 +3,10 @@ # SPDX-License-Identifier: (Apache-2.0 OR MIT) from spack_repo.builtin.build_systems.autotools import AutotoolsPackage -from spack.package import * from spack_repo.builtin.packages.puk.package import Puk +from spack.package import * + class Padicotm(AutotoolsPackage): """PadicoTM communication framework and launcher. diff --git a/repos/spack_repo/builtin/packages/pioman/package.py b/repos/spack_repo/builtin/packages/pioman/package.py index bd7b4dcf9fd..7c1c1fd4c03 100644 --- a/repos/spack_repo/builtin/packages/pioman/package.py +++ b/repos/spack_repo/builtin/packages/pioman/package.py @@ -3,9 +3,10 @@ # SPDX-License-Identifier: (Apache-2.0 OR MIT) from spack_repo.builtin.build_systems.autotools import AutotoolsPackage -from spack.package import * from spack_repo.builtin.packages.puk.package import Puk +from spack.package import * + class Pioman(AutotoolsPackage): """PIOMan I/O manager. diff --git a/repos/spack_repo/builtin/packages/puk/package.py b/repos/spack_repo/builtin/packages/puk/package.py index 9f9a91bb218..c93f76f3392 100644 --- a/repos/spack_repo/builtin/packages/puk/package.py +++ b/repos/spack_repo/builtin/packages/puk/package.py @@ -3,6 +3,7 @@ # SPDX-License-Identifier: (Apache-2.0 OR MIT) from spack_repo.builtin.build_systems.autotools import AutotoolsPackage + from spack.package import * diff --git a/repos/spack_repo/builtin/packages/pukabi/package.py b/repos/spack_repo/builtin/packages/pukabi/package.py index c15abddeea9..690e0c53b56 100644 --- a/repos/spack_repo/builtin/packages/pukabi/package.py +++ b/repos/spack_repo/builtin/packages/pukabi/package.py @@ -3,9 +3,10 @@ # SPDX-License-Identifier: (Apache-2.0 OR MIT) from spack_repo.builtin.build_systems.autotools import AutotoolsPackage -from spack.package import * from spack_repo.builtin.packages.puk.package import Puk +from spack.package import * + class Pukabi(AutotoolsPackage): """PukABI: ABI manager for PadicoTM. diff --git a/repos/spack_repo/builtin/packages/py_nvidia_dali/package.py b/repos/spack_repo/builtin/packages/py_nvidia_dali/package.py index 3179769e5cb..ddd23c2cd55 100644 --- a/repos/spack_repo/builtin/packages/py_nvidia_dali/package.py +++ b/repos/spack_repo/builtin/packages/py_nvidia_dali/package.py @@ -18,7 +18,6 @@ class PyNvidiaDali(PythonPackage): url = "https://developer.download.nvidia.com/compute/redist/" maintainers("thomas-bouvier") - # todo(tbouvier): WITH_DYNAMIC_NVIMGCODEC? # py-nvidia-dali is not available on these platforms, but is depended on by # py-nvidia-modulus which does not have such conflict statements. @@ -30,6 +29,18 @@ class PyNvidiaDali(PythonPackage): system = platform.system().lower() arch = platform.machine() if "linux" in system and arch == "x86_64": + version( + "1.53.0-cuda130", + sha256="f8f0f0a6216de4d7ab933c35bbf74c20e849fb042fc816995ab5fe3f437da277", + url="https://developer.download.nvidia.com/compute/redist/nvidia-dali-cuda130/nvidia_dali_cuda130-1.53.0-py3-none-manylinux_2_28_x86_64.whl", + expand=False, + ), + version( + "1.53.0-cuda120", + sha256="a4e0390ab173dd93e6e97299131b54e79b7a35fccc2f88fd312f8bce94612537", + url="https://developer.download.nvidia.com/compute/redist/nvidia-dali-cuda120/nvidia_dali_cuda120-1.53.0-py3-none-manylinux_2_28_x86_64.whl", + expand=False, + ) version( "1.52.0-cuda130", sha256="37369fb30e9c66f710b29836688c90abc36793bbe757cd3ad699fac76ba07119", @@ -151,6 +162,18 @@ class PyNvidiaDali(PythonPackage): expand=False, ) elif "linux" in system and arch == "aarch64": + version( + "1.53.0-cuda130", + sha256="59e4865bb37c616dd01efe7180d7e391a48e6f2fc0128c0f173404a694fb6dbc", + url="https://developer.download.nvidia.com/compute/redist/nvidia-dali-cuda130/nvidia_dali_cuda130-1.53.0-py3-none-manylinux_2_28_aarch64.whl", + expand=False, + ) + version( + "1.53.0-cuda120", + sha256="5cae8790dcfaf0ad44a8bfee747127a1f10bed14f577626ef3501cad434ac63c", + url="https://developer.download.nvidia.com/compute/redist/nvidia-dali-cuda120/nvidia_dali_cuda120-1.53.0-py3-none-manylinux_2_28_aarch64.whl", + expand=False, + ) version( "1.52.0-cuda130", sha256="2951f4141311583d3e6e3c885a4c560b43b6cb1aa66d4a018e347d541b4fc873", @@ -272,8 +295,9 @@ class PyNvidiaDali(PythonPackage): expand=False, ) - cuda130_versions = ("@1.52.0-cuda130",) + cuda130_versions = ("@1.52.0-cuda130", "@1.53.0-cuda130") cuda120_versions = ( + "@1.53.0-cuda120", "@1.52.0-cuda120", "@1.50.0-cuda120", "@1.41.0-cuda120", @@ -320,7 +344,9 @@ class PyNvidiaDali(PythonPackage): depends_on("py-packaging@:24.2", when="@1.45:1.50") depends_on("py-nvtx", when="@1.52:") depends_on("py-makefun", when="@1.52:") - depends_on("py-nvidia-nvimagecodec@0.6.0:0.7.0", when="@1.52:") + # https://github.com/NVIDIA/DALI/blob/main/cmake/Dependencies.common.cmake + depends_on("py-nvidia-nvimagecodec@0.7.0:0.8.0", when="@1.53:") + depends_on("py-nvidia-nvimagecodec@0.6.0:0.7.0", when="@1.52") depends_on("py-nvidia-nvimagecodec@0.5.0:0.6.0", when="@1.49:1.51") depends_on("py-nvidia-nvimagecodec@0.4.1:0.5.0", when="@1.46:1.48") depends_on("py-nvidia-nvimagecodec@0.3.0:0.4.0", when="@1.44:1.45") @@ -328,4 +354,10 @@ class PyNvidiaDali(PythonPackage): depends_on("py-nvidia-nvimagecodec@0.2.0", when="@1.36:1.41") depends_on("py-nvidia-nvjpeg2k", when="@1.46:1.48") depends_on("py-nvidia-nvtiff", when="@1.46:1.48") - depends_on("py-nvidia-nvcomp", when="@1.50:") + depends_on("py-nvidia-nvcomp@5.1.0.21", when="@1.53") + depends_on("py-nvidia-nvcomp@5.0.0.6", when="@1.52") + depends_on("py-nvidia-nvcomp@4", when="@1.50:1.51") + + def setup_build_environment(self, env: EnvironmentModifications) -> None: + env.set("WITH_DYNAMIC_NVIMGCODEC", "yes") + env.set("WITH_DYNAMIC_NVCOMP", "yes") diff --git a/repos/spack_repo/builtin/packages/py_nvidia_nvcomp/package.py b/repos/spack_repo/builtin/packages/py_nvidia_nvcomp/package.py index fc47e6c06b7..da1bfcf20a6 100644 --- a/repos/spack_repo/builtin/packages/py_nvidia_nvcomp/package.py +++ b/repos/spack_repo/builtin/packages/py_nvidia_nvcomp/package.py @@ -48,6 +48,16 @@ class PyNvidiaNvcomp(PythonPackage): sha256="816ed4c53718cd9de2e25e4cab8b20b219ceb2e0712c4452c7225c6eec83bd6b", url="https://files.pythonhosted.org/packages/3c/3a/572e3881d86d227d2f274306c4996543a55f1876b03f0934e3f65f3ddd5e/nvidia_nvcomp_cu11-5.0.0.6-py3-none-manylinux_2_28_x86_64.whl", ) + version( + "4.2.0.14-cuda120", + sha256="0d9bc07bf63aeae2e9877d34c8aab6781cf26efa8d2fec05af8b0ec58ca1fd41", + url="https://files.pythonhosted.org/packages/e5/58/371b6df7e9a86921324f1cc780a86c3e47ecbe52f4cc1148efceb4f102cf/nvidia_nvcomp_cu12-4.2.0.14-py3-none-manylinux_2_28_x86_64.whl", + ) + version( + "4.2.0.14-cuda110", + sha256="cd848d3d340156a51da38e1d59d686dd38080666b012d6c01f8c34a3c0a010dd", + url="https://files.pythonhosted.org/packages/4d/9b/d5d42fd00b74b61e8208a53001a8c4af9724114c7a81fe88463fa994522f/nvidia_nvcomp_cu11-4.2.0.14-py3-none-manylinux_2_28_x86_64.whl", + ) elif "linux" in system and arch == "aarch64": version( "5.1.0.21-cuda130", @@ -74,10 +84,20 @@ class PyNvidiaNvcomp(PythonPackage): sha256="99eb163d389cf06f62978ecfcd1cea427fb3e928b23bd56cf76d8287944ef908", url="https://files.pythonhosted.org/packages/b7/08/07922c747e404df408d0e7637394d110607be8c11291f15be9168b833fee/nvidia_nvcomp_cu11-5.0.0.6-py3-none-manylinux_2_28_aarch64.whl", ) + version( + "4.2.0.14-cuda120", + sha256="bd67b77f7d18daa60757a3400444bf8cc6056dc4d806e22b3a13561f26db692c", + url="https://files.pythonhosted.org/packages/28/ae/21b68910e544ab4476168a9c439f0a008a64c2672136ba619e0723cbd13e/nvidia_nvcomp_cu12-4.2.0.14-py3-none-manylinux_2_28_aarch64.whl", + ) + version( + "4.2.0.14-cuda110", + sha256="84cef688a27d45bf803e54665ee88cc55c3fd9039106d7fee2e2b994a44c0660", + url="https://files.pythonhosted.org/packages/33/3b/b2664b92a45be3cade6ca033d743041e593cc510ea6f76ab49c28fc71794/nvidia_nvcomp_cu11-4.2.0.14-py3-none-manylinux_2_28_aarch64.whl", + ) cuda130_versions = ("@5.1.0.21-cuda130", "@5.0.0.6-cuda130") - cuda120_versions = ("@5.1.0.21-cuda120", "@5.0.0.6-cuda120") - cuda110_versions = ("@5.0.0.6-cuda110",) + cuda120_versions = ("@5.1.0.21-cuda120", "@5.0.0.6-cuda120", "@4.2.0.14-cuda120") + cuda110_versions = ("@5.0.0.6-cuda110", "@4.2.0.14-cuda110") for v in cuda130_versions: depends_on("cuda@13", when=v, type=("build", "run"))