-
Notifications
You must be signed in to change notification settings - Fork 19
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
Kernel Storage V2 #50
Conversation
80e621b
to
e16f0f0
Compare
43f5f33
to
1ff178e
Compare
e16f0f0
to
12373b7
Compare
1ff178e
to
801842e
Compare
12373b7
to
594af28
Compare
801842e
to
93299bd
Compare
- ROCm/aotriton#50 - upstream repository versions used without modifications: aotriton: https://github.com/ROCm/aotriton.git 93299bd xinyazhang/storagev2 aotriton submodules thirdparty/triton https://github.com/ROCm/triton.git c69fa304e0ba07944376ff5e7da175f32c276d85 origin/aotriton/0.8 thirdparty/pypind11 https://github.com/pybind/pybind11.git tag v2.11.1 8a099e44b3d5f85b20f05828d919d2332a8de841 thirdparty/incbin https://github.com/graphitemaster/incbin.git 6e576cae5ab5810f25e2631f2e0b80cbe7dc8cb original files removed ====================== rm -rf aotriton/.gitmodules aotriton/.git aotriton/third_party/incbin/.git aotriton/third_party/triton/.git aotriton/third_party/pybind11/.git commands used to add all of the required files to rocmsdk aotrition =================================================================== git add -A git add -f third_party/pybind11/docs/Makefile git add -f third_party/triton/.github/workflows/llvm-build/almalinux.Dockerfile git add -f third_party/triton/.github/workflows/llvm-build/centos.Dockerfile git add -f third_party/triton/docs/getting-started/tutorials/grouped_vs_row_major_ordering.png git add -f third_party/triton/docs/getting-started/tutorials/parallel_reduction.png git add -f third_party/triton/docs/getting-started/tutorials/random_bits.png git add -f third_party/triton/python/triton/backends/__init__.py git add -f third_party/triton/python/triton/backends/compiler.py git add -f third_party/triton/python/triton/backends/driver.py Signed-off-by: Mika Laitio <lamikr@gmail.com>
- ROCm/aotriton#50 - upstream repository versions used without modifications: aotriton: https://github.com/ROCm/aotriton.git 93299bd xinyazhang/storagev2 aotriton submodules thirdparty/triton https://github.com/ROCm/triton.git c69fa304e0ba07944376ff5e7da175f32c276d85 origin/aotriton/0.8 thirdparty/pypind11 https://github.com/pybind/pybind11.git tag v2.11.1 8a099e44b3d5f85b20f05828d919d2332a8de841 thirdparty/incbin https://github.com/graphitemaster/incbin.git 6e576cae5ab5810f25e2631f2e0b80cbe7dc8cb original files removed ====================== rm -rf aotriton/.gitmodules aotriton/.git aotriton/third_party/incbin/.git aotriton/third_party/triton/.git aotriton/third_party/pybind11/.git commands used to add all of the required files to rocmsdk aotrition =================================================================== git add -A git add -f third_party/pybind11/docs/Makefile git add -f third_party/triton/.github/workflows/llvm-build/almalinux.Dockerfile git add -f third_party/triton/.github/workflows/llvm-build/centos.Dockerfile git add -f third_party/triton/docs/getting-started/tutorials/grouped_vs_row_major_ordering.png git add -f third_party/triton/docs/getting-started/tutorials/parallel_reduction.png git add -f third_party/triton/docs/getting-started/tutorials/random_bits.png git add -f third_party/triton/python/triton/backends/__init__.py git add -f third_party/triton/python/triton/backends/compiler.py git add -f third_party/triton/python/triton/backends/driver.py Signed-off-by: Mika Laitio <lamikr@gmail.com>
generate_compile writes necessary information of Kernel Storage V2 to Bare.cluster with this option.
1. Replace ZSTD with LZMA 2. Assume compression and remove code path without compression 3. Call v2python.archive_for_kernel_storage_v2 for the packing kernels.
Unable to test these code right now. Need to implement Tool v2python.archive_for_kernel_storage_v2 first.
This allows building C++ part without re-building GPU kernels.
liblzma is needed instead of libzstd right now. (Notably the header file, the library itself is shipped with Python)
93299bd
to
0dc5705
Compare
@ethanwee1 to help with testing of building AOTriton using this PR with and without |
New Triton needs this apparently.
Changes for this PR tested using PR 51: #51 (comment) |
Tested with these commands to build Commands:
Output: |
@ethanwee1 This doesn't look right. The tarball size and txt file indicate that kernel images are still being built. Either your experiement was faulty or the AOTRITON_NOIMAGE_MODE logic is faulty. @xinyazhang, thoughts? |
I think you need to download the log for review since it's rather large and likely get truncated if viewing with a browser. The trailing The size is right. I only specified two architectures and 100MB is about the right size for 2 arches under Kernel Storage V2. (However non-square causal masks added some more kernels and two arches ~= 130MB when releasing 0.8b) |
|
Just to resolve the confusion here, I was referring to Ethan's initial numbers for the |
The Kernel Storage V2 achieves the following goals
Major changes:
aotriton.images/<vendor>-<arch>/<kernel_family>/<kernel_name>/FONLY__<functionals>___<GPU>.aks2'
<GPU>
can be a family of GPUs, e.g.,MI300X/MI300A/MI325X
AKS2
file format to compress GPU kernels with LZMA. Reduce the total package down to 200MB (MI200/300/Navi31).so
file (achieved throughdladdr
)cmake
optionAOTRITON_NOIMAGE_MODE
toON
Minor changes:
aks2.py
tool is added to createAKS2
file.Assertion `(!LeaveBefore || Idx <= LeaveBefore) && "Interference"' failed