[Origami] Reapply the origami refactor with fixes#3452
Conversation
|
In the future, please avoid this style of omnibus PR. It is fine to have a big PR that touches many LOC, but the bigger the PR, the more focused it should be on one concern (ie. Api changes, test framework changes, code refactor, functional changes). If you have the git skills, you can prepare a curated stack of commits for rebase merge, but typically if a dev is having trouble managing PR scope anyway, they lack the skills for a more advanced workflow. So I only recommend that if you have a solid process and experience. Thank you for the additional PR details, although it is still pretty light (typical of such an omnibus PR). What was the fix to the original issue? |
I'll work on adding more details.
@stellaraccident It was an ODR violation fixed in this commit: 093e67f, there were two static data members that were inside the .cpp file. There were multiple libraries that included the .hpp file and compiled the .cpp file. Each shared library emitted its own definition of static member causing the ODR violation. At program termination the destructor then was called twice, once per shared object. |
So trivially would have been caught by enabling host ASAN. Did valgrind catch it? You guys do know that you have the knobs to be enabling asan in your dev and CI flows, right? |
|
They were enabled months ago and David knows. But no one prioritizing work on the blas team is allocating time for quality improvements. |
|
I did run an asan build locally, but it didn't actually show any issues. valgrind did actually show a small memory leak, but did not catch the actual issue either. |
* update grouped_gemm blockwise kernel * update config * update kernel * update examples * remove test code for now * sync test files with origin/develop * update example * fix code lint * fix code-lint * update test code * run clang format * run pre-commit * update api
* update grouped_gemm blockwise kernel * update config * update kernel * update examples * remove test code for now * sync test files with origin/develop * update example * fix code lint * fix code-lint * update test code * run clang format * run pre-commit * update api [ROCm/composable_kernel commit: 76696ac]
Testing Plan
PRs History
Technical Details
Refactor
types.hpp, consolidates various origami types.types.hpp; data types (seehardware.hppfor what needs to be moved)latencyout ofconfig_tPython APIs & Unit Tests
Testing Infrastructure
Questions
Motivation
This PR reapplies Origami project's refactor.
Submission Checklist
Work Moved to Future PRs