From 367d5485fe73534309dc321abe37d3e1671e757f Mon Sep 17 00:00:00 2001 From: Ibrahim Wani <113864060+ibrahimw1@users.noreply.github.com> Date: Wed, 7 Jan 2026 20:23:27 +0000 Subject: [PATCH 01/55] Add origami to TheRock --- .../fetch_test_configurations.py | 8 ++ .../test_executable_scripts/test_origami.py | 81 +++++++++++++++++++ math-libs/BLAS/CMakeLists.txt | 33 ++++++++ math-libs/BLAS/artifact-blas.toml | 13 +++ 4 files changed, 135 insertions(+) create mode 100755 build_tools/github_actions/test_executable_scripts/test_origami.py diff --git a/build_tools/github_actions/fetch_test_configurations.py b/build_tools/github_actions/fetch_test_configurations.py index 4e03e580ba4..675109d6287 100644 --- a/build_tools/github_actions/fetch_test_configurations.py +++ b/build_tools/github_actions/fetch_test_configurations.py @@ -46,6 +46,14 @@ def _get_script_path(script_name: str) -> str: "platform": ["linux"], "total_shards": 5, }, + "origami": { + "job_name": "origami", + "fetch_artifact_args": "--blas --tests", + "timeout_minutes": 30, + "test_script": f"python {_get_script_path('test_origami.py')}", + "platform": ["linux"], + "total_shards": 1, + }, "hipblas": { "job_name": "hipblas", "fetch_artifact_args": "--blas --tests", diff --git a/build_tools/github_actions/test_executable_scripts/test_origami.py b/build_tools/github_actions/test_executable_scripts/test_origami.py new file mode 100755 index 00000000000..58972e0a3d8 --- /dev/null +++ b/build_tools/github_actions/test_executable_scripts/test_origami.py @@ -0,0 +1,81 @@ +#!/usr/bin/env python3 +""" +Test script for origami C++ and Python tests. + +Origami uses Catch2 for C++ tests and pytest for Python tests. +Both test types are registered with CTest and run via ctest command. +""" + +import logging +import os +import shlex +import subprocess +from pathlib import Path + +logging.basicConfig(level=logging.INFO, format="%(message)s") + +# Repository and directory setup +SCRIPT_DIR = Path(__file__).resolve().parent +THEROCK_DIR = SCRIPT_DIR.parent.parent.parent +platform = os.getenv("RUNNER_OS", "linux").lower() + +# Environment setup +env = os.environ.copy() + +# Test type configuration (smoke, quick, full) +TEST_TYPE = os.getenv("TEST_TYPE", "full").lower() + +# Find the origami build directory +BUILD_DIR = Path(os.getenv("THEROCK_BUILD_DIR", THEROCK_DIR / "build")) +ORIGAMI_BUILD_DIR = BUILD_DIR / "math-libs" / "BLAS" / "Origami" / "build" + +if not ORIGAMI_BUILD_DIR.exists(): + raise FileNotFoundError(f"Origami build directory not found: {ORIGAMI_BUILD_DIR}") + +# Runtime library paths for Linux +if platform == "linux": + THEROCK_DIST_DIR = BUILD_DIR / "core" / "clr" / "dist" + ld_parts = [ + str(THEROCK_DIST_DIR / "lib"), + str(THEROCK_DIST_DIR / "lib64"), + str(THEROCK_DIST_DIR / "lib" / "llvm" / "lib"), + # Origami library paths + str(ORIGAMI_BUILD_DIR), + str(BUILD_DIR / "math-libs" / "BLAS" / "Origami" / "stage" / "lib"), + ] + # De-duplicate while preserving order + seen, ld_clean = set(), [] + for p in ld_parts: + if p and p not in seen: + seen.add(p) + ld_clean.append(p) + + existing_ld = env.get("LD_LIBRARY_PATH", "") + if existing_ld: + ld_clean.append(existing_ld) + env["LD_LIBRARY_PATH"] = ":".join(ld_clean) + + env["ROCM_PATH"] = str(THEROCK_DIST_DIR) + env["HIP_PATH"] = str(THEROCK_DIST_DIR) + +# Build the ctest command +# CTest runs both C++ (Catch2) tests and Python (pytest) tests +cmd = ["ctest", "--output-on-failure"] + +# Test filtering based on test type +if TEST_TYPE == "smoke": + # Run only a subset of tests for smoke testing + # Use CTest's regex to filter test names + cmd.extend(["-R", "origami_python|GEMM:.*compute"]) +elif TEST_TYPE == "quick": + # Run fewer tests for quick validation + cmd.extend(["-R", "origami_python|Origami:"]) +# For "full" test type, run all tests (no filter) + +# Add extra arguments if provided +extra = os.getenv("EXTRA_CTEST_ARGS", "") +if extra: + cmd += shlex.split(extra) + +logging.info(f"++ Exec [{ORIGAMI_BUILD_DIR}]$ {shlex.join(cmd)}") +subprocess.run(cmd, cwd=str(ORIGAMI_BUILD_DIR), check=True, env=env) diff --git a/math-libs/BLAS/CMakeLists.txt b/math-libs/BLAS/CMakeLists.txt index 78127721262..c4847963bab 100644 --- a/math-libs/BLAS/CMakeLists.txt +++ b/math-libs/BLAS/CMakeLists.txt @@ -90,6 +90,39 @@ if(_enable_rocRoller) endif() +############################################################################## +# Origami +############################################################################## + +if(NOT WIN32) + therock_cmake_subproject_declare(Origami + EXTERNAL_SOURCE_DIR "${THEROCK_ROCM_LIBRARIES_SOURCE_DIR}/shared/origami" + BINARY_DIR "${CMAKE_CURRENT_BINARY_DIR}/Origami" + BACKGROUND_BUILD + CMAKE_ARGS + -DHIP_PLATFORM=amd + -DORIGAMI_BUILD_SHARED_LIBS=ON + -DORIGAMI_BUILD_TESTING=${THEROCK_BUILD_TESTING} + -DORIGAMI_ENABLE_PYTHON=ON + -DORIGAMI_ENABLE_FETCH=OFF + COMPILER_TOOLCHAIN + amd-hip + BUILD_DEPS + rocm-cmake + therock-catch2 + RUNTIME_DEPS + hip-clr + ) + therock_cmake_subproject_glob_c_sources(Origami + SUBDIRS + . + ) + therock_cmake_subproject_provide_package(Origami origami lib/cmake/origami) + therock_cmake_subproject_activate(Origami) + list(APPEND _blas_subproject_names Origami) +endif() + + ############################################################################## # hipBLASLt ############################################################################## diff --git a/math-libs/BLAS/artifact-blas.toml b/math-libs/BLAS/artifact-blas.toml index 346f1811177..6511755be84 100644 --- a/math-libs/BLAS/artifact-blas.toml +++ b/math-libs/BLAS/artifact-blas.toml @@ -19,6 +19,19 @@ include = [ ] optional = true +# Origami +[components.dbg."math-libs/BLAS/Origami/stage"] +optional = true +[components.dev."math-libs/BLAS/Origami/stage"] +optional = true +[components.lib."math-libs/BLAS/Origami/stage"] +optional = true +[components.test."math-libs/BLAS/Origami/stage"] +include = [ + "bin/origami-tests*", +] +optional = true + # hipBLAS [components.dbg."math-libs/BLAS/hipBLAS/stage"] [components.dev."math-libs/BLAS/hipBLAS/stage"] From 17eacf464dba5f7d34c3a473f00c751cf4b5479a Mon Sep 17 00:00:00 2001 From: Ibrahim Wani <113864060+ibrahimw1@users.noreply.github.com> Date: Wed, 7 Jan 2026 22:58:38 +0000 Subject: [PATCH 02/55] Test --- rocm-libraries | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/rocm-libraries b/rocm-libraries index 2a3887e1598..e289a607825 160000 --- a/rocm-libraries +++ b/rocm-libraries @@ -1 +1 @@ -Subproject commit 2a3887e1598f40c9245c9217bc92da5f492886be +Subproject commit e289a6078259e89207d7aff513e1ce798f9ae9b9 From f2f90826da95551660302b182061385f81bc9338 Mon Sep 17 00:00:00 2001 From: Ibrahim Wani <113864060+ibrahimw1@users.noreply.github.com> Date: Thu, 8 Jan 2026 17:15:34 +0000 Subject: [PATCH 03/55] Test --- rocm-libraries | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/rocm-libraries b/rocm-libraries index e289a607825..14d387fd7af 160000 --- a/rocm-libraries +++ b/rocm-libraries @@ -1 +1 @@ -Subproject commit e289a6078259e89207d7aff513e1ce798f9ae9b9 +Subproject commit 14d387fd7af5b5a0973d7194a77fae30c8d31cbc From cd57c4d1275bca67ebf02a90f60487cd31a940e8 Mon Sep 17 00:00:00 2001 From: Ibrahim Wani <113864060+ibrahimw1@users.noreply.github.com> Date: Thu, 8 Jan 2026 18:05:43 +0000 Subject: [PATCH 04/55] Test --- rocm-libraries | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/rocm-libraries b/rocm-libraries index 14d387fd7af..034d29455f8 160000 --- a/rocm-libraries +++ b/rocm-libraries @@ -1 +1 @@ -Subproject commit 14d387fd7af5b5a0973d7194a77fae30c8d31cbc +Subproject commit 034d29455f8b4fdfdee2473f0170572922f192bb From be44aa643b34ad5a1e56504477a2352f5dba84df Mon Sep 17 00:00:00 2001 From: Ibrahim Wani <113864060+ibrahimw1@users.noreply.github.com> Date: Thu, 8 Jan 2026 19:01:12 +0000 Subject: [PATCH 05/55] Add origami dependency to hipblaslt --- math-libs/BLAS/CMakeLists.txt | 1 + 1 file changed, 1 insertion(+) diff --git a/math-libs/BLAS/CMakeLists.txt b/math-libs/BLAS/CMakeLists.txt index c4847963bab..ffeefdb0de9 100644 --- a/math-libs/BLAS/CMakeLists.txt +++ b/math-libs/BLAS/CMakeLists.txt @@ -170,6 +170,7 @@ therock_cmake_subproject_declare(hipBLASLt amd-hip BUILD_DEPS hipBLAS-common + Origami rocm-cmake therock-googletest therock-msgpack-cxx From 76918943107143dbacac2684780c0f06b94be117 Mon Sep 17 00:00:00 2001 From: Ibrahim Wani <113864060+ibrahimw1@users.noreply.github.com> Date: Thu, 8 Jan 2026 20:27:45 +0000 Subject: [PATCH 06/55] Remove conditional in origami dep, fix rocm-libraries origami install --- math-libs/BLAS/CMakeLists.txt | 52 +++++++++++++++++------------------ rocm-libraries | 2 +- 2 files changed, 26 insertions(+), 28 deletions(-) diff --git a/math-libs/BLAS/CMakeLists.txt b/math-libs/BLAS/CMakeLists.txt index ffeefdb0de9..dd2c3f62716 100644 --- a/math-libs/BLAS/CMakeLists.txt +++ b/math-libs/BLAS/CMakeLists.txt @@ -94,33 +94,31 @@ endif() # Origami ############################################################################## -if(NOT WIN32) - therock_cmake_subproject_declare(Origami - EXTERNAL_SOURCE_DIR "${THEROCK_ROCM_LIBRARIES_SOURCE_DIR}/shared/origami" - BINARY_DIR "${CMAKE_CURRENT_BINARY_DIR}/Origami" - BACKGROUND_BUILD - CMAKE_ARGS - -DHIP_PLATFORM=amd - -DORIGAMI_BUILD_SHARED_LIBS=ON - -DORIGAMI_BUILD_TESTING=${THEROCK_BUILD_TESTING} - -DORIGAMI_ENABLE_PYTHON=ON - -DORIGAMI_ENABLE_FETCH=OFF - COMPILER_TOOLCHAIN - amd-hip - BUILD_DEPS - rocm-cmake - therock-catch2 - RUNTIME_DEPS - hip-clr - ) - therock_cmake_subproject_glob_c_sources(Origami - SUBDIRS - . - ) - therock_cmake_subproject_provide_package(Origami origami lib/cmake/origami) - therock_cmake_subproject_activate(Origami) - list(APPEND _blas_subproject_names Origami) -endif() +therock_cmake_subproject_declare(Origami + EXTERNAL_SOURCE_DIR "${THEROCK_ROCM_LIBRARIES_SOURCE_DIR}/shared/origami" + BINARY_DIR "${CMAKE_CURRENT_BINARY_DIR}/Origami" + BACKGROUND_BUILD + CMAKE_ARGS + -DHIP_PLATFORM=amd + -DORIGAMI_BUILD_SHARED_LIBS=ON + -DORIGAMI_BUILD_TESTING=${THEROCK_BUILD_TESTING} + -DORIGAMI_ENABLE_PYTHON=ON + -DORIGAMI_ENABLE_FETCH=OFF + COMPILER_TOOLCHAIN + amd-hip + BUILD_DEPS + rocm-cmake + therock-catch2 + RUNTIME_DEPS + hip-clr +) +therock_cmake_subproject_glob_c_sources(Origami + SUBDIRS + . +) +therock_cmake_subproject_provide_package(Origami origami lib/cmake/origami) +therock_cmake_subproject_activate(Origami) +list(APPEND _blas_subproject_names Origami) ############################################################################## diff --git a/rocm-libraries b/rocm-libraries index 034d29455f8..46553ebe360 160000 --- a/rocm-libraries +++ b/rocm-libraries @@ -1 +1 @@ -Subproject commit 034d29455f8b4fdfdee2473f0170572922f192bb +Subproject commit 46553ebe360f352ff77fa2bd88d57f9a4f9b12d6 From b866b4c2276d4bb55d9563220db8a05b295caabb Mon Sep 17 00:00:00 2001 From: Ibrahim Wani <113864060+ibrahimw1@users.noreply.github.com> Date: Thu, 8 Jan 2026 22:53:03 +0000 Subject: [PATCH 07/55] Bump to fix windows --- rocm-libraries | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/rocm-libraries b/rocm-libraries index 46553ebe360..5cfe5092058 160000 --- a/rocm-libraries +++ b/rocm-libraries @@ -1 +1 @@ -Subproject commit 46553ebe360f352ff77fa2bd88d57f9a4f9b12d6 +Subproject commit 5cfe509205869f2b1daf250e5e850ac9c36ebe18 From c845ae893ca88e32b650f8be022029e0f6f7bbb7 Mon Sep 17 00:00:00 2001 From: Ibrahim Wani <113864060+ibrahimw1@users.noreply.github.com> Date: Thu, 8 Jan 2026 22:58:59 +0000 Subject: [PATCH 08/55] Update python script to fix Origami build dir not found --- .../fetch_test_configurations.py | 2 +- .../test_executable_scripts/test_origami.py | 74 ++++++------------- 2 files changed, 23 insertions(+), 53 deletions(-) diff --git a/build_tools/github_actions/fetch_test_configurations.py b/build_tools/github_actions/fetch_test_configurations.py index 675109d6287..9ec89fd8616 100644 --- a/build_tools/github_actions/fetch_test_configurations.py +++ b/build_tools/github_actions/fetch_test_configurations.py @@ -51,7 +51,7 @@ def _get_script_path(script_name: str) -> str: "fetch_artifact_args": "--blas --tests", "timeout_minutes": 30, "test_script": f"python {_get_script_path('test_origami.py')}", - "platform": ["linux"], + "platform": ["linux", "windows"], "total_shards": 1, }, "hipblas": { diff --git a/build_tools/github_actions/test_executable_scripts/test_origami.py b/build_tools/github_actions/test_executable_scripts/test_origami.py index 58972e0a3d8..64822098e1a 100755 --- a/build_tools/github_actions/test_executable_scripts/test_origami.py +++ b/build_tools/github_actions/test_executable_scripts/test_origami.py @@ -12,70 +12,40 @@ import subprocess from pathlib import Path -logging.basicConfig(level=logging.INFO, format="%(message)s") - -# Repository and directory setup +THEROCK_BIN_DIR = os.getenv("THEROCK_BIN_DIR") SCRIPT_DIR = Path(__file__).resolve().parent THEROCK_DIR = SCRIPT_DIR.parent.parent.parent -platform = os.getenv("RUNNER_OS", "linux").lower() - -# Environment setup -env = os.environ.copy() - -# Test type configuration (smoke, quick, full) -TEST_TYPE = os.getenv("TEST_TYPE", "full").lower() -# Find the origami build directory -BUILD_DIR = Path(os.getenv("THEROCK_BUILD_DIR", THEROCK_DIR / "build")) -ORIGAMI_BUILD_DIR = BUILD_DIR / "math-libs" / "BLAS" / "Origami" / "build" - -if not ORIGAMI_BUILD_DIR.exists(): - raise FileNotFoundError(f"Origami build directory not found: {ORIGAMI_BUILD_DIR}") - -# Runtime library paths for Linux -if platform == "linux": - THEROCK_DIST_DIR = BUILD_DIR / "core" / "clr" / "dist" - ld_parts = [ - str(THEROCK_DIST_DIR / "lib"), - str(THEROCK_DIST_DIR / "lib64"), - str(THEROCK_DIST_DIR / "lib" / "llvm" / "lib"), - # Origami library paths - str(ORIGAMI_BUILD_DIR), - str(BUILD_DIR / "math-libs" / "BLAS" / "Origami" / "stage" / "lib"), - ] - # De-duplicate while preserving order - seen, ld_clean = set(), [] - for p in ld_parts: - if p and p not in seen: - seen.add(p) - ld_clean.append(p) +logging.basicConfig(level=logging.INFO, format="%(message)s") - existing_ld = env.get("LD_LIBRARY_PATH", "") - if existing_ld: - ld_clean.append(existing_ld) - env["LD_LIBRARY_PATH"] = ":".join(ld_clean) +# Environment setup +environ_vars = os.environ.copy() +platform = os.getenv("RUNNER_OS", "linux").lower() - env["ROCM_PATH"] = str(THEROCK_DIST_DIR) - env["HIP_PATH"] = str(THEROCK_DIST_DIR) +# Test type configuration (smoke, full) +test_type = os.getenv("TEST_TYPE", "full") # Build the ctest command # CTest runs both C++ (Catch2) tests and Python (pytest) tests -cmd = ["ctest", "--output-on-failure"] +cmd = [ + "ctest", + "--test-dir", + f"{THEROCK_BIN_DIR}/Origami", + "--output-on-failure", + "--timeout", + "300", +] # Test filtering based on test type -if TEST_TYPE == "smoke": +if test_type == "smoke": # Run only a subset of tests for smoke testing # Use CTest's regex to filter test names cmd.extend(["-R", "origami_python|GEMM:.*compute"]) -elif TEST_TYPE == "quick": - # Run fewer tests for quick validation - cmd.extend(["-R", "origami_python|Origami:"]) -# For "full" test type, run all tests (no filter) +else: + # For"full" test type + pass -# Add extra arguments if provided -extra = os.getenv("EXTRA_CTEST_ARGS", "") -if extra: - cmd += shlex.split(extra) +cmd.append("--parallel") -logging.info(f"++ Exec [{ORIGAMI_BUILD_DIR}]$ {shlex.join(cmd)}") -subprocess.run(cmd, cwd=str(ORIGAMI_BUILD_DIR), check=True, env=env) +logging.info(f"++ Exec [{THEROCK_DIR}]$ {shlex.join(cmd)}") +subprocess.run(cmd, cwd=THEROCK_DIR, check=True, env=environ_vars) From a3a70bddfc51948b20677cf62bdb446544cdddbc Mon Sep 17 00:00:00 2001 From: Ibrahim Wani <113864060+ibrahimw1@users.noreply.github.com> Date: Fri, 9 Jan 2026 20:34:50 +0000 Subject: [PATCH 09/55] Ctest fix --- .../github_actions/test_executable_scripts/test_origami.py | 2 +- math-libs/BLAS/artifact-blas.toml | 1 + rocm-libraries | 2 +- 3 files changed, 3 insertions(+), 2 deletions(-) diff --git a/build_tools/github_actions/test_executable_scripts/test_origami.py b/build_tools/github_actions/test_executable_scripts/test_origami.py index 64822098e1a..a2b0cfbeb89 100755 --- a/build_tools/github_actions/test_executable_scripts/test_origami.py +++ b/build_tools/github_actions/test_executable_scripts/test_origami.py @@ -30,7 +30,7 @@ cmd = [ "ctest", "--test-dir", - f"{THEROCK_BIN_DIR}/Origami", + f"{THEROCK_BIN_DIR}/origami", "--output-on-failure", "--timeout", "300", diff --git a/math-libs/BLAS/artifact-blas.toml b/math-libs/BLAS/artifact-blas.toml index 6511755be84..2d533db8c65 100644 --- a/math-libs/BLAS/artifact-blas.toml +++ b/math-libs/BLAS/artifact-blas.toml @@ -29,6 +29,7 @@ optional = true [components.test."math-libs/BLAS/Origami/stage"] include = [ "bin/origami-tests*", + "bin/origami/**", ] optional = true diff --git a/rocm-libraries b/rocm-libraries index 5cfe5092058..3433f802e0e 160000 --- a/rocm-libraries +++ b/rocm-libraries @@ -1 +1 @@ -Subproject commit 5cfe509205869f2b1daf250e5e850ac9c36ebe18 +Subproject commit 3433f802e0ed01487ddc95708443c4724db45656 From c821d746e2a689b8e459caca884b562894c097ce Mon Sep 17 00:00:00 2001 From: Ibrahim Wani <113864060+ibrahimw1@users.noreply.github.com> Date: Fri, 9 Jan 2026 23:21:29 +0000 Subject: [PATCH 10/55] Fix origami missing lib in tests --- .../github_actions/test_executable_scripts/test_origami.py | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/build_tools/github_actions/test_executable_scripts/test_origami.py b/build_tools/github_actions/test_executable_scripts/test_origami.py index a2b0cfbeb89..912eb75758b 100755 --- a/build_tools/github_actions/test_executable_scripts/test_origami.py +++ b/build_tools/github_actions/test_executable_scripts/test_origami.py @@ -22,6 +22,10 @@ environ_vars = os.environ.copy() platform = os.getenv("RUNNER_OS", "linux").lower() +# Set LD_LIBRARY_PATH to find liborigami.so for Python module +lib_dir = Path(THEROCK_BIN_DIR).parent / "lib" +environ_vars["LD_LIBRARY_PATH"] = f"{lib_dir}:{environ_vars.get('LD_LIBRARY_PATH', '')}" + # Test type configuration (smoke, full) test_type = os.getenv("TEST_TYPE", "full") From 246d4ccd88ee7b8bf833a673ef082bf8b7a72ea6 Mon Sep 17 00:00:00 2001 From: Ibrahim Wani <113864060+ibrahimw1@users.noreply.github.com> Date: Mon, 12 Jan 2026 19:55:07 +0000 Subject: [PATCH 11/55] Add lib dir for python tests --- .../test_executable_scripts/test_origami.py | 27 ++++++++++++++++--- math-libs/BLAS/artifact-blas.toml | 3 +++ 2 files changed, 27 insertions(+), 3 deletions(-) diff --git a/build_tools/github_actions/test_executable_scripts/test_origami.py b/build_tools/github_actions/test_executable_scripts/test_origami.py index 912eb75758b..f94fb6f00a1 100755 --- a/build_tools/github_actions/test_executable_scripts/test_origami.py +++ b/build_tools/github_actions/test_executable_scripts/test_origami.py @@ -22,9 +22,30 @@ environ_vars = os.environ.copy() platform = os.getenv("RUNNER_OS", "linux").lower() -# Set LD_LIBRARY_PATH to find liborigami.so for Python module -lib_dir = Path(THEROCK_BIN_DIR).parent / "lib" -environ_vars["LD_LIBRARY_PATH"] = f"{lib_dir}:{environ_vars.get('LD_LIBRARY_PATH', '')}" +# Set up library and Python paths for finding liborigami.so and the Python module +bin_dir = Path(THEROCK_BIN_DIR) +lib_dir = bin_dir.parent / "lib" +origami_test_dir = bin_dir / "origami" + +# Build LD_LIBRARY_PATH with multiple possible locations +if platform == "linux": + ld_paths = [ + str(lib_dir), # Main lib directory (./build/lib) + str(origami_test_dir), # Origami test directory (./build/bin/origami) + environ_vars.get("LD_LIBRARY_PATH", ""), + ] + # Filter empty paths and join + environ_vars["LD_LIBRARY_PATH"] = ":".join(p for p in ld_paths if p) + +# Set PYTHONPATH to help Python find the origami module +python_paths = [ + str(origami_test_dir), # Where origami Python module is staged + environ_vars.get("PYTHONPATH", ""), +] +environ_vars["PYTHONPATH"] = ":".join(p for p in python_paths if p) + +logging.info(f"LD_LIBRARY_PATH: {environ_vars.get('LD_LIBRARY_PATH', '')}") +logging.info(f"PYTHONPATH: {environ_vars.get('PYTHONPATH', '')}") # Test type configuration (smoke, full) test_type = os.getenv("TEST_TYPE", "full") diff --git a/math-libs/BLAS/artifact-blas.toml b/math-libs/BLAS/artifact-blas.toml index 2d533db8c65..302adf0646c 100644 --- a/math-libs/BLAS/artifact-blas.toml +++ b/math-libs/BLAS/artifact-blas.toml @@ -25,6 +25,9 @@ optional = true [components.dev."math-libs/BLAS/Origami/stage"] optional = true [components.lib."math-libs/BLAS/Origami/stage"] +include = [ + "lib/**", +] optional = true [components.test."math-libs/BLAS/Origami/stage"] include = [ From e3e0e4487aabac152b96eaf631f0e305f1cefacc Mon Sep 17 00:00:00 2001 From: Ibrahim Wani <113864060+ibrahimw1@users.noreply.github.com> Date: Mon, 12 Jan 2026 22:08:41 +0000 Subject: [PATCH 12/55] Update rocm-libs --- rocm-libraries | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/rocm-libraries b/rocm-libraries index 3433f802e0e..16339b017d1 160000 --- a/rocm-libraries +++ b/rocm-libraries @@ -1 +1 @@ -Subproject commit 3433f802e0ed01487ddc95708443c4724db45656 +Subproject commit 16339b017d18029801339ea20d9dc4c8e2ec612a From c665be07506cc3d5ea6b628119d6a9c24032dcdd Mon Sep 17 00:00:00 2001 From: Ibrahim Wani <113864060+ibrahimw1@users.noreply.github.com> Date: Mon, 12 Jan 2026 22:22:57 +0000 Subject: [PATCH 13/55] Fix origami python test --- .../github_actions/test_executable_scripts/test_origami.py | 3 ++- rocm-libraries | 2 +- 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/build_tools/github_actions/test_executable_scripts/test_origami.py b/build_tools/github_actions/test_executable_scripts/test_origami.py index f94fb6f00a1..3e041567e4d 100755 --- a/build_tools/github_actions/test_executable_scripts/test_origami.py +++ b/build_tools/github_actions/test_executable_scripts/test_origami.py @@ -23,7 +23,8 @@ platform = os.getenv("RUNNER_OS", "linux").lower() # Set up library and Python paths for finding liborigami.so and the Python module -bin_dir = Path(THEROCK_BIN_DIR) +# Use resolve() to get absolute paths, so they work regardless of ctest's working directory +bin_dir = Path(THEROCK_BIN_DIR).resolve() lib_dir = bin_dir.parent / "lib" origami_test_dir = bin_dir / "origami" diff --git a/rocm-libraries b/rocm-libraries index 16339b017d1..3182e463ae8 160000 --- a/rocm-libraries +++ b/rocm-libraries @@ -1 +1 @@ -Subproject commit 16339b017d18029801339ea20d9dc4c8e2ec612a +Subproject commit 3182e463ae8f5d2961ee6894e23afe994dc2e0ab From f8f0a0f0d397d747987dc6ffad4781492891cf67 Mon Sep 17 00:00:00 2001 From: Ibrahim Wani <113864060+ibrahimw1@users.noreply.github.com> Date: Mon, 12 Jan 2026 23:55:29 +0000 Subject: [PATCH 14/55] Bump --- rocm-libraries | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/rocm-libraries b/rocm-libraries index 3182e463ae8..1b5a174cf0e 160000 --- a/rocm-libraries +++ b/rocm-libraries @@ -1 +1 @@ -Subproject commit 3182e463ae8f5d2961ee6894e23afe994dc2e0ab +Subproject commit 1b5a174cf0e7e55817db81f7af512fda0c0c2c07 From c609d7ac50c605b9b66483766b98e6e46a6108dd Mon Sep 17 00:00:00 2001 From: Ibrahim Wani <113864060+ibrahimw1@users.noreply.github.com> Date: Tue, 13 Jan 2026 00:07:08 +0000 Subject: [PATCH 15/55] fix bad state of rocm libs --- rocm-libraries | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/rocm-libraries b/rocm-libraries index 1b5a174cf0e..dfe895ef4af 160000 --- a/rocm-libraries +++ b/rocm-libraries @@ -1 +1 @@ -Subproject commit 1b5a174cf0e7e55817db81f7af512fda0c0c2c07 +Subproject commit dfe895ef4af6f312af1b0a307c23ba04923adf9b From c9cdf7a1ecc4b6410ec61b6191081b2ae1886935 Mon Sep 17 00:00:00 2001 From: Ibrahim Wani <113864060+ibrahimw1@users.noreply.github.com> Date: Tue, 13 Jan 2026 05:21:31 +0000 Subject: [PATCH 16/55] Fix windows origami test --- .../test_executable_scripts/test_origami.py | 22 ++++++++++++++----- 1 file changed, 17 insertions(+), 5 deletions(-) diff --git a/build_tools/github_actions/test_executable_scripts/test_origami.py b/build_tools/github_actions/test_executable_scripts/test_origami.py index 3e041567e4d..15e03f12520 100755 --- a/build_tools/github_actions/test_executable_scripts/test_origami.py +++ b/build_tools/github_actions/test_executable_scripts/test_origami.py @@ -22,30 +22,42 @@ environ_vars = os.environ.copy() platform = os.getenv("RUNNER_OS", "linux").lower() -# Set up library and Python paths for finding liborigami.so and the Python module +# Set up library and Python paths for finding liborigami.so/.dll and the Python module # Use resolve() to get absolute paths, so they work regardless of ctest's working directory bin_dir = Path(THEROCK_BIN_DIR).resolve() lib_dir = bin_dir.parent / "lib" origami_test_dir = bin_dir / "origami" -# Build LD_LIBRARY_PATH with multiple possible locations +# Path separator is different on Windows vs Linux +path_sep = ";" if platform == "windows" else ":" + +# Build library path with multiple possible locations if platform == "linux": + # On Linux, use LD_LIBRARY_PATH ld_paths = [ str(lib_dir), # Main lib directory (./build/lib) str(origami_test_dir), # Origami test directory (./build/bin/origami) environ_vars.get("LD_LIBRARY_PATH", ""), ] - # Filter empty paths and join - environ_vars["LD_LIBRARY_PATH"] = ":".join(p for p in ld_paths if p) + environ_vars["LD_LIBRARY_PATH"] = path_sep.join(p for p in ld_paths if p) +elif platform == "windows": + # On Windows, use PATH for DLL discovery + dll_paths = [ + str(lib_dir), # Main lib directory (./build/lib) + str(origami_test_dir), # Origami test directory (./build/bin/origami) + environ_vars.get("PATH", ""), + ] + environ_vars["PATH"] = path_sep.join(p for p in dll_paths if p) # Set PYTHONPATH to help Python find the origami module python_paths = [ str(origami_test_dir), # Where origami Python module is staged environ_vars.get("PYTHONPATH", ""), ] -environ_vars["PYTHONPATH"] = ":".join(p for p in python_paths if p) +environ_vars["PYTHONPATH"] = path_sep.join(p for p in python_paths if p) logging.info(f"LD_LIBRARY_PATH: {environ_vars.get('LD_LIBRARY_PATH', '')}") +logging.info(f"PATH: {environ_vars.get('PATH', '')[:200]}...") # Truncate PATH for readability logging.info(f"PYTHONPATH: {environ_vars.get('PYTHONPATH', '')}") # Test type configuration (smoke, full) From bc13cfa65ae40ebe4eb7f5fdad2f5465bdb36e6d Mon Sep 17 00:00:00 2001 From: Ibrahim Wani <113864060+ibrahimw1@users.noreply.github.com> Date: Tue, 13 Jan 2026 20:35:08 +0000 Subject: [PATCH 17/55] Fix windows dll issue by bumping rocm libs: --- rocm-libraries | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/rocm-libraries b/rocm-libraries index dfe895ef4af..e116e7f1e3e 160000 --- a/rocm-libraries +++ b/rocm-libraries @@ -1 +1 @@ -Subproject commit dfe895ef4af6f312af1b0a307c23ba04923adf9b +Subproject commit e116e7f1e3e6e843525a5045b67fb5b2e0aeb3a0 From dd069a685872f0268c322cc615de45f9f6fc0ed4 Mon Sep 17 00:00:00 2001 From: Ibrahim Wani <113864060+ibrahimw1@users.noreply.github.com> Date: Wed, 14 Jan 2026 16:58:42 +0000 Subject: [PATCH 18/55] Bump --- rocm-libraries | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/rocm-libraries b/rocm-libraries index e116e7f1e3e..d751d1cfe5d 160000 --- a/rocm-libraries +++ b/rocm-libraries @@ -1 +1 @@ -Subproject commit e116e7f1e3e6e843525a5045b67fb5b2e0aeb3a0 +Subproject commit d751d1cfe5d90a74b46447dcea642096a943fc48 From 3bc152aca0c837c82c22bef34c2240e8a9ab8cfb Mon Sep 17 00:00:00 2001 From: Ibrahim Wani <113864060+ibrahimw1@users.noreply.github.com> Date: Thu, 15 Jan 2026 03:14:58 +0000 Subject: [PATCH 19/55] Fix windows dll issues, ctest file gen change --- .../github_actions/test_executable_scripts/test_origami.py | 1 + rocm-libraries | 2 +- 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/build_tools/github_actions/test_executable_scripts/test_origami.py b/build_tools/github_actions/test_executable_scripts/test_origami.py index 15e03f12520..cbe119508eb 100755 --- a/build_tools/github_actions/test_executable_scripts/test_origami.py +++ b/build_tools/github_actions/test_executable_scripts/test_origami.py @@ -43,6 +43,7 @@ elif platform == "windows": # On Windows, use PATH for DLL discovery dll_paths = [ + str(bin_dir), # Main bin directory (./build/bin) - contains origami.dll and amdhip64.dll str(lib_dir), # Main lib directory (./build/lib) str(origami_test_dir), # Origami test directory (./build/bin/origami) environ_vars.get("PATH", ""), diff --git a/rocm-libraries b/rocm-libraries index d751d1cfe5d..58870fd16e1 160000 --- a/rocm-libraries +++ b/rocm-libraries @@ -1 +1 @@ -Subproject commit d751d1cfe5d90a74b46447dcea642096a943fc48 +Subproject commit 58870fd16e13f412615d1e39f8955b26e08f96fe From 4be54b900e9b84db9df0f104645d386c87aa690b Mon Sep 17 00:00:00 2001 From: Ibrahim Wani <113864060+ibrahimw1@users.noreply.github.com> Date: Thu, 15 Jan 2026 18:43:25 +0000 Subject: [PATCH 20/55] Origami to runtime deps, disable origami python binding tests on windows --- .../test_executable_scripts/test_origami.py | 31 ++++++++----------- math-libs/BLAS/CMakeLists.txt | 2 +- 2 files changed, 14 insertions(+), 19 deletions(-) diff --git a/build_tools/github_actions/test_executable_scripts/test_origami.py b/build_tools/github_actions/test_executable_scripts/test_origami.py index cbe119508eb..5f0a6310ecc 100755 --- a/build_tools/github_actions/test_executable_scripts/test_origami.py +++ b/build_tools/github_actions/test_executable_scripts/test_origami.py @@ -22,8 +22,6 @@ environ_vars = os.environ.copy() platform = os.getenv("RUNNER_OS", "linux").lower() -# Set up library and Python paths for finding liborigami.so/.dll and the Python module -# Use resolve() to get absolute paths, so they work regardless of ctest's working directory bin_dir = Path(THEROCK_BIN_DIR).resolve() lib_dir = bin_dir.parent / "lib" origami_test_dir = bin_dir / "origami" @@ -33,19 +31,17 @@ # Build library path with multiple possible locations if platform == "linux": - # On Linux, use LD_LIBRARY_PATH ld_paths = [ - str(lib_dir), # Main lib directory (./build/lib) - str(origami_test_dir), # Origami test directory (./build/bin/origami) + str(lib_dir), # Main lib directory + str(origami_test_dir), # Origami test directory environ_vars.get("LD_LIBRARY_PATH", ""), ] environ_vars["LD_LIBRARY_PATH"] = path_sep.join(p for p in ld_paths if p) elif platform == "windows": - # On Windows, use PATH for DLL discovery dll_paths = [ - str(bin_dir), # Main bin directory (./build/bin) - contains origami.dll and amdhip64.dll - str(lib_dir), # Main lib directory (./build/lib) - str(origami_test_dir), # Origami test directory (./build/bin/origami) + str(bin_dir), # Main bin directory + str(lib_dir), # Main lib directory + str(origami_test_dir), # Origami test directory environ_vars.get("PATH", ""), ] environ_vars["PATH"] = path_sep.join(p for p in dll_paths if p) @@ -58,13 +54,12 @@ environ_vars["PYTHONPATH"] = path_sep.join(p for p in python_paths if p) logging.info(f"LD_LIBRARY_PATH: {environ_vars.get('LD_LIBRARY_PATH', '')}") -logging.info(f"PATH: {environ_vars.get('PATH', '')[:200]}...") # Truncate PATH for readability +logging.info(f"PATH: {environ_vars.get('PATH', '')[:200]}...") logging.info(f"PYTHONPATH: {environ_vars.get('PYTHONPATH', '')}") # Test type configuration (smoke, full) test_type = os.getenv("TEST_TYPE", "full") -# Build the ctest command # CTest runs both C++ (Catch2) tests and Python (pytest) tests cmd = [ "ctest", @@ -75,14 +70,14 @@ "300", ] -# Test filtering based on test type -if test_type == "smoke": - # Run only a subset of tests for smoke testing - # Use CTest's regex to filter test names +# Test filtering based on test type and platform +if platform == "windows": + if test_type == "smoke": + cmd.extend(["-R", "GEMM:.*compute"]) + else: + cmd.extend(["-R", "origami-tests"]) +elif test_type == "smoke": cmd.extend(["-R", "origami_python|GEMM:.*compute"]) -else: - # For"full" test type - pass cmd.append("--parallel") diff --git a/math-libs/BLAS/CMakeLists.txt b/math-libs/BLAS/CMakeLists.txt index de35a23cd20..4ec54362c90 100644 --- a/math-libs/BLAS/CMakeLists.txt +++ b/math-libs/BLAS/CMakeLists.txt @@ -169,13 +169,13 @@ therock_cmake_subproject_declare(hipBLASLt amd-hip BUILD_DEPS hipBLAS-common - Origami rocm-cmake therock-googletest therock-msgpack-cxx ${hipBLASLt_rocRoller_build_deps} RUNTIME_DEPS hip-clr + Origami therock-host-blas ${hipBLASLt_rocRoller_runtime_deps} ${hipBLASLt_optional_deps} From c8c0b0bb87845d08a9539c775ad96f9e502f1ef7 Mon Sep 17 00:00:00 2001 From: Ibrahim Wani <113864060+ibrahimw1@users.noreply.github.com> Date: Mon, 19 Jan 2026 01:04:44 +0000 Subject: [PATCH 21/55] Apply PR comments --- .../test_executable_scripts/test_origami.py | 37 +++---------------- 1 file changed, 5 insertions(+), 32 deletions(-) diff --git a/build_tools/github_actions/test_executable_scripts/test_origami.py b/build_tools/github_actions/test_executable_scripts/test_origami.py index 5f0a6310ecc..67f2c3ce6e8 100755 --- a/build_tools/github_actions/test_executable_scripts/test_origami.py +++ b/build_tools/github_actions/test_executable_scripts/test_origami.py @@ -22,30 +22,11 @@ environ_vars = os.environ.copy() platform = os.getenv("RUNNER_OS", "linux").lower() -bin_dir = Path(THEROCK_BIN_DIR).resolve() -lib_dir = bin_dir.parent / "lib" -origami_test_dir = bin_dir / "origami" +origami_test_dir = Path(THEROCK_BIN_DIR).resolve() / "origami" # Path separator is different on Windows vs Linux path_sep = ";" if platform == "windows" else ":" -# Build library path with multiple possible locations -if platform == "linux": - ld_paths = [ - str(lib_dir), # Main lib directory - str(origami_test_dir), # Origami test directory - environ_vars.get("LD_LIBRARY_PATH", ""), - ] - environ_vars["LD_LIBRARY_PATH"] = path_sep.join(p for p in ld_paths if p) -elif platform == "windows": - dll_paths = [ - str(bin_dir), # Main bin directory - str(lib_dir), # Main lib directory - str(origami_test_dir), # Origami test directory - environ_vars.get("PATH", ""), - ] - environ_vars["PATH"] = path_sep.join(p for p in dll_paths if p) - # Set PYTHONPATH to help Python find the origami module python_paths = [ str(origami_test_dir), # Where origami Python module is staged @@ -53,8 +34,6 @@ ] environ_vars["PYTHONPATH"] = path_sep.join(p for p in python_paths if p) -logging.info(f"LD_LIBRARY_PATH: {environ_vars.get('LD_LIBRARY_PATH', '')}") -logging.info(f"PATH: {environ_vars.get('PATH', '')[:200]}...") logging.info(f"PYTHONPATH: {environ_vars.get('PYTHONPATH', '')}") # Test type configuration (smoke, full) @@ -64,22 +43,16 @@ cmd = [ "ctest", "--test-dir", - f"{THEROCK_BIN_DIR}/origami", + str(origami_test_dir), "--output-on-failure", - "--timeout", - "300", + "--parallel", + "8", ] -# Test filtering based on test type and platform if platform == "windows": - if test_type == "smoke": - cmd.extend(["-R", "GEMM:.*compute"]) - else: - cmd.extend(["-R", "origami-tests"]) + cmd.extend(["-R", "origami-tests"]) elif test_type == "smoke": cmd.extend(["-R", "origami_python|GEMM:.*compute"]) -cmd.append("--parallel") - logging.info(f"++ Exec [{THEROCK_DIR}]$ {shlex.join(cmd)}") subprocess.run(cmd, cwd=THEROCK_DIR, check=True, env=environ_vars) From 17ea7c448f92404e177fb825b5cec6c2762f8b03 Mon Sep 17 00:00:00 2001 From: Ibrahim Wani <113864060+ibrahimw1@users.noreply.github.com> Date: Mon, 19 Jan 2026 05:02:24 +0000 Subject: [PATCH 22/55] Set LD path again --- .../test_executable_scripts/test_origami.py | 23 ++++++++++++++++++- 1 file changed, 22 insertions(+), 1 deletion(-) diff --git a/build_tools/github_actions/test_executable_scripts/test_origami.py b/build_tools/github_actions/test_executable_scripts/test_origami.py index 67f2c3ce6e8..85e1d333e57 100755 --- a/build_tools/github_actions/test_executable_scripts/test_origami.py +++ b/build_tools/github_actions/test_executable_scripts/test_origami.py @@ -22,11 +22,31 @@ environ_vars = os.environ.copy() platform = os.getenv("RUNNER_OS", "linux").lower() -origami_test_dir = Path(THEROCK_BIN_DIR).resolve() / "origami" +bin_dir = Path(THEROCK_BIN_DIR).resolve() +lib_dir = bin_dir.parent / "lib" +origami_test_dir = bin_dir / "origami" # Path separator is different on Windows vs Linux path_sep = ";" if platform == "windows" else ":" +# LD_LIBRARY_PATH is needed for Python tests to find liborigami.so +# (the origami Python module is a pybind11 binding that links against liborigami) +if platform == "linux": + ld_paths = [ + str(lib_dir), + str(origami_test_dir), + environ_vars.get("LD_LIBRARY_PATH", ""), + ] + environ_vars["LD_LIBRARY_PATH"] = path_sep.join(p for p in ld_paths if p) +elif platform == "windows": + dll_paths = [ + str(bin_dir), + str(lib_dir), + str(origami_test_dir), + environ_vars.get("PATH", ""), + ] + environ_vars["PATH"] = path_sep.join(p for p in dll_paths if p) + # Set PYTHONPATH to help Python find the origami module python_paths = [ str(origami_test_dir), # Where origami Python module is staged @@ -34,6 +54,7 @@ ] environ_vars["PYTHONPATH"] = path_sep.join(p for p in python_paths if p) +logging.info(f"LD_LIBRARY_PATH: {environ_vars.get('LD_LIBRARY_PATH', '')}") logging.info(f"PYTHONPATH: {environ_vars.get('PYTHONPATH', '')}") # Test type configuration (smoke, full) From 80562e9dd91acde4906ec2e500f2ead2e3fb53bb Mon Sep 17 00:00:00 2001 From: Ibrahim Wani <113864060+ibrahimw1@users.noreply.github.com> Date: Mon, 19 Jan 2026 16:12:10 +0000 Subject: [PATCH 23/55] Add origami to package.json --- build_tools/packaging/linux/package.json | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/build_tools/packaging/linux/package.json b/build_tools/packaging/linux/package.json index 0e631cd8f9e..09d24d99507 100644 --- a/build_tools/packaging/linux/package.json +++ b/build_tools/packaging/linux/package.json @@ -459,7 +459,14 @@ "doc" ] }, - + { + "Name": "Origami", + "Components": [ + "lib", + "run", + "doc" + ] + }, { "Name": "hipBLASLt", "Components": [ From 15f6b6e8fe9b6f8d8af986eed8e5af150ed5bffe Mon Sep 17 00:00:00 2001 From: Ibrahim Wani <113864060+ibrahimw1@users.noreply.github.com> Date: Mon, 19 Jan 2026 23:27:42 +0000 Subject: [PATCH 24/55] bump --- rocm-libraries | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/rocm-libraries b/rocm-libraries index 58870fd16e1..6cb929764c0 160000 --- a/rocm-libraries +++ b/rocm-libraries @@ -1 +1 @@ -Subproject commit 58870fd16e13f412615d1e39f8955b26e08f96fe +Subproject commit 6cb929764c03ec53d812b78c75bd363815a2a854 From 4a8a49f639d4eb20a0f7d69c25536580f316ebd6 Mon Sep 17 00:00:00 2001 From: Ibrahim Wani <113864060+ibrahimw1@users.noreply.github.com> Date: Tue, 20 Jan 2026 08:28:02 +0000 Subject: [PATCH 25/55] bump, python3 --- rocm-libraries | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/rocm-libraries b/rocm-libraries index 6cb929764c0..0c1bbe07197 160000 --- a/rocm-libraries +++ b/rocm-libraries @@ -1 +1 @@ -Subproject commit 6cb929764c03ec53d812b78c75bd363815a2a854 +Subproject commit 0c1bbe07197777ec7221a1ccdb482c6cd070eff8 From af910c6547c401de718fadfef7522474f44f14b1 Mon Sep 17 00:00:00 2001 From: Ibrahim Wani <113864060+ibrahimw1@users.noreply.github.com> Date: Tue, 20 Jan 2026 16:26:59 +0000 Subject: [PATCH 26/55] bump --- rocm-libraries | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/rocm-libraries b/rocm-libraries index 0c1bbe07197..37e04655daa 160000 --- a/rocm-libraries +++ b/rocm-libraries @@ -1 +1 @@ -Subproject commit 0c1bbe07197777ec7221a1ccdb482c6cd070eff8 +Subproject commit 37e04655daa4ad7fff37e9c95e6069feef9affdb From 81e6a2c35b1c3e6b74394dcfd45147a866b55677 Mon Sep 17 00:00:00 2001 From: Ibrahim Wani <113864060+ibrahimw1@users.noreply.github.com> Date: Tue, 20 Jan 2026 22:02:44 +0000 Subject: [PATCH 27/55] bump --- rocm-libraries | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/rocm-libraries b/rocm-libraries index 37e04655daa..eb0465ad688 160000 --- a/rocm-libraries +++ b/rocm-libraries @@ -1 +1 @@ -Subproject commit 37e04655daa4ad7fff37e9c95e6069feef9affdb +Subproject commit eb0465ad68885f026f42be4f7da09ab638a2969f From bee4092d13a6df21335ef2f1b9cf2f82ca28e276 Mon Sep 17 00:00:00 2001 From: Ibrahim Wani <113864060+ibrahimw1@users.noreply.github.com> Date: Wed, 21 Jan 2026 19:27:45 +0000 Subject: [PATCH 28/55] bump --- rocm-libraries | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/rocm-libraries b/rocm-libraries index eb0465ad688..9795cbda50a 160000 --- a/rocm-libraries +++ b/rocm-libraries @@ -1 +1 @@ -Subproject commit eb0465ad68885f026f42be4f7da09ab638a2969f +Subproject commit 9795cbda50adc6709c178d5cfac4eb8dbe3ac5e6 From 8c12c8fb2b84924eb8db0292755b2b3b1e9f7b7d Mon Sep 17 00:00:00 2001 From: Ibrahim Wani <113864060+ibrahimw1@users.noreply.github.com> Date: Wed, 21 Jan 2026 22:35:19 +0000 Subject: [PATCH 29/55] Smoke tests run all tests, fix precommit error --- .../github_actions/test_executable_scripts/test_origami.py | 5 +---- 1 file changed, 1 insertion(+), 4 deletions(-) diff --git a/build_tools/github_actions/test_executable_scripts/test_origami.py b/build_tools/github_actions/test_executable_scripts/test_origami.py index 85e1d333e57..1b6995a6145 100755 --- a/build_tools/github_actions/test_executable_scripts/test_origami.py +++ b/build_tools/github_actions/test_executable_scripts/test_origami.py @@ -30,7 +30,6 @@ path_sep = ";" if platform == "windows" else ":" # LD_LIBRARY_PATH is needed for Python tests to find liborigami.so -# (the origami Python module is a pybind11 binding that links against liborigami) if platform == "linux": ld_paths = [ str(lib_dir), @@ -49,7 +48,7 @@ # Set PYTHONPATH to help Python find the origami module python_paths = [ - str(origami_test_dir), # Where origami Python module is staged + str(origami_test_dir), # Where origami Python module is staged environ_vars.get("PYTHONPATH", ""), ] environ_vars["PYTHONPATH"] = path_sep.join(p for p in python_paths if p) @@ -72,8 +71,6 @@ if platform == "windows": cmd.extend(["-R", "origami-tests"]) -elif test_type == "smoke": - cmd.extend(["-R", "origami_python|GEMM:.*compute"]) logging.info(f"++ Exec [{THEROCK_DIR}]$ {shlex.join(cmd)}") subprocess.run(cmd, cwd=THEROCK_DIR, check=True, env=environ_vars) From 54902bb38792347f8ae8b3342e0f2c148abdae9b Mon Sep 17 00:00:00 2001 From: Ibrahim Wani <113864060+ibrahimw1@users.noreply.github.com> Date: Wed, 21 Jan 2026 22:38:39 +0000 Subject: [PATCH 30/55] Fix precommit error --- .../github_actions/test_executable_scripts/test_origami.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/build_tools/github_actions/test_executable_scripts/test_origami.py b/build_tools/github_actions/test_executable_scripts/test_origami.py index 1b6995a6145..86ed520a9e3 100755 --- a/build_tools/github_actions/test_executable_scripts/test_origami.py +++ b/build_tools/github_actions/test_executable_scripts/test_origami.py @@ -48,7 +48,7 @@ # Set PYTHONPATH to help Python find the origami module python_paths = [ - str(origami_test_dir), # Where origami Python module is staged + str(origami_test_dir), # Where origami Python module is staged environ_vars.get("PYTHONPATH", ""), ] environ_vars["PYTHONPATH"] = path_sep.join(p for p in python_paths if p) From 40d9233f1ad2b3999a9024af283d145c486951e0 Mon Sep 17 00:00:00 2001 From: Ibrahim Wani <113864060+ibrahimw1@users.noreply.github.com> Date: Thu, 22 Jan 2026 07:40:22 +0000 Subject: [PATCH 31/55] bump --- rocm-libraries | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/rocm-libraries b/rocm-libraries index 14212bc741c..9af2d1d4009 160000 --- a/rocm-libraries +++ b/rocm-libraries @@ -1 +1 @@ -Subproject commit 14212bc741c1357d10c4121d7316668cf92cf261 +Subproject commit 9af2d1d4009eb6f06d71c3e0f922f3c15d0f05f5 From f06d760ef1ff27947d5faa81e7441426d024e5ea Mon Sep 17 00:00:00 2001 From: Ibrahim Wani <113864060+ibrahimw1@users.noreply.github.com> Date: Thu, 22 Jan 2026 18:05:52 +0000 Subject: [PATCH 32/55] bump --- rocm-libraries | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/rocm-libraries b/rocm-libraries index 9af2d1d4009..bd1b1fbca1e 160000 --- a/rocm-libraries +++ b/rocm-libraries @@ -1 +1 @@ -Subproject commit 9af2d1d4009eb6f06d71c3e0f922f3c15d0f05f5 +Subproject commit bd1b1fbca1ea18f41a744091fd2656afff784229 From a93bdb19df9eba95be2a646b7ef63321b09534c4 Mon Sep 17 00:00:00 2001 From: Ibrahim Wani <113864060+ibrahimw1@users.noreply.github.com> Date: Fri, 23 Jan 2026 00:16:47 +0000 Subject: [PATCH 33/55] Bump, pip install merge --- rocm-libraries | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/rocm-libraries b/rocm-libraries index bd1b1fbca1e..c47900d1d35 160000 --- a/rocm-libraries +++ b/rocm-libraries @@ -1 +1 @@ -Subproject commit bd1b1fbca1ea18f41a744091fd2656afff784229 +Subproject commit c47900d1d3519906f33ea6ffcd6aa539a1e978e5 From a5da7702f7a2a6690c861fd84c5dc1edb377d7de Mon Sep 17 00:00:00 2001 From: Ibrahim Wani <113864060+ibrahimw1@users.noreply.github.com> Date: Fri, 23 Jan 2026 04:14:03 +0000 Subject: [PATCH 34/55] bump, nb fix --- rocm-libraries | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/rocm-libraries b/rocm-libraries index c47900d1d35..254b2fa8392 160000 --- a/rocm-libraries +++ b/rocm-libraries @@ -1 +1 @@ -Subproject commit c47900d1d3519906f33ea6ffcd6aa539a1e978e5 +Subproject commit 254b2fa8392f0540820f39db2b6296258e70695c From ccf012a798c16d22d3bb1200f10401e3f9f5ab5d Mon Sep 17 00:00:00 2001 From: Ibrahim Wani <113864060+ibrahimw1@users.noreply.github.com> Date: Mon, 26 Jan 2026 18:22:22 +0000 Subject: [PATCH 35/55] Point to develop in rocm-libs --- rocm-libraries | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/rocm-libraries b/rocm-libraries index 254b2fa8392..6992cd2754a 160000 --- a/rocm-libraries +++ b/rocm-libraries @@ -1 +1 @@ -Subproject commit 254b2fa8392f0540820f39db2b6296258e70695c +Subproject commit 6992cd2754a912079bd44cd17ab9797da43e6320 From a10d2f108cd0662a1957672389dc44931f4f7611 Mon Sep 17 00:00:00 2001 From: Ibrahim Wani <113864060+ibrahimw1@users.noreply.github.com> Date: Mon, 26 Jan 2026 20:27:10 +0000 Subject: [PATCH 36/55] remove submodule bump --- rocm-libraries | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/rocm-libraries b/rocm-libraries index 6992cd2754a..c1da468ec3e 160000 --- a/rocm-libraries +++ b/rocm-libraries @@ -1 +1 @@ -Subproject commit 6992cd2754a912079bd44cd17ab9797da43e6320 +Subproject commit c1da468ec3ea32d0b9d11a3c644068608ffebe79 From 36dbc008e29a58f88663bc618c919493e8a21a93 Mon Sep 17 00:00:00 2001 From: Ibrahim Wani <113864060+ibrahimw1@users.noreply.github.com> Date: Wed, 28 Jan 2026 22:23:09 +0000 Subject: [PATCH 37/55] Change Origami to lowercase origami --- build_tools/packaging/linux/package.json | 2 +- math-libs/BLAS/CMakeLists.txt | 16 ++++++++-------- math-libs/BLAS/artifact-blas.toml | 10 +++++----- 3 files changed, 14 insertions(+), 14 deletions(-) diff --git a/build_tools/packaging/linux/package.json b/build_tools/packaging/linux/package.json index 09d24d99507..9e74a82f0ed 100644 --- a/build_tools/packaging/linux/package.json +++ b/build_tools/packaging/linux/package.json @@ -460,7 +460,7 @@ ] }, { - "Name": "Origami", + "Name": "origami", "Components": [ "lib", "run", diff --git a/math-libs/BLAS/CMakeLists.txt b/math-libs/BLAS/CMakeLists.txt index 4ec54362c90..76f53cb0f0b 100644 --- a/math-libs/BLAS/CMakeLists.txt +++ b/math-libs/BLAS/CMakeLists.txt @@ -91,12 +91,12 @@ endif() ############################################################################## -# Origami +# origami ############################################################################## -therock_cmake_subproject_declare(Origami +therock_cmake_subproject_declare(origami EXTERNAL_SOURCE_DIR "${THEROCK_ROCM_LIBRARIES_SOURCE_DIR}/shared/origami" - BINARY_DIR "${CMAKE_CURRENT_BINARY_DIR}/Origami" + BINARY_DIR "${CMAKE_CURRENT_BINARY_DIR}/origami" BACKGROUND_BUILD CMAKE_ARGS -DHIP_PLATFORM=amd @@ -112,13 +112,13 @@ therock_cmake_subproject_declare(Origami RUNTIME_DEPS hip-clr ) -therock_cmake_subproject_glob_c_sources(Origami +therock_cmake_subproject_glob_c_sources(origami SUBDIRS . ) -therock_cmake_subproject_provide_package(Origami origami lib/cmake/origami) -therock_cmake_subproject_activate(Origami) -list(APPEND _blas_subproject_names Origami) +therock_cmake_subproject_provide_package(origami origami lib/cmake/origami) +therock_cmake_subproject_activate(origami) +list(APPEND _blas_subproject_names origami) ############################################################################## @@ -175,7 +175,7 @@ therock_cmake_subproject_declare(hipBLASLt ${hipBLASLt_rocRoller_build_deps} RUNTIME_DEPS hip-clr - Origami + origami therock-host-blas ${hipBLASLt_rocRoller_runtime_deps} ${hipBLASLt_optional_deps} diff --git a/math-libs/BLAS/artifact-blas.toml b/math-libs/BLAS/artifact-blas.toml index 302adf0646c..f12eef94f47 100644 --- a/math-libs/BLAS/artifact-blas.toml +++ b/math-libs/BLAS/artifact-blas.toml @@ -19,17 +19,17 @@ include = [ ] optional = true -# Origami -[components.dbg."math-libs/BLAS/Origami/stage"] +# origami +[components.dbg."math-libs/BLAS/origami/stage"] optional = true -[components.dev."math-libs/BLAS/Origami/stage"] +[components.dev."math-libs/BLAS/origami/stage"] optional = true -[components.lib."math-libs/BLAS/Origami/stage"] +[components.lib."math-libs/BLAS/origami/stage"] include = [ "lib/**", ] optional = true -[components.test."math-libs/BLAS/Origami/stage"] +[components.test."math-libs/BLAS/origami/stage"] include = [ "bin/origami-tests*", "bin/origami/**", From 586866b5f2ebabc1a8107cfe258cf94196b807d5 Mon Sep 17 00:00:00 2001 From: Ibrahim Wani <113864060+ibrahimw1@users.noreply.github.com> Date: Fri, 30 Jan 2026 06:36:14 +0000 Subject: [PATCH 38/55] Address PR comments --- .../github_actions/fetch_test_configurations.py | 2 +- .../test_executable_scripts/test_origami.py | 10 ++++------ 2 files changed, 5 insertions(+), 7 deletions(-) diff --git a/build_tools/github_actions/fetch_test_configurations.py b/build_tools/github_actions/fetch_test_configurations.py index 59415ca0ac5..f6711d13b0c 100644 --- a/build_tools/github_actions/fetch_test_configurations.py +++ b/build_tools/github_actions/fetch_test_configurations.py @@ -74,7 +74,7 @@ def _get_script_path(script_name: str) -> str: "origami": { "job_name": "origami", "fetch_artifact_args": "--blas --tests", - "timeout_minutes": 30, + "timeout_minutes": 5, "test_script": f"python {_get_script_path('test_origami.py')}", "platform": ["linux", "windows"], "total_shards": 1, diff --git a/build_tools/github_actions/test_executable_scripts/test_origami.py b/build_tools/github_actions/test_executable_scripts/test_origami.py index 86ed520a9e3..13ed7993385 100755 --- a/build_tools/github_actions/test_executable_scripts/test_origami.py +++ b/build_tools/github_actions/test_executable_scripts/test_origami.py @@ -21,13 +21,14 @@ # Environment setup environ_vars = os.environ.copy() platform = os.getenv("RUNNER_OS", "linux").lower() +is_windows = platform == "windows" bin_dir = Path(THEROCK_BIN_DIR).resolve() lib_dir = bin_dir.parent / "lib" origami_test_dir = bin_dir / "origami" # Path separator is different on Windows vs Linux -path_sep = ";" if platform == "windows" else ":" +path_sep = ";" if is_windows else ":" # LD_LIBRARY_PATH is needed for Python tests to find liborigami.so if platform == "linux": @@ -37,7 +38,7 @@ environ_vars.get("LD_LIBRARY_PATH", ""), ] environ_vars["LD_LIBRARY_PATH"] = path_sep.join(p for p in ld_paths if p) -elif platform == "windows": +elif is_windows: dll_paths = [ str(bin_dir), str(lib_dir), @@ -56,9 +57,6 @@ logging.info(f"LD_LIBRARY_PATH: {environ_vars.get('LD_LIBRARY_PATH', '')}") logging.info(f"PYTHONPATH: {environ_vars.get('PYTHONPATH', '')}") -# Test type configuration (smoke, full) -test_type = os.getenv("TEST_TYPE", "full") - # CTest runs both C++ (Catch2) tests and Python (pytest) tests cmd = [ "ctest", @@ -69,7 +67,7 @@ "8", ] -if platform == "windows": +if is_windows: cmd.extend(["-R", "origami-tests"]) logging.info(f"++ Exec [{THEROCK_DIR}]$ {shlex.join(cmd)}") From 91bad2a77be8e87f2cc13f9255286b3db18dd5d8 Mon Sep 17 00:00:00 2001 From: Ibrahim Wani <113864060+ibrahimw1@users.noreply.github.com> Date: Tue, 3 Feb 2026 21:47:57 +0000 Subject: [PATCH 39/55] Bump to point to origami rocm-sdk sanity test failure fix --- rocm-libraries | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/rocm-libraries b/rocm-libraries index a95754ed903..51c5d52ca91 160000 --- a/rocm-libraries +++ b/rocm-libraries @@ -1 +1 @@ -Subproject commit a95754ed9035433da1a6ca516e46af2d3ae7a7c8 +Subproject commit 51c5d52ca91b773ce071f0a7f82ba6ff4158b368 From 1386d5e71d0e22f398b16bd556ade2d93cb98aed Mon Sep 17 00:00:00 2001 From: Ibrahim Wani <113864060+ibrahimw1@users.noreply.github.com> Date: Tue, 3 Feb 2026 22:42:31 +0000 Subject: [PATCH 40/55] Remove ld path --- .../test_executable_scripts/test_origami.py | 22 +------------------ 1 file changed, 1 insertion(+), 21 deletions(-) diff --git a/build_tools/github_actions/test_executable_scripts/test_origami.py b/build_tools/github_actions/test_executable_scripts/test_origami.py index 13ed7993385..396ef4a9bf7 100755 --- a/build_tools/github_actions/test_executable_scripts/test_origami.py +++ b/build_tools/github_actions/test_executable_scripts/test_origami.py @@ -23,30 +23,11 @@ platform = os.getenv("RUNNER_OS", "linux").lower() is_windows = platform == "windows" -bin_dir = Path(THEROCK_BIN_DIR).resolve() -lib_dir = bin_dir.parent / "lib" -origami_test_dir = bin_dir / "origami" +origami_test_dir = Path(THEROCK_BIN_DIR).resolve() / "origami" # Path separator is different on Windows vs Linux path_sep = ";" if is_windows else ":" -# LD_LIBRARY_PATH is needed for Python tests to find liborigami.so -if platform == "linux": - ld_paths = [ - str(lib_dir), - str(origami_test_dir), - environ_vars.get("LD_LIBRARY_PATH", ""), - ] - environ_vars["LD_LIBRARY_PATH"] = path_sep.join(p for p in ld_paths if p) -elif is_windows: - dll_paths = [ - str(bin_dir), - str(lib_dir), - str(origami_test_dir), - environ_vars.get("PATH", ""), - ] - environ_vars["PATH"] = path_sep.join(p for p in dll_paths if p) - # Set PYTHONPATH to help Python find the origami module python_paths = [ str(origami_test_dir), # Where origami Python module is staged @@ -54,7 +35,6 @@ ] environ_vars["PYTHONPATH"] = path_sep.join(p for p in python_paths if p) -logging.info(f"LD_LIBRARY_PATH: {environ_vars.get('LD_LIBRARY_PATH', '')}") logging.info(f"PYTHONPATH: {environ_vars.get('PYTHONPATH', '')}") # CTest runs both C++ (Catch2) tests and Python (pytest) tests From aac604012c4fbf390f091b3a7086b20cde966e82 Mon Sep 17 00:00:00 2001 From: Ibrahim Wani <113864060+ibrahimw1@users.noreply.github.com> Date: Tue, 3 Feb 2026 22:45:15 +0000 Subject: [PATCH 41/55] Add origami library to rocm-sdk --- .../packaging/python/templates/rocm/src/rocm_sdk/_dist_info.py | 2 ++ 1 file changed, 2 insertions(+) diff --git a/build_tools/packaging/python/templates/rocm/src/rocm_sdk/_dist_info.py b/build_tools/packaging/python/templates/rocm/src/rocm_sdk/_dist_info.py index 37198db4b7e..415dd461359 100644 --- a/build_tools/packaging/python/templates/rocm/src/rocm_sdk/_dist_info.py +++ b/build_tools/packaging/python/templates/rocm/src/rocm_sdk/_dist_info.py @@ -238,6 +238,8 @@ def determine_target_family() -> str: LibraryEntry("hipsolver", "libraries", "libhipsolver.so*", "hipsolver*.dll") LibraryEntry("rccl", "libraries", "librccl.so*", "") LibraryEntry("miopen", "libraries", "libMIOpen.so*", "MIOpen*.dll") +LibraryEntry("origami", "libraries", "liborigami.so*", "origami*.dll") + # Others we may want: # hiprtc-builtins From 706d1ee27a7bf4447a3b7c7e678d7290d6b9a8f7 Mon Sep 17 00:00:00 2001 From: Ibrahim Wani <113864060+ibrahimw1@users.noreply.github.com> Date: Mon, 9 Feb 2026 19:14:04 +0000 Subject: [PATCH 42/55] Remove python paths --- .../test_executable_scripts/test_origami.py | 16 +--------------- 1 file changed, 1 insertion(+), 15 deletions(-) diff --git a/build_tools/github_actions/test_executable_scripts/test_origami.py b/build_tools/github_actions/test_executable_scripts/test_origami.py index 396ef4a9bf7..8072db83304 100755 --- a/build_tools/github_actions/test_executable_scripts/test_origami.py +++ b/build_tools/github_actions/test_executable_scripts/test_origami.py @@ -18,25 +18,11 @@ logging.basicConfig(level=logging.INFO, format="%(message)s") -# Environment setup -environ_vars = os.environ.copy() platform = os.getenv("RUNNER_OS", "linux").lower() is_windows = platform == "windows" origami_test_dir = Path(THEROCK_BIN_DIR).resolve() / "origami" -# Path separator is different on Windows vs Linux -path_sep = ";" if is_windows else ":" - -# Set PYTHONPATH to help Python find the origami module -python_paths = [ - str(origami_test_dir), # Where origami Python module is staged - environ_vars.get("PYTHONPATH", ""), -] -environ_vars["PYTHONPATH"] = path_sep.join(p for p in python_paths if p) - -logging.info(f"PYTHONPATH: {environ_vars.get('PYTHONPATH', '')}") - # CTest runs both C++ (Catch2) tests and Python (pytest) tests cmd = [ "ctest", @@ -51,4 +37,4 @@ cmd.extend(["-R", "origami-tests"]) logging.info(f"++ Exec [{THEROCK_DIR}]$ {shlex.join(cmd)}") -subprocess.run(cmd, cwd=THEROCK_DIR, check=True, env=environ_vars) +subprocess.run(cmd, cwd=THEROCK_DIR, check=True) From 4418a79fb06c0b325ecfd98224cd362045b5c600 Mon Sep 17 00:00:00 2001 From: Ibrahim Wani <113864060+ibrahimw1@users.noreply.github.com> Date: Mon, 9 Feb 2026 21:59:21 +0000 Subject: [PATCH 43/55] Add python path back --- .../test_executable_scripts/test_origami.py | 13 ++++++++++++- 1 file changed, 12 insertions(+), 1 deletion(-) diff --git a/build_tools/github_actions/test_executable_scripts/test_origami.py b/build_tools/github_actions/test_executable_scripts/test_origami.py index 8072db83304..ee3aaea03e4 100755 --- a/build_tools/github_actions/test_executable_scripts/test_origami.py +++ b/build_tools/github_actions/test_executable_scripts/test_origami.py @@ -18,11 +18,22 @@ logging.basicConfig(level=logging.INFO, format="%(message)s") +# Environment setup +environ_vars = os.environ.copy() platform = os.getenv("RUNNER_OS", "linux").lower() is_windows = platform == "windows" origami_test_dir = Path(THEROCK_BIN_DIR).resolve() / "origami" +# Set PYTHONPATH to help Python find the origami module +python_paths = [ + str(origami_test_dir), # Where origami Python module is staged + environ_vars.get("PYTHONPATH", ""), +] +environ_vars["PYTHONPATH"] = os.pathsep.join(p for p in python_paths if p) + +logging.info(f"PYTHONPATH: {environ_vars.get('PYTHONPATH', '')}") + # CTest runs both C++ (Catch2) tests and Python (pytest) tests cmd = [ "ctest", @@ -37,4 +48,4 @@ cmd.extend(["-R", "origami-tests"]) logging.info(f"++ Exec [{THEROCK_DIR}]$ {shlex.join(cmd)}") -subprocess.run(cmd, cwd=THEROCK_DIR, check=True) +subprocess.run(cmd, cwd=THEROCK_DIR, check=True, env=environ_vars) From af9ab20dbfa1fd5b93eeb4f1fc3fb914637c533b Mon Sep 17 00:00:00 2001 From: Ibrahim Wani <113864060+ibrahimw1@users.noreply.github.com> Date: Tue, 10 Feb 2026 01:13:24 +0000 Subject: [PATCH 44/55] add ld lib path and python path back --- .../test_executable_scripts/test_origami.py | 27 +++++++++++++++++-- 1 file changed, 25 insertions(+), 2 deletions(-) diff --git a/build_tools/github_actions/test_executable_scripts/test_origami.py b/build_tools/github_actions/test_executable_scripts/test_origami.py index ee3aaea03e4..13ed7993385 100755 --- a/build_tools/github_actions/test_executable_scripts/test_origami.py +++ b/build_tools/github_actions/test_executable_scripts/test_origami.py @@ -23,15 +23,38 @@ platform = os.getenv("RUNNER_OS", "linux").lower() is_windows = platform == "windows" -origami_test_dir = Path(THEROCK_BIN_DIR).resolve() / "origami" +bin_dir = Path(THEROCK_BIN_DIR).resolve() +lib_dir = bin_dir.parent / "lib" +origami_test_dir = bin_dir / "origami" + +# Path separator is different on Windows vs Linux +path_sep = ";" if is_windows else ":" + +# LD_LIBRARY_PATH is needed for Python tests to find liborigami.so +if platform == "linux": + ld_paths = [ + str(lib_dir), + str(origami_test_dir), + environ_vars.get("LD_LIBRARY_PATH", ""), + ] + environ_vars["LD_LIBRARY_PATH"] = path_sep.join(p for p in ld_paths if p) +elif is_windows: + dll_paths = [ + str(bin_dir), + str(lib_dir), + str(origami_test_dir), + environ_vars.get("PATH", ""), + ] + environ_vars["PATH"] = path_sep.join(p for p in dll_paths if p) # Set PYTHONPATH to help Python find the origami module python_paths = [ str(origami_test_dir), # Where origami Python module is staged environ_vars.get("PYTHONPATH", ""), ] -environ_vars["PYTHONPATH"] = os.pathsep.join(p for p in python_paths if p) +environ_vars["PYTHONPATH"] = path_sep.join(p for p in python_paths if p) +logging.info(f"LD_LIBRARY_PATH: {environ_vars.get('LD_LIBRARY_PATH', '')}") logging.info(f"PYTHONPATH: {environ_vars.get('PYTHONPATH', '')}") # CTest runs both C++ (Catch2) tests and Python (pytest) tests From 9ff32acfe51f315c1a9626fef75fb86ceb29744f Mon Sep 17 00:00:00 2001 From: Ibrahim Wani <113864060+ibrahimw1@users.noreply.github.com> Date: Tue, 10 Feb 2026 07:27:24 +0000 Subject: [PATCH 45/55] Bump - fix selector tests, fix linux python package rocm sdk tests --- rocm-libraries | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/rocm-libraries b/rocm-libraries index e35d9d49983..58259715fb8 160000 --- a/rocm-libraries +++ b/rocm-libraries @@ -1 +1 @@ -Subproject commit e35d9d4998336c239e18315858af94c389ce169a +Subproject commit 58259715fb814b4db156e3152683eff678f5f714 From a2fe186a71223c3bf74c2d23752f98645e11188c Mon Sep 17 00:00:00 2001 From: Ibrahim Wani <113864060+ibrahimw1@users.noreply.github.com> Date: Tue, 10 Feb 2026 16:58:41 +0000 Subject: [PATCH 46/55] bump --- rocm-libraries | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/rocm-libraries b/rocm-libraries index 58259715fb8..77ddd3f145c 160000 --- a/rocm-libraries +++ b/rocm-libraries @@ -1 +1 @@ -Subproject commit 58259715fb814b4db156e3152683eff678f5f714 +Subproject commit 77ddd3f145c797ce26fb541debf85660bb91a4e9 From fb06de5eaae2e10dccd4e2dba89f0f59be225fca Mon Sep 17 00:00:00 2001 From: Ibrahim Wani <113864060+ibrahimw1@users.noreply.github.com> Date: Tue, 10 Feb 2026 23:02:30 +0000 Subject: [PATCH 47/55] bump + change pythonpath --- .../test_executable_scripts/test_origami.py | 10 ++++++---- rocm-libraries | 2 +- 2 files changed, 7 insertions(+), 5 deletions(-) diff --git a/build_tools/github_actions/test_executable_scripts/test_origami.py b/build_tools/github_actions/test_executable_scripts/test_origami.py index 13ed7993385..5192b4a4e60 100755 --- a/build_tools/github_actions/test_executable_scripts/test_origami.py +++ b/build_tools/github_actions/test_executable_scripts/test_origami.py @@ -10,6 +10,7 @@ import os import shlex import subprocess +import sys from pathlib import Path THEROCK_BIN_DIR = os.getenv("THEROCK_BIN_DIR") @@ -30,11 +31,13 @@ # Path separator is different on Windows vs Linux path_sep = ";" if is_windows else ":" +# The origami Python package is installed to lib/pythonX.Y/site-packages/origami/ +site_packages_dir = lib_dir / f"python{sys.version_info.major}.{sys.version_info.minor}" / "site-packages" + # LD_LIBRARY_PATH is needed for Python tests to find liborigami.so if platform == "linux": ld_paths = [ str(lib_dir), - str(origami_test_dir), environ_vars.get("LD_LIBRARY_PATH", ""), ] environ_vars["LD_LIBRARY_PATH"] = path_sep.join(p for p in ld_paths if p) @@ -42,14 +45,13 @@ dll_paths = [ str(bin_dir), str(lib_dir), - str(origami_test_dir), environ_vars.get("PATH", ""), ] environ_vars["PATH"] = path_sep.join(p for p in dll_paths if p) -# Set PYTHONPATH to help Python find the origami module +# Set PYTHONPATH so Python can find the origami package in site-packages python_paths = [ - str(origami_test_dir), # Where origami Python module is staged + str(site_packages_dir), environ_vars.get("PYTHONPATH", ""), ] environ_vars["PYTHONPATH"] = path_sep.join(p for p in python_paths if p) diff --git a/rocm-libraries b/rocm-libraries index 77ddd3f145c..b646581d751 160000 --- a/rocm-libraries +++ b/rocm-libraries @@ -1 +1 @@ -Subproject commit 77ddd3f145c797ce26fb541debf85660bb91a4e9 +Subproject commit b646581d7516b8c7e85d4c6e1f5b13ac6f3d232a From 0f9dba0bba84092c077bb4945eed0791a82b93bc Mon Sep 17 00:00:00 2001 From: Ibrahim Wani <113864060+ibrahimw1@users.noreply.github.com> Date: Tue, 10 Feb 2026 23:28:45 +0000 Subject: [PATCH 48/55] Fix precommit fail --- .../github_actions/test_executable_scripts/test_origami.py | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/build_tools/github_actions/test_executable_scripts/test_origami.py b/build_tools/github_actions/test_executable_scripts/test_origami.py index 5192b4a4e60..dac5e332686 100755 --- a/build_tools/github_actions/test_executable_scripts/test_origami.py +++ b/build_tools/github_actions/test_executable_scripts/test_origami.py @@ -32,7 +32,11 @@ path_sep = ";" if is_windows else ":" # The origami Python package is installed to lib/pythonX.Y/site-packages/origami/ -site_packages_dir = lib_dir / f"python{sys.version_info.major}.{sys.version_info.minor}" / "site-packages" +site_packages_dir = ( + lib_dir + / f"python{sys.version_info.major}.{sys.version_info.minor}" + / "site-packages" +) # LD_LIBRARY_PATH is needed for Python tests to find liborigami.so if platform == "linux": From 5887f251e07c35387fed484d14d269b4d62e639f Mon Sep 17 00:00:00 2001 From: Ibrahim Wani <113864060+ibrahimw1@users.noreply.github.com> Date: Tue, 10 Feb 2026 23:29:17 +0000 Subject: [PATCH 49/55] bump --- rocm-libraries | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/rocm-libraries b/rocm-libraries index b646581d751..511720baebc 160000 --- a/rocm-libraries +++ b/rocm-libraries @@ -1 +1 @@ -Subproject commit b646581d7516b8c7e85d4c6e1f5b13ac6f3d232a +Subproject commit 511720baebc6acf5ceb07147f2e1f8226ffdbd8c From 3c6b27a4eee34bc011dc194e8a441f78f939f420 Mon Sep 17 00:00:00 2001 From: Ibrahim Wani <113864060+ibrahimw1@users.noreply.github.com> Date: Sun, 15 Feb 2026 23:03:30 +0000 Subject: [PATCH 50/55] remove rocm-libs bump --- rocm-libraries | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/rocm-libraries b/rocm-libraries index 511720baebc..8f32542c1d7 160000 --- a/rocm-libraries +++ b/rocm-libraries @@ -1 +1 @@ -Subproject commit 511720baebc6acf5ceb07147f2e1f8226ffdbd8c +Subproject commit 8f32542c1d765c14da4555c8ed8a67666b0a9c3c From c9bdc47d87381d00c0f75e37d28ca19ec9bc4510 Mon Sep 17 00:00:00 2001 From: Ibrahim Wani <113864060+ibrahimw1@users.noreply.github.com> Date: Mon, 16 Feb 2026 21:31:26 +0000 Subject: [PATCH 51/55] Remove optional lines from origami in toml file --- math-libs/BLAS/artifact-blas.toml | 4 ---- 1 file changed, 4 deletions(-) diff --git a/math-libs/BLAS/artifact-blas.toml b/math-libs/BLAS/artifact-blas.toml index f12eef94f47..723bbb21792 100644 --- a/math-libs/BLAS/artifact-blas.toml +++ b/math-libs/BLAS/artifact-blas.toml @@ -21,20 +21,16 @@ optional = true # origami [components.dbg."math-libs/BLAS/origami/stage"] -optional = true [components.dev."math-libs/BLAS/origami/stage"] -optional = true [components.lib."math-libs/BLAS/origami/stage"] include = [ "lib/**", ] -optional = true [components.test."math-libs/BLAS/origami/stage"] include = [ "bin/origami-tests*", "bin/origami/**", ] -optional = true # hipBLAS [components.dbg."math-libs/BLAS/hipBLAS/stage"] From 19b87ceb65215cd483e16cd3cac515664826deff Mon Sep 17 00:00:00 2001 From: Ibrahim Wani <113864060+ibrahimw1@users.noreply.github.com> Date: Tue, 17 Feb 2026 20:11:23 +0000 Subject: [PATCH 52/55] Add PR suggestions --- .../github_actions/test_executable_scripts/test_origami.py | 4 ++-- math-libs/BLAS/artifact-blas.toml | 3 --- 2 files changed, 2 insertions(+), 5 deletions(-) diff --git a/build_tools/github_actions/test_executable_scripts/test_origami.py b/build_tools/github_actions/test_executable_scripts/test_origami.py index dac5e332686..09cf3876019 100755 --- a/build_tools/github_actions/test_executable_scripts/test_origami.py +++ b/build_tools/github_actions/test_executable_scripts/test_origami.py @@ -39,13 +39,13 @@ ) # LD_LIBRARY_PATH is needed for Python tests to find liborigami.so -if platform == "linux": +if not is_windows: ld_paths = [ str(lib_dir), environ_vars.get("LD_LIBRARY_PATH", ""), ] environ_vars["LD_LIBRARY_PATH"] = path_sep.join(p for p in ld_paths if p) -elif is_windows: +else: dll_paths = [ str(bin_dir), str(lib_dir), diff --git a/math-libs/BLAS/artifact-blas.toml b/math-libs/BLAS/artifact-blas.toml index 723bbb21792..9bd30de7a41 100644 --- a/math-libs/BLAS/artifact-blas.toml +++ b/math-libs/BLAS/artifact-blas.toml @@ -23,9 +23,6 @@ optional = true [components.dbg."math-libs/BLAS/origami/stage"] [components.dev."math-libs/BLAS/origami/stage"] [components.lib."math-libs/BLAS/origami/stage"] -include = [ - "lib/**", -] [components.test."math-libs/BLAS/origami/stage"] include = [ "bin/origami-tests*", From 29798972c61bd64254b3d326ef9af134e49cbb3a Mon Sep 17 00:00:00 2001 From: Ibrahim Wani <113864060+ibrahimw1@users.noreply.github.com> Date: Tue, 17 Feb 2026 23:00:03 +0000 Subject: [PATCH 53/55] Test --- math-libs/BLAS/artifact-blas.toml | 3 +++ 1 file changed, 3 insertions(+) diff --git a/math-libs/BLAS/artifact-blas.toml b/math-libs/BLAS/artifact-blas.toml index 9bd30de7a41..723bbb21792 100644 --- a/math-libs/BLAS/artifact-blas.toml +++ b/math-libs/BLAS/artifact-blas.toml @@ -23,6 +23,9 @@ optional = true [components.dbg."math-libs/BLAS/origami/stage"] [components.dev."math-libs/BLAS/origami/stage"] [components.lib."math-libs/BLAS/origami/stage"] +include = [ + "lib/**", +] [components.test."math-libs/BLAS/origami/stage"] include = [ "bin/origami-tests*", From 5bb66737b3e248b4780f6a34b8c6c5da61cae9a4 Mon Sep 17 00:00:00 2001 From: Ibrahim Wani <113864060+ibrahimw1@users.noreply.github.com> Date: Tue, 24 Feb 2026 16:30:05 +0000 Subject: [PATCH 54/55] Bump --- rocm-libraries | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/rocm-libraries b/rocm-libraries index 8f32542c1d7..4d9764bfb16 160000 --- a/rocm-libraries +++ b/rocm-libraries @@ -1 +1 @@ -Subproject commit 8f32542c1d765c14da4555c8ed8a67666b0a9c3c +Subproject commit 4d9764bfb162faa67436835231db33b1b372b4b2 From be9b4a531eeaa93833d7be20d6c7074da46bee8d Mon Sep 17 00:00:00 2001 From: Ibrahim Wani <113864060+ibrahimw1@users.noreply.github.com> Date: Tue, 24 Feb 2026 19:58:39 +0000 Subject: [PATCH 55/55] bump --- rocm-libraries | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/rocm-libraries b/rocm-libraries index 4d9764bfb16..c0a7ea081ff 160000 --- a/rocm-libraries +++ b/rocm-libraries @@ -1 +1 @@ -Subproject commit 4d9764bfb162faa67436835231db33b1b372b4b2 +Subproject commit c0a7ea081fff497224a68b6ae846036f73dae1f6