LLAMA.CPP ROCM Vulkan support

#1
by GCBQDevTeam - opened

Is it possible to use this with ROCm or Vulkan llama.cpp? Or is it CUDA only?

AngelSlim org
edited 1 day ago

Is it possible to use this with ROCm or Vulkan llama.cpp? Or is it CUDA only?

Our patch isn't backend-specific, so in theory it should run on all backend llama.cpp supports. That said, we haven't actually tested it on ROCm/Vulkan ourselves — if anyone in the community is interested, we'd welcome you giving it a try and sharing feedback!

Let me try.

ROCm can work, but it seems you can't use the latest llama.cpp. I checked the latest code—theoretically it supports hyv3, but the official gguf file fails to load with a tensor error. So I used git to check out this commit: 19bba67c1f4db723c60a0d421aa0788bf4ddc699, merged the official patch, and then it worked.

On my Strix Halo machine, the token speed is around 14 tokens per second.

image

image

AngelSlim org

ROCm can work, but it seems you can't use the latest llama.cpp. I checked the latest code—theoretically it supports hyv3, but the official gguf file fails to load with a tensor error. So I used git to check out this commit: 19bba67c1f4db723c60a0d421aa0788bf4ddc699, merged the official patch, and then it worked.

On my Strix Halo machine, the token speed is around 14 tokens per second.

image

image

Thanks for your work! Happy to confirm our patch still work for other backend. As for codebase, yes, you should checkout to the specific commit and apply our patch since hy_v3 arch has not been merged to upstream now.

ROCm can work, but it seems you can't use the latest llama.cpp. I checked the latest code—theoretically it supports hyv3, but the official gguf file fails to load with a tensor error. So I used git to check out this commit: 19bba67c1f4db723c60a0d421aa0788bf4ddc699, merged the official patch, and then it worked.

On my Strix Halo machine, the token speed is around 14 tokens per second.

image

image

Yeah, vanilla llama doesn't seem to work on Strix Halo with image kyuz0/amd-strix-halo-toolboxes:vulkan-radv (latest):

[39967] 0.00.483.411 W load: special_eos_id is not in special_eog_ids - the tokenizer config may be incorrect
[39967] 0.00.528.893 E llama_model_load: error loading model: done_getting_tensors: wrong number of tensors; expected 1278, got 1199
[39967] 0.00.528.901 E llama_model_load_from_file_impl: failed to load model
[39967] 0.00.528.907 E cmn  common_init_: failed to load model '/my-models2/Hy3-GGUF/Hy3-IQ1_M.gguf'
[39967] 0.00.528.912 E srv    load_model: failed to load model, '/my-models2/Hy3-GGUF/Hy3-IQ1_M.gguf'
[39967] 0.00.529.278 E srv  llama_server: exiting due to model loading error

https://github.com/ggml-org/llama.cpp/pulls?q=is%3Apr+hy3+is%3Aclosed ----is hy3 is officially supported on llama cpp now?? no need of new patches ???

AngelSlim org

https://github.com/ggml-org/llama.cpp/pulls?q=is%3Apr+hy3+is%3Aclosed ----is hy3 is officially supported on llama cpp now?? no need of new patches ???

Thanks for sharing! Will reconvert the GGUF files using the upstream code and simplify the usage instructions soon.

Sign up or log in to comment