Add CI targets for ROCm 7.14 - #25775
Conversation
|
CC @IMbackK as well from previous reviews. |
|
yeah with 7.14 this is now the right thing to do. ill review this sunday |
|
If I am reading this correctly, the Windows cache is ~4GB: https://github.com/superm1/llama.cpp/actions/runs/29467499221/job/87532475193#step:23:18 This is too big to be cached. |
Great catch. I'm pretty sure I see the problem. When I copy-pasta'ed from the documentation I accidentally got the device libraries (which aren't need for build): I did not make that mistake on Ubuntu build. I'll adjust and this should sort it out. |
9122605 to
61cbc9c
Compare
|
To avoid the cache on the 4GB binary on my fork I had to rename the key. |
IMbackK
left a comment
There was a problem hiding this comment.
As we have problems with ci congestion we probubly dont want to build for both 7.14 and 7.2.
7.14 also includes support for gfx90c and gfx900 which we thus do want to build for.
7eced8f to
fc237f0
Compare
|
I've updated it, thanks. Here are the new job outputs. https://github.com/superm1/llama.cpp/actions/runs/29753928301 |
|
7.14 also includes support for |
53b2c54 to
23eafcd
Compare
|
afaik even though they build the gfx9 targets for windows, none of those can possibly work, as the kernel driver dosent support them, so we should also avoid building those objects. |
I've added this. I was also missing 1153. FWIW In a similar PR to another ggml project it was noted that we should be using a pin with pip so that this doesn't move with the next ROCm release. Now I'm using: |
OK, I'll adjust. |
380cf93 to
8df3f3d
Compare
|
Here are the jobs with those changes for review: https://github.com/superm1/llama.cpp/actions/runs/30030488460/job/89285913179 |
|
Great ill take a look at the binaries the weekend |
|
I've noticed performance downgrade on gfx1201 when switching from 7.2.4 to 7.14. Edit. using a custom/updated rocm.Dockerfile llama.cpp: (tag: b10184) Kernel: Linux 7.1.3+deb14-amd64 ROCm 7.2.4
ROCm 7.14
split-mode: none (single-GPU)
ROCm 7.14
|
Can you please qualify that? Was it the exact same llama.cpp build? How is it measured and how much of a drop? |
b10184
My benchmarks show consistently 1% to 3% drop in tokens/s in prompt processing. The token generation is not affected. I've also tested Ubuntu 24.04 (the base image used in 7.2.4) with ROCm 7.14 and it got even worse. I will try to publish the Dockerfile. |
5db6a19 to
78ae4a9
Compare
ROCm 7.14 is the first production release using TheRock build system. It can be installed using multi-arch deliverables from wheels, debs, rpms, tarballs or runfiles. Adjust ROCm targets for Linux and Windows to use this instead.
Move the shared windows-setup-rocm composite action from the HIP SDK PRO Edition installer to the multi-arch ROCm wheels (rocm[libraries,devel]). The wheel-install logic that previously lived inline in release.yml is now in the shared action, and both build-cache.yml and release.yml call it. Also migrate the build-cuda-windows.yml hip job to the same wheel-based layout (cache path/key, rocm-sdk environment setup, llvm/bin compiler paths) so it keeps working after the action's contract changed; drop its now-unused ROCm 7.2.1 rocWMMA download and stale include path.
|
@superm1 Can you cancel all the old |
|
Yup; just did. Looks like the one I changed for Windows passed now too. https://github.com/superm1/llama.cpp/actions/runs/31397302547/job/93503759627 |
|
Lost my ROCm0 device in any version since this released as b10356 (Windows 10). |
What version of ROCm are you using? Is it in PATH? |
Never mind...AMD's 7.14 install guide bricked my system path. |
|
I guess never mind my never mind as it now finds the device but fails to get memory. |
|
I've been having an issue for a while now where newer ROCm releases refuse to touch VRAM and insist on slowly streaming from system RAM. Only thing left for me to really try is fully wiping my system and starting fresh, which I would prefer to not have to do. |
This sounds like the behavior of having a system-wide hip dll |
Thanks for pointing me in the right direction. Looks like I have all of the HIP related env vars/paths set from AMD's ROCm 7.14 install guide, so I'm not sure what's wrong. |
* Switch ROCm from 7.2.1 to 7.14 ROCm 7.14 is the first production release using TheRock build system. It can be installed using multi-arch deliverables from wheels, debs, rpms, tarballs or runfiles. Adjust ROCm targets for Linux and Windows to use this instead. * ci: switch all other Windows ROCm jobs to ROCm 7.14 wheels Move the shared windows-setup-rocm composite action from the HIP SDK PRO Edition installer to the multi-arch ROCm wheels (rocm[libraries,devel]). The wheel-install logic that previously lived inline in release.yml is now in the shared action, and both build-cache.yml and release.yml call it. Also migrate the build-cuda-windows.yml hip job to the same wheel-based layout (cache path/key, rocm-sdk environment setup, llvm/bin compiler paths) so it keeps working after the action's contract changed; drop its now-unused ROCm 7.2.1 rocWMMA download and stale include path.
* Switch ROCm from 7.2.1 to 7.14 ROCm 7.14 is the first production release using TheRock build system. It can be installed using multi-arch deliverables from wheels, debs, rpms, tarballs or runfiles. Adjust ROCm targets for Linux and Windows to use this instead. * ci: switch all other Windows ROCm jobs to ROCm 7.14 wheels Move the shared windows-setup-rocm composite action from the HIP SDK PRO Edition installer to the multi-arch ROCm wheels (rocm[libraries,devel]). The wheel-install logic that previously lived inline in release.yml is now in the shared action, and both build-cache.yml and release.yml call it. Also migrate the build-cuda-windows.yml hip job to the same wheel-based layout (cache path/key, rocm-sdk environment setup, llvm/bin compiler paths) so it keeps working after the action's contract changed; drop its now-unused ROCm 7.2.1 rocWMMA download and stale include path.
Overview
ROCm 7.14 is the first production release using TheRock build system. It can be installed using multi-arch deliverables from wheels, debs, rpms, tarballs or runfiles.
Add llama.cpp targets for both Linux and Windows to allow usage.
Additional information
https://rocm.blogs.amd.com/ecosystems-and-partners/rocm-7.14-blog/README.html
https://rocm.docs.amd.com/en/latest/
Here are CI runs for the new Linux and Windows targets
Requirements
I manually created these changes based upon the previous targets.
CC @CISC