Allow building with CUDA as the candle backend (#6914)

This commit is contained in:
jh-block
2026-02-03 23:58:02 +01:00
committed by GitHub
parent adc7732482
commit e0a1381e39
3 changed files with 89 additions and 17 deletions
Generated
+84 -17
View File
@@ -986,6 +986,17 @@ dependencies = [
"syn 2.0.114",
]
[[package]]
name = "bindgen_cuda"
version = "0.1.6"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "282be55fb326843bb67cccceeeaf21c961ef303f60018f9a2ab69494dad8eaf9"
dependencies = [
"glob",
"num_cpus",
"rayon",
]
[[package]]
name = "biome_console"
version = "0.3.1"
@@ -1382,18 +1393,18 @@ checksum = "5988cb1d626264ac94100be357308f29ff7cbdd3b36bda27f450a4ee3f713426"
[[package]]
name = "bpaf"
version = "0.9.22"
version = "0.9.23"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "4ffe12d9bbc54238745f1749c5a18dc5759e03c235618dd05554a9be350390b1"
checksum = "22a59e5c2bac9ccb280150ef4b58e07e4169d8c5c6ce0f70170e3c0b7c7b6124"
dependencies = [
"bpaf_derive",
]
[[package]]
name = "bpaf_derive"
version = "0.5.21"
version = "0.5.23"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "9e7d8cbf45f5994072fad3eb22761aacbe8752bbe733a247f7d35827556ea057"
checksum = "549ca9c364fdc06f9f36d1356980193d930abc80db848193c2dd4d0e9a83de1b"
dependencies = [
"proc-macro2",
"quote",
@@ -1574,9 +1585,11 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "c15b675b80d994b2eadb20a4bbe434eabeb454eac3ee5e2b4cf6f147ee9be091"
dependencies = [
"byteorder",
"candle-kernels",
"candle-metal-kernels",
"candle-ug",
"float8",
"cudarc 0.19.0",
"float8 0.6.1",
"gemm 0.19.0",
"half",
"libm",
@@ -1594,6 +1607,15 @@ dependencies = [
"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.9.2"
@@ -1653,6 +1675,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "c22d62be69068bf58987a45f690612739d8d2ea1bf508c1b87dc6815a019575d"
dependencies = [
"ug",
"ug-cuda",
"ug-metal",
]
@@ -1782,9 +1805,9 @@ dependencies = [
[[package]]
name = "clap"
version = "4.5.56"
version = "4.5.57"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "a75ca66430e33a14957acc24c5077b503e7d374151b2b4b3a10c83b4ceb4be0e"
checksum = "6899ea499e3fb9305a65d5ebf6e3d2248c5fab291f300ad0a704fbe142eae31a"
dependencies = [
"clap_builder",
"clap_derive",
@@ -1792,9 +1815,9 @@ dependencies = [
[[package]]
name = "clap_builder"
version = "4.5.56"
version = "4.5.57"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "793207c7fa6300a0608d1080b858e5fdbe713cdc1c8db9fb17777d8a13e63df0"
checksum = "7b12c8b680195a62a8364d16b8447b01b6c2c8f9aaf68bee653be34d4245e238"
dependencies = [
"anstream",
"anstyle",
@@ -2270,6 +2293,27 @@ dependencies = [
"syn 2.0.114",
]
[[package]]
name = "cudarc"
version = "0.17.8"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "0bf99ab37ee7072d64d906aa2dada9a3422f1d975cdf8c8055a573bc84897ed8"
dependencies = [
"half",
"libloading",
]
[[package]]
name = "cudarc"
version = "0.19.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "4d5be1e9776a20360ca270df637b391c85d48ea57508140f30a4e8f6da91884a"
dependencies = [
"float8 0.3.0",
"half",
"libloading",
]
[[package]]
name = "darling"
version = "0.20.11"
@@ -3435,12 +3479,22 @@ dependencies = [
"miniz_oxide",
]
[[package]]
name = "float8"
version = "0.3.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "0f498aec3b227cd892ce18967f4033d9d397d28a80a7ab67e9f6b0176a79654e"
dependencies = [
"half",
]
[[package]]
name = "float8"
version = "0.6.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "719a903cc23e4a89e87962c2a80fdb45cdaad0983a89bd150bb57b4c8571a7d5"
dependencies = [
"cudarc 0.19.0",
"half",
"num-traits",
"rand 0.9.2",
@@ -4787,7 +4841,7 @@ dependencies = [
"tokio",
"tokio-rustls 0.26.4",
"tower-service",
"webpki-roots 1.0.5",
"webpki-roots 1.0.6",
]
[[package]]
@@ -7944,7 +7998,7 @@ dependencies = [
"wasm-bindgen-futures",
"wasm-streams",
"web-sys",
"webpki-roots 1.0.5",
"webpki-roots 1.0.6",
]
[[package]]
@@ -11017,6 +11071,19 @@ dependencies = [
"yoke 0.7.5",
]
[[package]]
name = "ug-cuda"
version = "0.5.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "9f0a1fa748f26166778c33b8498255ebb7c6bffb472bcc0a72839e07ebb1d9b5"
dependencies = [
"cudarc 0.17.8",
"half",
"serde",
"thiserror 1.0.69",
"ug",
]
[[package]]
name = "ug-metal"
version = "0.5.0"
@@ -11501,9 +11568,9 @@ checksum = "5f20c57d8d7db6d3b86154206ae5d8fba62dd39573114de97c2cb0578251f8e1"
[[package]]
name = "webpki-roots"
version = "1.0.5"
version = "1.0.6"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "12bed680863276c63889429bfd6cab3b99943659923822de1c8a39c49e4d722c"
checksum = "22cfaf3c063993ff62e73cb4311efde4db1efb31ab78a3e5c457939ad5cc0bed"
dependencies = [
"rustls-pki-types",
]
@@ -12398,18 +12465,18 @@ dependencies = [
[[package]]
name = "zerocopy"
version = "0.8.37"
version = "0.8.38"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "7456cf00f0685ad319c5b1693f291a650eaf345e941d082fc4e03df8a03996ac"
checksum = "57cf3aa6855b23711ee9852dfc97dfaa51c45feaba5b645d0c777414d494a961"
dependencies = [
"zerocopy-derive",
]
[[package]]
name = "zerocopy-derive"
version = "0.8.37"
version = "0.8.38"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "1328722bbf2115db7e19d69ebcc15e795719e2d66b60827c6a69a117365e37a0"
checksum = "8a616990af1a287837c4fe6596ad77ef57948f787e46ce28e166facc0cc1cb75"
dependencies = [
"proc-macro2",
"quote",
+4
View File
@@ -10,6 +10,10 @@ description.workspace = true
[lints]
workspace = true
[features]
default = []
cuda = ["goose/cuda"]
[dependencies]
goose = { path = "../goose" }
goose-mcp = { path = "../goose-mcp" }
+1
View File
@@ -9,6 +9,7 @@ description.workspace = true
[features]
default = []
cuda = ["candle-core/cuda", "candle-nn/cuda"]
[lints]
workspace = true