Conversation
|
I'm unable to get Also, CI now checks that nix files are formatted with |
Sorry, I originally was on a newer master but actually cherry packed back to a few weeks ago, so I could point my system flakes at this to try with gcc.arch set (without 3 days of compiling everything under this). I can reformat if that is best. I generally prefer not to reformat lines I'm not changing to keep the git blame simpler, and it seems like this was not formatted in the past. I do have nixfmt set up. Are you able to run with strace in case it's a lib issue? I didn't have to change anything for cuda to work, but certainly the build system changed pretty dramatically. |
4bc1136 to
eba03ab
Compare
|
Debugging a little more, when I build with rocm acceleration, the cmake variable Can you try again with this update? |
40c0eb0 to
52d4d8a
Compare
aa9bfc0 to
cc7a2bc
Compare
Upstream overhauled their build system. For nixpkgs, this means cmake instead of make to compile the ggml libs. Added two new package inputs, `cudaArches` and `rocmGpuTargets` for more configurability when overriding. Co-Authored-By: Pavol Rusnak <[email protected]>
cc7a2bc to
2186263
Compare
|
I have simplified the changes somehow in 2186263:
I also tested that everything compiles just nice on all 4 platforms: linux-x86_64 linux-aarch64 darwin-x86_64 darwin-aarch64 I will now compile cuda and rocm on linux-x86_64 and merge if everything is OK Thank you! |
It looks like the crossPkgs build has broken with the removed |
I don't think it is worth complicating this package with cross compilation. Natively the package builds fine. |
The proper thing to do (if we ever wanted cross compilation in the future) would be to leverage |
|
cuda and rocm builds went fine - merging |
Upstream overhauled their build system. For nixpkgs, this means cmake instead of make to compile the ggml libs.
This update should mean major performance improvements to those running with CPU-only, as upstream now supports CPU generation specific optimized ggml libs.
I have built this with and without cuda and both are working on my end. I can't test with ROCM.
I also want to note here that setting
gcc.archbreaks this build. But that is not new. This is because of a nvcc / gcc incompatability bug. Below are some context links I want to combine here just to make it easier for myself to find in the future. When setting-march, only a single function call in an init function is holding onto this bug. The rest have been avoided by the llama.cpp team. I can patch that out with an alternative, and the builds do get fixed with, on my system, around a 3% performance gain. However, something else is going on and some model architectures produce completely gibberish output. I can't seem to fix that. Nvidia claims new version of the toolkit add support for the required gcc builtins, but I tried 12.6 and 12.8 and the issue still exists. Ubuntu appears to patch the gccamximmintrin.hfile as suggested in the Nvidia forums, as when I check with gcc version>= 13.2they still have the old header.Things done
nix.conf? (See Nix manual)sandbox = relaxedsandbox = truenix-shell -p nixpkgs-review --run "nixpkgs-review rev HEAD". Note: all changes have to be committed, also see nixpkgs-review usage./result/bin/)Add a 👍 reaction to pull requests you find important.