diff --git a/.ci/gitlab/configs/linux/ci.yaml b/.ci/gitlab/configs/linux/ci.yaml index 9add0f89153..67d2b921d5c 100644 --- a/.ci/gitlab/configs/linux/ci.yaml +++ b/.ci/gitlab/configs/linux/ci.yaml @@ -13,6 +13,8 @@ ci: - wrf build-job: tags: [ "spack", "huge" ] + # 24h for long ROCm/ML rebuilds; GitLab project/runner max must allow this + timeout: 1440 minutes variables: CI_JOB_SIZE: huge SPACK_BUILD_JOBS: "12" diff --git a/repos/spack_repo/builtin/packages/aotriton/package.py b/repos/spack_repo/builtin/packages/aotriton/package.py index ff1ce88e3ac..ec70a55bc49 100644 --- a/repos/spack_repo/builtin/packages/aotriton/package.py +++ b/repos/spack_repo/builtin/packages/aotriton/package.py @@ -61,7 +61,7 @@ class Aotriton(CMakePackage): # build llvm version with mlir with the commit that matches inside the llvm-hash.txt depends_on("aotriton-llvm@0.10", when="@0.10b:") - depends_on("aotriton-llvm@0.9", when="@0.9b") + depends_on("aotriton-llvm@0.9", when="@0.9b:0.9.2b") depends_on("aotriton-llvm@0.8", when="@0.8b") conflicts("^openssl@3.3.0") diff --git a/repos/spack_repo/builtin/packages/py_llvmlite/package.py b/repos/spack_repo/builtin/packages/py_llvmlite/package.py index a2f5dcdf468..e7ff1bb36cd 100644 --- a/repos/spack_repo/builtin/packages/py_llvmlite/package.py +++ b/repos/spack_repo/builtin/packages/py_llvmlite/package.py @@ -62,6 +62,10 @@ class PyLlvmlite(PythonPackage): depends_on("llvm@14", when="@0.41:0.43") depends_on("llvm@11:14", when="@0.40") depends_on("llvm@11", when="@0.37:0.39") + # When the spec has both llvm@20 and hwloc+rocm (e.g. llvm build-depends on hwloc), + # hwloc with older rocm versions conflicts with llvm@20 while linking. + # Hence adding hwloc~rocm dependency for llvmlite@0.45:. + depends_on("hwloc ~rocm", when="@0.45:") for t in [ "arm:", "ppc:", diff --git a/stacks/ml-linux-x86_64/spack.yaml b/stacks/ml-linux-x86_64/spack.yaml index 50a030f9d9f..04cd2007c65 100644 --- a/stacks/ml-linux-x86_64/spack.yaml +++ b/stacks/ml-linux-x86_64/spack.yaml @@ -113,15 +113,11 @@ spack: - $jax_specs - matrix: - [$keras_specs] - exclude: - - py-keras backend=torch - # Does not yet support Spack-installed ROCm - # - $torch_specs + - $torch_specs - $scikit_learn_specs - $tensorboard_specs - $tensorflow_specs - # Does not yet support Spack-installed ROCm - # - $xgboost_specs + - $xgboost_specs override: packages: all: @@ -139,8 +135,9 @@ spack: - target=x86_64_v3 - ~cuda - +rocm + - ~distributed - amdgpu_target=gfx90a - - ~flash_attention + - +flash_attention - "%c,cxx=gcc" ci: