From f33b651fe9ba37d001df5e2b8ae90c4366852ced Mon Sep 17 00:00:00 2001 From: ruvnet Date: Thu, 18 Jun 2026 14:05:56 -0400 Subject: [PATCH] build(ruvllm): upgrade to candle 0.9 + cudarc 0.19 (CUDA 13.0 native support) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit candle 0.9.x uses cudarc 0.19.x which supports CUDA 13.0 natively (RTX 5080 / SM 12.0). No more CUDA_HOME=/usr/local/cuda-12.8 workaround required for --features candle,cuda. New capabilities from candle 0.9 (future use): - Tensor::const_set / zero_set / one_set — in-place writes for KV cache - CudaContext::new_stream — explicit stream management - CudaGraph — for CUDA Graph capture (ADR-258 medium-term) fused-act cudarc dep remains at 0.13 (act_kernel.rs uses the 0.13 tuple-based launch API; the two cudarc versions coexist since the staging-buffer path uses its own separate device context). All 1582 tests pass. Co-Authored-By: claude-flow --- Cargo.lock | 473 ++++++++++++++++++++++++++++++++------- crates/ruvllm/Cargo.toml | 13 +- 2 files changed, 398 insertions(+), 88 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index b480b0b34..400489314 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -219,7 +219,7 @@ version = "1.1.5" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "40c48f72fd53cd289104fc64099abca73db4166ad86ea0b4341abe65af83dadc" dependencies = [ - "windows-sys 0.60.2", + "windows-sys 0.61.2", ] [[package]] @@ -230,7 +230,7 @@ checksum = "291e6a250ff86cd4a820112fb8898808a366d8f9f58ce16d1f538353ad55747d" dependencies = [ "anstyle", "once_cell_polyfill", - "windows-sys 0.60.2", + "windows-sys 0.61.2", ] [[package]] @@ -998,45 +998,71 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "06ccf5ee3532e66868516d9b315f73aec9f34ea1a37ae98514534d458915dbf1" dependencies = [ "byteorder", - "candle-kernels", - "candle-metal-kernels", - "cudarc", "gemm 0.17.1", "half", "memmap2", - "metal 0.27.0", "num-traits", "num_cpus", "rand 0.9.2", "rand_distr 0.5.1", "rayon", - "safetensors", + "safetensors 0.4.5", "thiserror 1.0.69", - "ug", - "ug-cuda", - "ug-metal", + "ug 0.1.0", "yoke 0.7.5", "zip 1.1.4", ] [[package]] -name = "candle-kernels" -version = "0.8.4" +name = "candle-core" +version = "0.9.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a10885bd902fad1b8518ba2b22369aaed88a3d94e123533ad3ca73db33b1c8ca" +checksum = "c15b675b80d994b2eadb20a4bbe434eabeb454eac3ee5e2b4cf6f147ee9be091" +dependencies = [ + "byteorder", + "candle-kernels", + "candle-metal-kernels", + "candle-ug", + "cudarc 0.19.7", + "float8 0.6.1", + "gemm 0.19.0", + "half", + "libm", + "memmap2", + "num-traits", + "num_cpus", + "objc2-foundation", + "objc2-metal", + "rand 0.9.2", + "rand_distr 0.5.1", + "rayon", + "safetensors 0.7.0", + "thiserror 2.0.18", + "yoke 0.8.2", + "zip 7.2.0", +] + +[[package]] +name = "candle-kernels" +version = "0.9.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b8455f84bd810047c7c41216683c1020c915a9f8a740b3b0eabdd4fb2fbaa660" dependencies = [ "bindgen_cuda", ] [[package]] name = "candle-metal-kernels" -version = "0.8.4" +version = "0.9.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "52c85c21827c28db94e7112e364abe7e0cf8d2b022c014edf08642be6b94f21e" +checksum = "2fdfe9d06de16ce49961e49084e5b79a75a9bdf157246e7c7b6328e87a7aa25d" dependencies = [ - "metal 0.27.0", + "half", + "objc2", + "objc2-foundation", + "objc2-metal", "once_cell", - "thiserror 1.0.69", + "thiserror 2.0.18", "tracing", ] @@ -1046,17 +1072,33 @@ version = "0.8.4" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "be1160c3b63f47d40d91110a3e1e1e566ae38edddbbf492a60b40ffc3bc1ff38" dependencies = [ - "candle-core", - "candle-metal-kernels", + "candle-core 0.8.4", "half", - "metal 0.27.0", "num-traits", "rayon", - "safetensors", + "safetensors 0.4.5", "serde", "thiserror 1.0.69", ] +[[package]] +name = "candle-nn" +version = "0.9.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3045fa9e7aef8567d209a27d56b692f60b96f4d0569f4c3011f8ca6715c65e03" +dependencies = [ + "candle-core 0.9.2", + "candle-metal-kernels", + "half", + "libc", + "num-traits", + "objc2-metal", + "rayon", + "safetensors 0.7.0", + "serde", + "thiserror 2.0.18", +] + [[package]] name = "candle-transformers" version = "0.8.4" @@ -1064,9 +1106,9 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "94a0900d49f8605e0e7e6693a1f560e6271279de98e5fa369e7abf3aac245020" dependencies = [ "byteorder", - "candle-core", - "candle-nn", - "fancy-regex", + "candle-core 0.8.4", + "candle-nn 0.8.4", + "fancy-regex 0.13.0", "num-traits", "rand 0.9.2", "rayon", @@ -1076,6 +1118,36 @@ dependencies = [ "tracing", ] +[[package]] +name = "candle-transformers" +version = "0.9.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b538ec4aa807c416a2ddd3621044888f188827862e2a6fcacba4738e89795d01" +dependencies = [ + "byteorder", + "candle-core 0.9.2", + "candle-nn 0.9.2", + "fancy-regex 0.17.0", + "num-traits", + "rand 0.9.2", + "rayon", + "serde", + "serde_json", + "serde_plain", + "tracing", +] + +[[package]] +name = "candle-ug" +version = "0.9.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c22d62be69068bf58987a45f690612739d8d2ea1bf508c1b87dc6815a019575d" +dependencies = [ + "ug 0.5.0", + "ug-cuda", + "ug-metal", +] + [[package]] name = "cargo-husky" version = "1.5.0" @@ -1401,7 +1473,7 @@ version = "3.1.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "faf9468729b8cbcea668e36183cb69d317348c2e08e994829fb56ebfdfbaac34" dependencies = [ - "windows-sys 0.48.0", + "windows-sys 0.61.2", ] [[package]] @@ -1924,11 +1996,31 @@ name = "cudarc" version = "0.13.9" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "486c221362668c63a1636cfa51463b09574433b39029326cff40864b3ba12b6e" +dependencies = [ + "libloading 0.8.9", +] + +[[package]] +name = "cudarc" +version = "0.17.8" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0bf99ab37ee7072d64d906aa2dada9a3422f1d975cdf8c8055a573bc84897ed8" dependencies = [ "half", "libloading 0.8.9", ] +[[package]] +name = "cudarc" +version = "0.19.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1cea5f10a99e025c1b44ae2354c2d8326b25ddbd0baf76bde8e55cfd4018a2cc" +dependencies = [ + "float8 0.7.0", + "half", + "libloading 0.9.0", +] + [[package]] name = "curve25519-dalek" version = "4.1.3" @@ -2272,7 +2364,7 @@ dependencies = [ "libc", "option-ext", "redox_users 0.5.2", - "windows-sys 0.59.0", + "windows-sys 0.61.2", ] [[package]] @@ -2541,7 +2633,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "39cab71617ae0d63f51a36d69f866391735b51691dbda63cf6f96d042b63efeb" dependencies = [ "libc", - "windows-sys 0.52.0", + "windows-sys 0.61.2", ] [[package]] @@ -2632,6 +2724,17 @@ dependencies = [ "regex-syntax", ] +[[package]] +name = "fancy-regex" +version = "0.17.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "72cf461f865c862bb7dc573f643dd6a2b6842f7c30b07882b56bd148cc2761b8" +dependencies = [ + "bit-set 0.8.0", + "regex-automata", + "regex-syntax", +] + [[package]] name = "fastrand" version = "2.4.1" @@ -2744,6 +2847,28 @@ version = "0.3.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "8ce81f49ae8a0482e4c55ea62ebbd7e5a686af544c00b9d090bba3ff9be97b3d" +[[package]] +name = "float8" +version = "0.6.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "719a903cc23e4a89e87962c2a80fdb45cdaad0983a89bd150bb57b4c8571a7d5" +dependencies = [ + "cudarc 0.19.7", + "half", + "num-traits", + "rand 0.9.2", + "rand_distr 0.5.1", +] + +[[package]] +name = "float8" +version = "0.7.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c2d1f04709a8ac06e8e8042875a3c466cc4832d3c1a18dbcb9dba3c6e83046bc" +dependencies = [ + "half", +] + [[package]] name = "flume" version = "0.11.1" @@ -3039,6 +3164,26 @@ dependencies = [ "seq-macro", ] +[[package]] +name = "gemm" +version = "0.19.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "aa0673db364b12263d103b68337a68fbecc541d6f6b61ba72fe438654709eacb" +dependencies = [ + "dyn-stack 0.13.2", + "gemm-c32 0.19.0", + "gemm-c64 0.19.0", + "gemm-common 0.19.0", + "gemm-f16 0.19.0", + "gemm-f32 0.19.0", + "gemm-f64 0.19.0", + "num-complex 0.4.6", + "num-traits", + "paste", + "raw-cpuid 11.6.0", + "seq-macro", +] + [[package]] name = "gemm-c32" version = "0.17.1" @@ -3069,6 +3214,21 @@ dependencies = [ "seq-macro", ] +[[package]] +name = "gemm-c32" +version = "0.19.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "086936dbdcb99e37aad81d320f98f670e53c1e55a98bee70573e83f95beb128c" +dependencies = [ + "dyn-stack 0.13.2", + "gemm-common 0.19.0", + "num-complex 0.4.6", + "num-traits", + "paste", + "raw-cpuid 11.6.0", + "seq-macro", +] + [[package]] name = "gemm-c64" version = "0.17.1" @@ -3099,6 +3259,21 @@ dependencies = [ "seq-macro", ] +[[package]] +name = "gemm-c64" +version = "0.19.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "20c8aeeeec425959bda4d9827664029ba1501a90a0d1e6228e48bef741db3a3f" +dependencies = [ + "dyn-stack 0.13.2", + "gemm-common 0.19.0", + "num-complex 0.4.6", + "num-traits", + "paste", + "raw-cpuid 11.6.0", + "seq-macro", +] + [[package]] name = "gemm-common" version = "0.17.1" @@ -3140,6 +3315,27 @@ dependencies = [ "sysctl 0.6.0", ] +[[package]] +name = "gemm-common" +version = "0.19.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "88027625910cc9b1085aaaa1c4bc46bb3a36aad323452b33c25b5e4e7c8e2a3e" +dependencies = [ + "bytemuck", + "dyn-stack 0.13.2", + "half", + "libm", + "num-complex 0.4.6", + "num-traits", + "once_cell", + "paste", + "pulp 0.22.2", + "raw-cpuid 11.6.0", + "rayon", + "seq-macro", + "sysctl 0.6.0", +] + [[package]] name = "gemm-f16" version = "0.17.1" @@ -3176,6 +3372,24 @@ dependencies = [ "seq-macro", ] +[[package]] +name = "gemm-f16" +version = "0.19.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e3df7a55202e6cd6739d82ae3399c8e0c7e1402859b30e4cb780e61525d9486e" +dependencies = [ + "dyn-stack 0.13.2", + "gemm-common 0.19.0", + "gemm-f32 0.19.0", + "half", + "num-complex 0.4.6", + "num-traits", + "paste", + "raw-cpuid 11.6.0", + "rayon", + "seq-macro", +] + [[package]] name = "gemm-f32" version = "0.17.1" @@ -3206,6 +3420,21 @@ dependencies = [ "seq-macro", ] +[[package]] +name = "gemm-f32" +version = "0.19.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "02e0b8c9da1fbec6e3e3ab2ce6bc259ef18eb5f6f0d3e4edf54b75f9fd41a81c" +dependencies = [ + "dyn-stack 0.13.2", + "gemm-common 0.19.0", + "num-complex 0.4.6", + "num-traits", + "paste", + "raw-cpuid 11.6.0", + "seq-macro", +] + [[package]] name = "gemm-f64" version = "0.17.1" @@ -3236,6 +3465,21 @@ dependencies = [ "seq-macro", ] +[[package]] +name = "gemm-f64" +version = "0.19.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "056131e8f2a521bfab322f804ccd652520c79700d81209e9d9275bbdecaadc6a" +dependencies = [ + "dyn-stack 0.13.2", + "gemm-common 0.19.0", + "num-complex 0.4.6", + "num-traits", + "paste", + "raw-cpuid 11.6.0", + "seq-macro", +] + [[package]] name = "gene-consciousness" version = "0.1.0" @@ -3709,6 +3953,8 @@ dependencies = [ "allocator-api2", "equivalent", "foldhash 0.2.0", + "serde", + "serde_core", ] [[package]] @@ -4134,7 +4380,7 @@ dependencies = [ "libc", "percent-encoding", "pin-project-lite", - "socket2 0.5.10", + "socket2 0.6.3", "system-configuration 0.7.0", "tokio", "tower-layer", @@ -4491,7 +4737,7 @@ checksum = "3640c1c38b8e4e43584d8df18be5fc6b0aa314ce6ebf51b53313d4306cca8e46" dependencies = [ "hermit-abi", "libc", - "windows-sys 0.52.0", + "windows-sys 0.61.2", ] [[package]] @@ -4750,6 +4996,16 @@ dependencies = [ "windows-link", ] +[[package]] +name = "libloading" +version = "0.9.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "754ca22de805bb5744484a5b151a9e1a8e837d5dc232c2d7d8c2e3492edc8b60" +dependencies = [ + "cfg-if 1.0.4", + "windows-link", +] + [[package]] name = "libm" version = "0.2.16" @@ -5107,21 +5363,6 @@ version = "0.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "8452105ba047068f40ff7093dd1d9da90898e63dd61736462e9cdda6a90ad3c3" -[[package]] -name = "metal" -version = "0.27.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c43f73953f8cbe511f021b58f18c3ce1c3d1ae13fe953293e13345bf83217f25" -dependencies = [ - "bitflags 2.11.0", - "block", - "core-graphics-types", - "foreign-types 0.5.0", - "log", - "objc", - "paste", -] - [[package]] name = "metal" version = "0.29.0" @@ -5832,7 +6073,7 @@ version = "0.50.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "7957b9740744892f114936ab4a57b3f487491bbeafaf8083688b16841a4240e5" dependencies = [ - "windows-sys 0.59.0", + "windows-sys 0.61.2", ] [[package]] @@ -6046,7 +6287,6 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "915b1b472bc21c53464d6c8461c9d3af805ba1ef837e1cac254428f4a77177b1" dependencies = [ "malloc_buf", - "objc_exception", ] [[package]] @@ -6159,7 +6399,10 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "a0125f776a10d00af4152d74616409f0d4a2053a6f57fa5b7d6aa2854ac04794" dependencies = [ "bitflags 2.11.0", + "block2", + "dispatch2", "objc2", + "objc2-core-foundation", "objc2-foundation", ] @@ -6172,15 +6415,6 @@ dependencies = [ "objc2-core-foundation", ] -[[package]] -name = "objc_exception" -version = "0.1.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ad970fb455818ad6cba4c122ad012fae53ae8b4795f86378bce65e4f6bab2ca4" -dependencies = [ - "cc", -] - [[package]] name = "object" version = "0.37.3" @@ -7129,7 +7363,7 @@ version = "0.13.5" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "be769465445e8c1474e9c5dac2018218498557af32d9ed057325ec9a41ae81bf" dependencies = [ - "heck 0.4.1", + "heck 0.5.0", "itertools 0.14.0", "log", "multimap", @@ -7295,6 +7529,29 @@ dependencies = [ "version_check", ] +[[package]] +name = "pulp" +version = "0.22.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2e205bb30d5b916c55e584c22201771bcf2bad9aabd5d4127f38387140c38632" +dependencies = [ + "bytemuck", + "cfg-if 1.0.4", + "libm", + "num-complex 0.4.6", + "paste", + "pulp-wasm-simd-flag", + "raw-cpuid 11.6.0", + "reborrow", + "version_check", +] + +[[package]] +name = "pulp-wasm-simd-flag" +version = "0.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "40e24eee682d89fb193496edf918a7f407d30175b2e785fe057e4392dfd182e0" + [[package]] name = "pxfm" version = "0.1.28" @@ -7403,7 +7660,7 @@ dependencies = [ "quinn-udp", "rustc-hash 2.1.2", "rustls", - "socket2 0.5.10", + "socket2 0.6.3", "thiserror 2.0.18", "tokio", "tracing", @@ -7440,7 +7697,7 @@ dependencies = [ "cfg_aliases 0.2.1", "libc", "once_cell", - "socket2 0.5.10", + "socket2 0.6.3", "tracing", "windows-sys 0.60.2", ] @@ -8282,7 +8539,7 @@ dependencies = [ "errno", "libc", "linux-raw-sys 0.12.1", - "windows-sys 0.52.0", + "windows-sys 0.61.2", ] [[package]] @@ -9395,9 +9652,9 @@ name = "ruvector-hailo" version = "0.1.0" dependencies = [ "anyhow", - "candle-core", - "candle-nn", - "candle-transformers", + "candle-core 0.8.4", + "candle-nn 0.8.4", + "candle-transformers 0.8.4", "criterion 0.5.1", "hailort-sys", "proptest", @@ -10193,7 +10450,7 @@ dependencies = [ "rayon", "redb", "rusqlite", - "safetensors", + "safetensors 0.4.5", "serde", "serde_json", "simsimd", @@ -10517,12 +10774,12 @@ dependencies = [ "async-trait", "bincode 2.0.1", "block2", - "candle-core", - "candle-nn", - "candle-transformers", + "candle-core 0.9.2", + "candle-nn 0.9.2", + "candle-transformers 0.9.2", "chrono", "criterion 0.5.1", - "cudarc", + "cudarc 0.13.9", "dashmap 6.1.0", "dirs 5.0.1", "futures-core", @@ -10530,7 +10787,7 @@ dependencies = [ "hf-hub", "md5", "memmap2", - "metal 0.29.0", + "metal", "ndarray 0.16.1", "objc", "objc2", @@ -11044,6 +11301,17 @@ dependencies = [ "serde_json", ] +[[package]] +name = "safetensors" +version = "0.7.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "675656c1eabb620b921efea4f9199f97fc86e36dd6ffd1fbbe48d0f59a4987f5" +dependencies = [ + "hashbrown 0.16.1", + "serde", + "serde_json", +] + [[package]] name = "same-file" version = "1.0.6" @@ -11486,7 +11754,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "3a766e1110788c36f4fa1c2b71b387a7815aa65f88ce0229841826633d93723e" dependencies = [ "libc", - "windows-sys 0.60.2", + "windows-sys 0.61.2", ] [[package]] @@ -12083,10 +12351,10 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "32497e9a4c7b38532efcdebeef879707aa9f794296a4f0244f6f69e9bc8574bd" dependencies = [ "fastrand", - "getrandom 0.3.4", + "getrandom 0.4.2", "once_cell", "rustix 1.1.4", - "windows-sys 0.52.0", + "windows-sys 0.61.2", ] [[package]] @@ -12177,7 +12445,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "230a1b821ccbd75b185820a1f1ff7b14d21da1e442e22c0863ea5f08771a8874" dependencies = [ "rustix 1.1.4", - "windows-sys 0.59.0", + "windows-sys 0.61.2", ] [[package]] @@ -12846,6 +13114,12 @@ version = "2.1.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "9ea3136b675547379c4bd395ca6b938e5ad3c3d20fad76e7fe85f9e0d011419c" +[[package]] +name = "typed-path" +version = "0.12.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8e28f89b80c87b8fb0cf04ab448d5dd0dd0ade2f8891bae878de66a75a28600e" + [[package]] name = "typenum" version = "1.19.0" @@ -12872,7 +13146,28 @@ dependencies = [ "num-traits", "num_cpus", "rayon", - "safetensors", + "safetensors 0.4.5", + "serde", + "thiserror 1.0.69", + "tracing", + "yoke 0.7.5", +] + +[[package]] +name = "ug" +version = "0.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "76b761acf8af3494640d826a8609e2265e19778fb43306c7f15379c78c9b05b0" +dependencies = [ + "gemm 0.18.2", + "half", + "libloading 0.8.9", + "memmap2", + "num 0.4.3", + "num-traits", + "num_cpus", + "rayon", + "safetensors 0.4.5", "serde", "thiserror 1.0.69", "tracing", @@ -12881,29 +13176,29 @@ dependencies = [ [[package]] name = "ug-cuda" -version = "0.1.0" +version = "0.5.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "50758486d7941f8b0a636ba7e29455c07071f41590beac1fd307ec893e8db69a" +checksum = "9f0a1fa748f26166778c33b8498255ebb7c6bffb472bcc0a72839e07ebb1d9b5" dependencies = [ - "cudarc", + "cudarc 0.17.8", "half", "serde", "thiserror 1.0.69", - "ug", + "ug 0.5.0", ] [[package]] name = "ug-metal" -version = "0.1.0" +version = "0.5.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a02ddc17bf32f7dcaaf016b6735f7198082b82f122df7b3ca15d8ead5911ccef" +checksum = "9f7adf545a99a086d362efc739e7cf4317c18cbeda22706000fd434d70ea3d95" dependencies = [ "half", - "metal 0.29.0", + "metal", "objc", "serde", "thiserror 1.0.69", - "ug", + "ug 0.5.0", ] [[package]] @@ -13611,7 +13906,7 @@ dependencies = [ "libc", "libloading 0.8.9", "log", - "metal 0.29.0", + "metal", "naga", "ndk-sys", "objc", @@ -13704,7 +13999,7 @@ version = "0.1.11" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "c2a7b1c03c876122aa43f3020e6c3c3ee5c05081c9a00739faf7503aeba10d22" dependencies = [ - "windows-sys 0.48.0", + "windows-sys 0.61.2", ] [[package]] @@ -14508,6 +14803,18 @@ dependencies = [ "zopfli", ] +[[package]] +name = "zip" +version = "7.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c42e33efc22a0650c311c2ef19115ce232583abbe80850bc8b66509ebef02de0" +dependencies = [ + "crc32fast", + "indexmap 2.12.1", + "memchr", + "typed-path", +] + [[package]] name = "zmij" version = "1.0.21" diff --git a/crates/ruvllm/Cargo.toml b/crates/ruvllm/Cargo.toml index 273ef5d5e..5297becf8 100644 --- a/crates/ruvllm/Cargo.toml +++ b/crates/ruvllm/Cargo.toml @@ -62,13 +62,16 @@ futures-core = "0.3" tokio-stream = { version = "0.1", optional = true } # Candle ML framework (optional) -candle-core = { version = "0.8", optional = true } -candle-nn = { version = "0.8", optional = true } -candle-transformers = { version = "0.8", optional = true } +# 0.9.x: uses cudarc 0.19 which supports CUDA 13.0 natively (no CUDA_HOME +# workaround needed on RTX 5080 / SM 12.0 machines). +candle-core = { version = "0.9", optional = true } +candle-nn = { version = "0.9", optional = true } +candle-transformers = { version = "0.9", optional = true } # Direct cudarc access for fused CUDA kernels (fused-act feature). -# Must match the version candle-core resolves to (0.13.x) to share -# the same device context. +# Pinned to 0.13 — act_kernel.rs uses the 0.13 tuple-based launch API. +# cudarc 0.13 and 0.19 can coexist: each manages its own device context +# (the staging-buffer path never shares types with candle's cudarc 0.19). cudarc = { version = "0.13", optional = true, default-features = false, features = ["nvrtc", "driver", "std"] } # Tokenizers