-
Notifications
You must be signed in to change notification settings - Fork 326
feat(tensilelite): stop treating tensilelite host as internal library #8133
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Merged
davidd-amd
merged 44 commits into
develop
from
users/davidd-amd/tensilelite-shared-p2-tensilelite
Jul 2, 2026
Merged
Changes from 41 commits
Commits
Show all changes
44 commits
Select commit
Hold shift + click to select a range
f11e7cc
[tensilelite] G1-G3+G5: tensilelite-host as a co-exported shared library
davidd-amd e5d0f9c
[tensilelite][hipsparselt] G6+G7: delete dead Tensile-fork glue; drop…
davidd-amd 938eefb
[tensilelite] G2/G5: co-export tensilelite-host library-only (headers…
davidd-amd 8cac881
[tensilelite][hipsparselt] fix the dedup for hipSPARSELt + SOVERSION …
davidd-amd df9bb76
[tensilelite] G2/G3: install curated TensileLite public-header FILE_S…
davidd-amd a67ddcf
[tensilelite] drop dead non-HIP DataTypes paths; stop leaking TENSILE…
davidd-amd a020fa9
[tensilelite] un-gate TENSILE_DEFAULT_SERIALIZATION; expose load API …
davidd-amd 7158843
[tensilelite] install the rocisa enum.hpp the public Tensile headers …
davidd-amd a39bf8f
[tensilelite] drop dead TENSILE_HIDDEN_BEGIN/END no-op macros
davidd-amd 6d8a4a3
[tensilelite] add public/private headers via a single target_sources …
davidd-amd 06319a2
[tensilelite] drop explanatory comments flagged in review
davidd-amd 18081a1
[tensilelite][hipblaslt][hipsparselt] keep origami out of the install…
davidd-amd 839a143
[tensilelite] stop installing the Tensile/* host headers; keep the li…
davidd-amd 9c6312c
[tensilelite] use the generated export macro directly; drop TENSILE_API
davidd-amd 9460d12
[origami] run interface header-set verification during the build
davidd-amd 7a94148
[hipblaslt] disable RocRoller for static builds so the export resolves
davidd-amd 2c3e51d
[hipblaslt] export RocRoller as a static lib instead of disabling it …
davidd-amd c1153f6
[tensilelite] export client-needed public-header symbols from tensile…
davidd-amd f229395
[tensilelite] add structured client diagnostics facility
davidd-amd 9ae357d
[tensilelite] mirror structured diagnostics in the python test harness
davidd-amd f3a9d04
[tensilelite] fix Windows dllexport error on TensorDescriptor operator<<
davidd-amd c695496
[tensilelite] stop the shared lib re-exporting static LLVM symbols
davidd-amd 51f9d51
[hipsparselt] EXCLUDE_FROM_ALL on the hipBLASLt subdirectory
davidd-amd 5c60cab
[tensilelite] add device-library codegen cmake modules (P3 G1/G2)
davidd-amd 952b504
[tensilelite] wire device-library codegen export (P3 G2/G3)
davidd-amd b6e10da
[tensilelite] install + co-export the public Tensile header surface (…
davidd-amd 7e00c78
[hipsparselt] consume hipBLASLt via find_package on TheRock (P3 G4, a…
davidd-amd 9848563
[tensilelite] restore tensilelite:: alias; drive type from BUILD_SHAR…
davidd-amd 38bff9c
[tensilelite] address CMake review: roc:: alias, simplify shared-libs…
davidd-amd 6e9632d
Merge remote-tracking branch 'origin/develop' into users/davidd-amd/t…
davidd-amd d9ccb2a
[tensilelite] export fileToMsgObject across the shared-lib boundary
davidd-amd 4273d91
[tensilelite][hipblaslt] keep origami out of the installed package su…
davidd-amd 28fa92e
[tensilelite] drop dead GlobalParameters keys from gfx950 multi-DU YAMLs
davidd-amd e5dad83
[tensilelite] gate tensilelite-host shared build behind TENSILELITE_B…
davidd-amd 48b0cb8
[hipsparselt] ship Tensile device library by gating embedded-dep inst…
davidd-amd 56929fa
[hipsparselt] drop redundant origami/stinkytofu install gating
davidd-amd c33c000
[tensilelite] fix joblib 'Set changed size during iteration' in logic…
davidd-amd d5a26ea
Merge branch 'develop' into users/davidd-amd/tensilelite-shared-p2-te…
davidd-amd 84f135b
[tensilelite] provision codegen Python a priori; keep the cmake expor…
davidd-amd 58c50c1
Merge remote-tracking branch 'origin/develop' into users/davidd-amd/t…
davidd-amd 22c59a1
[tensilelite] drop the structured client diagnostics facility from th…
davidd-amd e310076
[tensilelite][hipsparselt] address CMake review on codegen export & deps
davidd-amd 8a1552e
Merge branch 'develop' into users/davidd-amd/tensilelite-shared-p2-te…
davidd-amd 779092f
Merge branch 'develop' into users/davidd-amd/tensilelite-shared-p2-te…
davidd-amd File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,127 @@ | ||
| # Copyright Advanced Micro Devices, Inc., or its affiliates. | ||
| # SPDX-License-Identifier: MIT | ||
|
|
||
| include_guard(GLOBAL) | ||
|
|
||
| function(hipblaslt_create_device_library) | ||
| set(_opts "") | ||
| set(_one | ||
| TARGET LOGIC_PATH OUTPUT_DIR CXX_COMPILER OFFLOAD_BUNDLER JOBS LOGIC_FILTER | ||
| ASAN YAML_FORMAT NO_COMPRESS EXPERIMENTAL LAZY_LOAD ASM_COMMENTS KEEP_BUILD_TMP ASM_DEBUG) | ||
| set(_multi ARCHES) | ||
| cmake_parse_arguments(_cdl "${_opts}" "${_one}" "${_multi}" ${ARGN}) | ||
|
|
||
| if(_cdl_UNPARSED_ARGUMENTS) | ||
| message(FATAL_ERROR "hipblaslt_create_device_library: unexpected arguments: ${_cdl_UNPARSED_ARGUMENTS}") | ||
| endif() | ||
| if(NOT _cdl_LOGIC_PATH) | ||
| message(FATAL_ERROR "hipblaslt_create_device_library: LOGIC_PATH is required") | ||
| endif() | ||
| if(NOT _cdl_OUTPUT_DIR) | ||
| message(FATAL_ERROR "hipblaslt_create_device_library: OUTPUT_DIR is required") | ||
| endif() | ||
| if(NOT HIPBLASLT_PYTHON_COMMAND) | ||
| message(FATAL_ERROR "hipblaslt_create_device_library: HIPBLASLT_PYTHON_COMMAND is not set") | ||
| endif() | ||
| if(NOT HIPBLASLT_CODEGEN_ROOT) | ||
| message(FATAL_ERROR "hipblaslt_create_device_library: HIPBLASLT_CODEGEN_ROOT is not set") | ||
| endif() | ||
|
|
||
| if(NOT _cdl_TARGET) | ||
| set(_cdl_TARGET "tensilelite-device-libraries") | ||
| endif() | ||
| if(NOT _cdl_ARCHES) | ||
| set(_cdl_ARCHES ${GPU_TARGETS}) | ||
| endif() | ||
| if(NOT _cdl_ARCHES) | ||
| message(FATAL_ERROR "hipblaslt_create_device_library: no ARCHES given and GPU_TARGETS is empty") | ||
| endif() | ||
| if(NOT _cdl_CXX_COMPILER) | ||
| set(_cdl_CXX_COMPILER "${CMAKE_CXX_COMPILER}") | ||
| endif() | ||
| if(NOT DEFINED _cdl_LAZY_LOAD) | ||
| set(_cdl_LAZY_LOAD ON) | ||
| endif() | ||
|
|
||
| file(MAKE_DIRECTORY "${_cdl_OUTPUT_DIR}/library") | ||
|
|
||
| list(JOIN _cdl_ARCHES "$<SEMICOLON>" _arches_semi) | ||
| set(_opts_list "--architecture=${_arches_semi}" "--cxx-compiler=${_cdl_CXX_COMPILER}") | ||
| if(_cdl_OFFLOAD_BUNDLER) | ||
| list(APPEND _opts_list "--offload-bundler=${_cdl_OFFLOAD_BUNDLER}") | ||
| endif() | ||
| if(_cdl_ASAN) | ||
| list(APPEND _opts_list "--address-sanitizer") | ||
| endif() | ||
| if(_cdl_JOBS) | ||
| list(APPEND _opts_list "--jobs=${_cdl_JOBS}") | ||
| endif() | ||
| if(_cdl_KEEP_BUILD_TMP) | ||
| list(APPEND _opts_list "--keep-build-tmp") | ||
| endif() | ||
| if(_cdl_ASM_DEBUG) | ||
| list(APPEND _opts_list "--asm-debug") | ||
| endif() | ||
| if(_cdl_YAML_FORMAT) | ||
| list(APPEND _opts_list "--library-format=yaml") | ||
| endif() | ||
| if(_cdl_LOGIC_FILTER) | ||
| list(APPEND _opts_list "--logic-filter=${_cdl_LOGIC_FILTER}") | ||
| endif() | ||
| if(_cdl_NO_COMPRESS) | ||
| list(APPEND _opts_list "--no-compress") | ||
| endif() | ||
| if(_cdl_EXPERIMENTAL) | ||
| list(APPEND _opts_list "--experimental") | ||
| endif() | ||
| if(NOT _cdl_LAZY_LOAD) | ||
| list(APPEND _opts_list "--no-lazy-library-loading") | ||
| endif() | ||
| if(NOT _cdl_ASM_COMMENTS) | ||
| list(APPEND _opts_list "--disable-asm-comments") | ||
| endif() | ||
|
|
||
| set(_known_bugs "${HIPBLASLT_CODEGEN_ROOT}/Tensile/TensileLogic/known_bugs.yaml") | ||
| set(_logic_stamp "${CMAKE_CURRENT_BINARY_DIR}/${_cdl_TARGET}-TensileLogic.stamp") | ||
| add_custom_command( | ||
| OUTPUT "${_logic_stamp}" | ||
| COMMENT "Validating library logic (TensileLogic --check-all) for ${_cdl_TARGET} ..." | ||
| COMMAND ${HIPBLASLT_PYTHON_COMMAND} | ||
| "${HIPBLASLT_CODEGEN_ROOT}/Tensile/bin/TensileLogic" | ||
| "${_cdl_LOGIC_PATH}" | ||
| --known-bugs | ||
| "${_known_bugs}" | ||
| --check-all | ||
| COMMAND ${CMAKE_COMMAND} -E touch "${_logic_stamp}" | ||
| DEPENDS ${HIPBLASLT_PYTHON_DEPS} "${_known_bugs}" | ||
| VERBATIM | ||
| USES_TERMINAL | ||
| ) | ||
|
|
||
| set(_output_stamp "${CMAKE_CURRENT_BINARY_DIR}/${_cdl_TARGET}.stamp") | ||
| set(_tcl_command | ||
| ${HIPBLASLT_PYTHON_COMMAND} -m Tensile.TensileCreateLibrary | ||
| ${_opts_list} | ||
| "${_cdl_LOGIC_PATH}" | ||
| "${_cdl_OUTPUT_DIR}" | ||
| HIP | ||
| ) | ||
| add_custom_command( | ||
| OUTPUT "${_output_stamp}" | ||
| COMMENT "Building device libraries to ${_cdl_OUTPUT_DIR} ..." | ||
| COMMAND ${_tcl_command} | ||
| COMMAND ${CMAKE_COMMAND} -E touch "${_output_stamp}" | ||
| DEPENDS ${HIPBLASLT_PYTHON_DEPS} "${_logic_stamp}" | ||
| VERBATIM | ||
| USES_TERMINAL | ||
| ) | ||
|
|
||
| block(SCOPE_FOR VARIABLES) | ||
| list(JOIN _tcl_command " " _formatted_tcl) | ||
| message(STATUS "Device lib build command (${_cdl_TARGET}): ${_formatted_tcl}") | ||
| endblock() | ||
|
|
||
| add_custom_target(${_cdl_TARGET} ALL | ||
| DEPENDS "${_output_stamp}" | ||
| ) | ||
| endfunction() |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.
Oops, something went wrong.
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Uh oh!
There was an error while loading. Please reload this page.