Skip to content

Add origami to TheRock #2#3237

Draft
ibrahimw1 wants to merge 70 commits intomainfrom
users/ibrahimw1/add-origami-2
Draft

Add origami to TheRock #2#3237
ibrahimw1 wants to merge 70 commits intomainfrom
users/ibrahimw1/add-origami-2

Conversation

@ibrahimw1
Copy link
Contributor

@ibrahimw1 ibrahimw1 commented Feb 3, 2026

Motivation

Re-land of origami TheRock CI integration (old/reverted PR: #2813).

The original PR was reverted because origami.cpython-312-x86_64-linux-gnu.so couldn't find liborigami.so.1 at runtime, causing rocm-sdk test (testSharedLibrariesLoad) to fail:

OSError: liborigami.so.1: cannot open shared object file: No such file or directory

This was due to two issues:

  1. The Python extension had no RPATH pointing to the lib/ directory where liborigami.so.1 is installed
  2. origami was not registered in _dist_info.py, so the rocm-sdk packaging infrastructure didn't know about it

What changed from the original PR

  • build_tools/packaging/python/templates/rocm/src/rocm_sdk/_dist_info.py: Added LibraryEntry("origami", ...) so the rocm-sdk packaging properly tracks liborigami.so.
  • rocm-libraries: shared/origami/python/CMakeLists.txt — Added INSTALL_RPATH so the Python extension can find liborigami.so.1. Removed duplicate test install of .so from bin/; the Python package in lib/pythonX.Y/site-packages/origami/ is used for both regular use and testing.
  • rocm-libraries: shared/origami/tests/CMakeLists.txt: Updated installed CTestTestfile.cmake to set PYTHONPATH to the site-packages directory instead of bin/origami/.
  • build_tools/github_actions/test_executable_scripts/test_origami.py: Updated PYTHONPATH to point to lib/pythonX.Y/site-packages/ where the origami package is installed.

Original PR context

Add origami as a standalone TheRock subproject with CI testing integration. This enables independent testing of origami's C++ and Python components as part of TheRock's CI pipeline.

Files from original PR (unchanged)

  • math-libs/BLAS/CMakeLists.txt: Added Origami as a TheRock subproject with Catch2 test dependency and Python bindings enabled
  • build_tools/github_actions/fetch_test_configurations.py: Added origami to test matrix with 5-minute timeout for Linux and Windows

Test Plan

  • rocm-sdk test passes (testSharedLibrariesLoad no longer fails on origami .so)
  • ctest from installed bin/origami/ runs C++ and Python tests (locally)
  • TheRock CI origami test job passes on Linux and Windows

Submission Checklist

@ibrahimw1 ibrahimw1 changed the title Users/ibrahimw1/add origami 2 Add origami to TheRock #2 Feb 3, 2026
@bstefanuk
Copy link
Contributor

@ibrahimw1 looks like tests are still failing even when keeping PYTHONPATH, can you give it a look?

@ibrahimw1
Copy link
Contributor Author

@ibrahimw1 looks like tests are still failing even when keeping PYTHONPATH, can you give it a look?

PYTHONPATH only allows test_origami.py to pass, not rocm-sdk tests. The failing test is unrelated to my changes:
image

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

Status: TODO

Development

Successfully merging this pull request may close these issues.

2 participants