Repository navigation
[hipblaslt] Adjust HIPBLASLT_TENSILE_LIBRARY_DIR on Windows. - #522
Conversation
Splitting the structure leads to further complexity in all downstream projects and tooling. This also gets hipblaslt tests passing on Windows.
davidd-amd
left a comment
There was a problem hiding this comment.
We will need to reboot tests
Yep. @geomin12 the "TheRock CI" workflows were skipped, so required checks there won't be satisfied until that part of #479 is resolved. We should also get hipblaslt and other subprojects added to here: rocm-libraries/.github/scripts/therock_matrix.py Lines 1 to 16 in dc76f81 Not sure about the "mci/rocm-libraries/" workflow, at least from a public developer perspective... I can look at the details and ask around internally with my AMD account though. |
I followed the link and clicked "rebuild". |
yes, I plan on adding those cmake config fairly soon and getting those workflows updated |
| # Put files used at runtime adjacent to '.dll's and '.exe's in bin/. | ||
| set( HIPBLASLT_TENSILE_LIBRARY_DIR "\${CPACK_PACKAGING_INSTALL_PREFIX}${CMAKE_INSTALL_BINDIR}/hipblaslt" CACHE PATH "path to tensile library" ) | ||
| else() | ||
| # Put files used at runtime adjacent to shared libraries ('.so') in | ||
| # lib/, separate from executables (no extension) in bin/. | ||
| set( HIPBLASLT_TENSILE_LIBRARY_DIR "\${CPACK_PACKAGING_INSTALL_PREFIX}${CMAKE_INSTALL_LIBDIR}/hipblaslt" CACHE PATH "path to tensile library" ) |
There was a problem hiding this comment.
Looks good to me if your windows tests pass.
You could fix the string "path to tensile library" to be "path to tensileLite library" (or whatever name should be the standard naming for tensile lite) but that is fine to clarify in separate PR as widespread documentation needs to be changed to avoid confusion. We shouldn't have two different libraries both referred to as tensile.
Would have been nice to have the math-CI windows pipelines running as well as a reference point, as PRs were made by multiple groups but never merged.
There was a problem hiding this comment.
@ellosel (or other hipblaslt developers) any recommendations for names to use or other text to include in these comments?
There was a problem hiding this comment.
Also yes, we'll get all the relevant CI pipelines hooked up so these sorts of changes can be tested by automation.
I'm juggling a bunch of patches but once I land them all I think we'll have CI-produced PyTorch wheels on Windows that can pass sanity checks. I built with all my patches except this one today and got this far:
>>> import torch
>>> batch_matrix1 = torch.ones(10, 2, 3, device="cuda")
>>> batch_matrix2 = torch.ones(10, 3, 4, device="cuda")
>>> result = torch.bmm(batch_matrix1, batch_matrix2)
rocBLAS error: Cannot read D:\projects\TheRock\external-builds\pytorch\.venv\Lib\site-packages\_rocm_sdk_libraries_gfx110X_dgpu\bin\/rocblas/library/TensileLibrary.dat: No such file or directory for GPU arch : gfx1100
List of available TensileLibrary Files :
rocBLAS error: Could not initialize Tensile host:
directory_iterator::directory_iterator: The system cannot find the path specified.: "D:\projects\TheRock\external-builds\pytorch\.venv\Lib\site-packages\_rocm_sdk_libraries_gfx110X_dgpu\bin\/rocblas/library"Once the patches are landed and some remaining CI pipelines are wired up we'll have those sorts of PyTorch tests running on ~every commit, for both Linux and Windows.
Tentative fix for #681. Related to #792. Also enabled hipBLASLt tests on our Windows CI, so progress on #544. This brings the hipBLASLt Tensile library directory structure in line with what rocBLAS uses on Windows. I've started sending upstream patches for review too: * ROCm/rocm-libraries#522 * (abandoned?) ROCm/rocm-libraries#523
…tensile-windows-library-dir-1
|
All workflow runs completed. Can someone from CODEOWNERS please review this? |
|
Ping? Still waiting on a code owner review. |
stellaraccident
left a comment
There was a problem hiding this comment.
Fine for now. In the future, we want consistent directory layouts for kernel libraries across the operating systems (i.e. kernel libraries in bin is a bug). But fine to make this consistent for the moment.
[hipblaslt] Adjust HIPBLASLT_TENSILE_LIBRARY_DIR on Windows. (#522) This gets hipBLASLt tests passing on Windows in TheRock (see ROCm/TheRock#783), for ROCm/TheRock#681. It also enables PyTorch builds on Windows to use hipBLASLt without needing to manually copy folders around in the install directory. This directory structure is now consistent with rocBLAS: https://github.com/ROCm/rocm-libraries/blob/c7fe831061a4cdc3a14e1aacab8c0738c21daf32/projects/rocblas/library/src/CMakeLists.txt#L825-L830
Bumps [rocm-docs-core](https://github.com/ROCm/rocm-docs-core) from 1.7.2 to 1.8.0. - [Release notes](https://github.com/ROCm/rocm-docs-core/releases) - [Changelog](https://github.com/ROCm/rocm-docs-core/blob/develop/CHANGELOG.md) - [Commits](ROCm/rocm-docs-core@v1.7.2...v1.8.0) --- updated-dependencies: - dependency-name: rocm-docs-core dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> [ROCm/hipSPARSE commit: 9e2262e]
Update target filtering for mma
Update target filtering for mma [ROCm/rocwmma commit: 3449fb4]
Bumps [rocm-docs-core](https://github.com/ROCm/rocm-docs-core) from 1.15.0 to 1.17.0. - [Release notes](https://github.com/ROCm/rocm-docs-core/releases) - [Changelog](https://github.com/ROCm/rocm-docs-core/blob/develop/CHANGELOG.md) - [Commits](ROCm/rocm-docs-core@v1.15.0...v1.17.0) --- updated-dependencies: - dependency-name: rocm-docs-core dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> [ROCm/rocThrust commit: bcf8583]
Bumps [rocm-docs-core](https://github.com/ROCm/rocm-docs-core) from 1.15.0 to 1.17.0. - [Release notes](https://github.com/ROCm/rocm-docs-core/releases) - [Changelog](https://github.com/ROCm/rocm-docs-core/blob/develop/CHANGELOG.md) - [Commits](ROCm/rocm-docs-core@v1.15.0...v1.17.0) --- updated-dependencies: - dependency-name: rocm-docs-core dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> [ROCm/rocThrust commit: bcf8583]
This gets hipBLASLt tests passing on Windows in TheRock (see ROCm/TheRock#783), for ROCm/TheRock#681. It also enables PyTorch builds on Windows to use hipBLASLt without needing to manually copy folders around in the install directory.
This directory structure is now consistent with rocBLAS:
rocm-libraries/projects/rocblas/library/src/CMakeLists.txt
Lines 825 to 830 in c7fe831