From 2fc831ca413863de6c1d3846960bdfb166e60df4 Mon Sep 17 00:00:00 2001 From: jsandham Date: Tue, 16 Jun 2026 19:00:24 +0000 Subject: [PATCH 1/2] Add rocalution to be built by TheRock --- BUILD_TOPOLOGY.toml | 5 +++ build_tools/install_rocm_from_artifacts.py | 11 +++++ docs/development/installing_artifacts.md | 1 + docs/development/windows_support.md | 1 + math-libs/CMakeLists.txt | 52 ++++++++++++++++++++++ math-libs/artifact-rocalution.toml | 19 ++++++++ 6 files changed, 89 insertions(+) create mode 100644 math-libs/artifact-rocalution.toml diff --git a/BUILD_TOPOLOGY.toml b/BUILD_TOPOLOGY.toml index 8f99e268869..1a41102cd2a 100644 --- a/BUILD_TOPOLOGY.toml +++ b/BUILD_TOPOLOGY.toml @@ -597,6 +597,11 @@ artifact_group = "math-libs" type = "target-specific" artifact_deps = ["blas", "prim", "sparse", "host-suite-sparse"] +[artifacts.rocalution] +artifact_group = "math-libs" +type = "target-specific" +artifact_deps = ["core-runtime", "core-hip", "blas", "prim", "rand", "sparse"] + [artifacts.rocwmma] artifact_group = "math-libs" type = "target-specific" diff --git a/build_tools/install_rocm_from_artifacts.py b/build_tools/install_rocm_from_artifacts.py index 4b6f1c995c1..35fc8ce32ae 100644 --- a/build_tools/install_rocm_from_artifacts.py +++ b/build_tools/install_rocm_from_artifacts.py @@ -41,6 +41,7 @@ [--rocprofiler-systems | --no-rocprofiler-systems] [--rocprofiler-systems-examples | --no-rocprofiler-systems-examples] [--rocrtst | --no-rocrtst] + [--rocalution | --no-rocalution] [--rocwmma | --no-rocwmma] [--libhipcxx | --no-libhipcxx] [--tests | --no-tests] @@ -382,6 +383,7 @@ def retrieve_artifacts_by_run_id(args): args.rocprofiler_systems, args.rocprofiler_systems_examples, args.rocrtst, + args.rocalution, args.rocwmma, args.libhipcxx, ] @@ -487,6 +489,8 @@ def retrieve_artifacts_by_run_id(args): # rocrtst depends on sysdeps-hwloc (which depends on sysdeps-libpciaccess) extra_artifacts.append("sysdeps-hwloc") extra_artifacts.append("sysdeps-libpciaccess") + if args.rocalution: + extra_artifacts.append("rocalution") if args.rocwmma: extra_artifacts.append("rocwmma") argv.append("rocwmma_dev") @@ -846,6 +850,13 @@ def main(argv): action=argparse.BooleanOptionalAction, ) + artifacts_group.add_argument( + "--rocalution", + default=False, + help="Include 'rocalution' artifacts", + action=argparse.BooleanOptionalAction, + ) + artifacts_group.add_argument( "--rocwmma", default=False, diff --git a/docs/development/installing_artifacts.md b/docs/development/installing_artifacts.md index 9704feb0105..0d9d8ab5e13 100644 --- a/docs/development/installing_artifacts.md +++ b/docs/development/installing_artifacts.md @@ -44,6 +44,7 @@ Choose one of these options to specify where to install from: | `--rocdecode` | Flag | Include rocDecode artifacts (Linux only) | | `--rocjpeg` | Flag | Include rocJPEG artifacts (Linux only) | | `--rocjitsu` | Flag | Include rocjitsu artifacts (Linux only) | +| `--rocalution` | Flag | Include rocALUTION artifacts | | `--rocwmma` | Flag | Include rocWMMA artifacts | | `--tests` | Flag | Include test artifacts for enabled components | diff --git a/docs/development/windows_support.md b/docs/development/windows_support.md index 740a8c4160f..bd76179dfb0 100644 --- a/docs/development/windows_support.md +++ b/docs/development/windows_support.md @@ -86,6 +86,7 @@ mainline, in open source, using MSVC, etc.). | math-libs (BLAS) | [rocSOLVER](https://github.com/ROCm/rocm-libraries/tree/develop/projects/rocsolver) | rocm-libraries | ✅ | | | math-libs (BLAS) | [hipSOLVER](https://github.com/ROCm/rocm-libraries/tree/develop/projects/hipsolver) | rocm-libraries | ✅ | | | math-libs (BLAS) | [hipBLAS](https://github.com/ROCm/rocm-libraries/tree/develop/projects/hipblas) | rocm-libraries | ✅ | | +| math-libs | [rocALUTION](https://github.com/ROCm/rocm-libraries/tree/develop/projects/rocalution) | rocm-libraries | ✅ | | | math-libs | [rocWMMA](https://github.com/ROCm/rocm-libraries/tree/develop/projects/rocwmma) | rocm-libraries | ✅ | | | math-libs | [libhipcxx](https://github.com/ROCm/libhipcxx) | standalone | ✅ | | | | | | | | diff --git a/math-libs/CMakeLists.txt b/math-libs/CMakeLists.txt index 26d2452ff4d..7197baa5274 100644 --- a/math-libs/CMakeLists.txt +++ b/math-libs/CMakeLists.txt @@ -407,6 +407,58 @@ if(THEROCK_ENABLE_ROCWMMA) ) endif(THEROCK_ENABLE_ROCWMMA) +if(THEROCK_ENABLE_ROCALUTION) + ############################################################################## + # rocALUTION + ############################################################################## + + therock_cmake_subproject_declare(rocALUTION + EXTERNAL_SOURCE_DIR "${THEROCK_ROCM_LIBRARIES_SOURCE_DIR}/projects/rocalution" + BINARY_DIR "${CMAKE_CURRENT_BINARY_DIR}/rocALUTION" + BACKGROUND_BUILD + CMAKE_ARGS + -DHIP_PLATFORM=amd + -DROCM_PATH= + -DROCM_DIR= + -DSUPPORT_HIP=ON + -DSUPPORT_MPI=OFF + -DBUILD_CLIENTS_TESTS=${THEROCK_BUILD_TESTING} + -DBUILD_CLIENTS_BENCHMARKS=OFF + -DBUILD_CLIENTS_SAMPLES=OFF + -DCMAKE_BUILD_WITH_INSTALL_RPATH=ON # Needed for Ninja build + CMAKE_INCLUDES + therock_explicit_finders.cmake + COMPILER_TOOLCHAIN + amd-hip + BUILD_DEPS + rocm-cmake + rocPRIM + therock-googletest + RUNTIME_DEPS + hip-clr + rocBLAS + rocSPARSE + rocRAND + ) + therock_cmake_subproject_glob_c_sources(rocALUTION + SUBDIRS + . + ) + therock_cmake_subproject_provide_package(rocALUTION rocalution lib/cmake/rocalution) + therock_cmake_subproject_activate(rocALUTION) + + therock_provide_artifact(rocalution + DESCRIPTOR artifact-rocalution.toml + COMPONENTS + dbg + dev + lib + test + SUBPROJECT_DEPS + rocALUTION + ) +endif(THEROCK_ENABLE_ROCALUTION) + if(THEROCK_ENABLE_LIBHIPCXX) ############################################################################## # libhipcxx diff --git a/math-libs/artifact-rocalution.toml b/math-libs/artifact-rocalution.toml new file mode 100644 index 00000000000..4f8358d52e4 --- /dev/null +++ b/math-libs/artifact-rocalution.toml @@ -0,0 +1,19 @@ +# rocALUTION +[components.lib."math-libs/rocALUTION/stage"] +optional = true +[components.dbg."math-libs/rocALUTION/stage"] +optional = true +[components.dev."math-libs/rocALUTION/stage"] +include = [ + "include/rocalution/*", + "include/rocalution/**", + "lib/cmake/rocalution/*", +] +[components.test."math-libs/rocALUTION/stage"] +optional = true +include = [ + # Clients tests (test_runner runs ctest from bin/rocalution/; needs CTestTestfile.cmake) + "bin/rocalution/**", + "bin/rocalution-test*", + "bin/*_rtest.xml", +] From 43c29f10174811c9901df4d84464f28df651ea47 Mon Sep 17 00:00:00 2001 From: jsandham Date: Tue, 16 Jun 2026 19:22:42 +0000 Subject: [PATCH 2/2] Fix formatting issue in windows_support.md file --- docs/development/windows_support.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/development/windows_support.md b/docs/development/windows_support.md index bd76179dfb0..b41007354ff 100644 --- a/docs/development/windows_support.md +++ b/docs/development/windows_support.md @@ -86,7 +86,7 @@ mainline, in open source, using MSVC, etc.). | math-libs (BLAS) | [rocSOLVER](https://github.com/ROCm/rocm-libraries/tree/develop/projects/rocsolver) | rocm-libraries | ✅ | | | math-libs (BLAS) | [hipSOLVER](https://github.com/ROCm/rocm-libraries/tree/develop/projects/hipsolver) | rocm-libraries | ✅ | | | math-libs (BLAS) | [hipBLAS](https://github.com/ROCm/rocm-libraries/tree/develop/projects/hipblas) | rocm-libraries | ✅ | | -| math-libs | [rocALUTION](https://github.com/ROCm/rocm-libraries/tree/develop/projects/rocalution) | rocm-libraries | ✅ | | +| math-libs | [rocALUTION](https://github.com/ROCm/rocm-libraries/tree/develop/projects/rocalution) | rocm-libraries | ✅ | | | math-libs | [rocWMMA](https://github.com/ROCm/rocm-libraries/tree/develop/projects/rocwmma) | rocm-libraries | ✅ | | | math-libs | [libhipcxx](https://github.com/ROCm/libhipcxx) | standalone | ✅ | | | | | | | |