diff --git a/Cargo.lock b/Cargo.lock index dfe9bca03f..da075ccf32 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -10,9 +10,9 @@ checksum = "415ed64958754dbe991900f3940677e6a7eefb4d7367afd70d642677b0c7d19d" [[package]] name = "addr2line" -version = "0.22.0" +version = "0.24.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6e4503c46a5c0c7844e948c9a4d6acd9f50cccb4de1c48eb9e291ea17470c678" +checksum = "dfbe277e56a376000877090da837660b4427aad530e3028d44e0bffe4f89a1c1" dependencies = [ "gimli", ] @@ -140,9 +140,9 @@ dependencies = [ [[package]] name = "anyhow" -version = "1.0.86" +version = "1.0.89" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b3d1d046238990b9cf5bcde22a3fb3584ee5cf65fb2765f454ed428c7a0063da" +checksum = "86fdf8605db99b54d3cd748a44c6d04df638eb5dafb219b135d0149bd0db01f6" [[package]] name = "arbitrary" @@ -264,9 +264,9 @@ dependencies = [ [[package]] name = "autocfg" -version = "1.3.0" +version = "1.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0c4b4d0bd25bd0b74681c0ad21497610ce1b7c91b1022cd21c80c6fbdd9476b0" +checksum = "ace50bade8e6234aa140d9a2f552bbee1db4d353f69b8217bc503490fc1a9f26" [[package]] name = "av1-grain" @@ -324,17 +324,17 @@ dependencies = [ [[package]] name = "backtrace" -version = "0.3.73" +version = "0.3.74" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5cc23269a4f8976d0a4d2e7109211a419fe30e8d88d677cd60b6bc79c5732e0a" +checksum = "8d82cb332cdfaed17ae235a638438ac4d4839913cc2af585c3c6746e8f8bee1a" dependencies = [ "addr2line", - "cc", "cfg-if", "libc", - "miniz_oxide 0.7.4", + "miniz_oxide 0.8.0", "object", "rustc-demangle", + "windows-targets 0.52.6", ] [[package]] @@ -665,6 +665,7 @@ dependencies = [ "bytemuck", "cubecl", "derive-new", + "futures-lite", "half", "hashbrown 0.14.5", "log", @@ -785,9 +786,9 @@ dependencies = [ [[package]] name = "bytemuck_derive" -version = "1.7.1" +version = "1.8.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0cc8b54b395f2fcfbb3d90c47b01c7f444d94d05bdeb775811dec868ac3bbc26" +checksum = "bcfcc3cd946cb52f0bbfdbbcfa2f4e24f75ebb6c0e1002f7c25904fada18b9ec" dependencies = [ "proc-macro2", "quote", @@ -808,9 +809,9 @@ checksum = "8f1fe948ff07f4bd06c30984e69f5b4899c516a3ef74f34df92a2df2ab535495" [[package]] name = "bytes" -version = "1.7.1" +version = "1.7.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8318a53db07bb3f8dca91a600466bdb3f2eaadeedfdbcf02e1accbad9271ba50" +checksum = "428d9aa8fbc0670b7b8d6030a7fadd0f86151cae55e4dbbece15f3780a3dfaf3" [[package]] name = "bytesize" @@ -849,18 +850,18 @@ dependencies = [ "byteorder", "candle-kernels", "candle-metal-kernels", - "cudarc 0.11.5", + "cudarc 0.11.9", "gemm", "half", "libc", - "memmap2 0.9.4", + "memmap2 0.9.5", "metal 0.27.0", "num-traits", "num_cpus", "rand", "rand_distr", "rayon", - "safetensors 0.4.4", + "safetensors 0.4.5", "thiserror", "yoke", "zip 1.1.4", @@ -913,9 +914,9 @@ dependencies = [ [[package]] name = "cc" -version = "1.1.14" +version = "1.1.30" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "50d2eb3cd3d1bf4529e31c215ee6f93ec5a3d536d9f578f93d9d33ee19562932" +checksum = "b16803a61b81d9eabb7eae2588776c4c1e584b738ede45fdbb4c972cec1e9945" dependencies = [ "jobserver", "libc", @@ -1221,9 +1222,9 @@ checksum = "245097e9a4535ee1e3e3931fcfcd55a796a44c643e8596ff6566d68f09b87bbc" [[package]] name = "constant_time_eq" -version = "0.3.0" +version = "0.3.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f7144d30dcf0fafbce74250a3963025d8d52177934239851c917d29f1df280c2" +checksum = "7c74b8349d32d297c9134b8c88677813a227df8f779daa29bfc29c183fe3dca6" [[package]] name = "core-foundation" @@ -1267,9 +1268,9 @@ dependencies = [ [[package]] name = "cpufeatures" -version = "0.2.13" +version = "0.2.14" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "51e852e6dc9a5bed1fae92dd2375037bf2b768725bf3be87811edee3249d09ad" +checksum = "608697df725056feaccfa42cffdaeeec3fccc4ffc38358ecd19b243e716a78e0" dependencies = [ "libc", ] @@ -1406,7 +1407,7 @@ dependencies = [ [[package]] name = "cubecl" version = "0.2.0" -source = "git+https://github.com/tracel-ai/cubecl?rev=fb47090f7a44952ae3e3b2b72f8c5a88d8af56fd#fb47090f7a44952ae3e3b2b72f8c5a88d8af56fd" +source = "git+https://github.com/tracel-ai/cubecl?rev=ed136e2385b17e36680589f8a6245926f430f59f#ed136e2385b17e36680589f8a6245926f430f59f" dependencies = [ "cubecl-core", "cubecl-cuda", @@ -1418,12 +1419,13 @@ dependencies = [ [[package]] name = "cubecl-common" version = "0.2.0" -source = "git+https://github.com/tracel-ai/cubecl?rev=fb47090f7a44952ae3e3b2b72f8c5a88d8af56fd#fb47090f7a44952ae3e3b2b72f8c5a88d8af56fd" +source = "git+https://github.com/tracel-ai/cubecl?rev=ed136e2385b17e36680589f8a6245926f430f59f#ed136e2385b17e36680589f8a6245926f430f59f" dependencies = [ "derive-new", + "embassy-futures", + "futures-lite", "getrandom", - "pollster", - "portable-atomic-util", + "portable-atomic", "rand", "serde", "spin", @@ -1433,7 +1435,7 @@ dependencies = [ [[package]] name = "cubecl-core" version = "0.2.0" -source = "git+https://github.com/tracel-ai/cubecl?rev=fb47090f7a44952ae3e3b2b72f8c5a88d8af56fd#fb47090f7a44952ae3e3b2b72f8c5a88d8af56fd" +source = "git+https://github.com/tracel-ai/cubecl?rev=ed136e2385b17e36680589f8a6245926f430f59f#ed136e2385b17e36680589f8a6245926f430f59f" dependencies = [ "bytemuck", "cubecl-common", @@ -1450,7 +1452,7 @@ dependencies = [ [[package]] name = "cubecl-cuda" version = "0.2.0" -source = "git+https://github.com/tracel-ai/cubecl?rev=fb47090f7a44952ae3e3b2b72f8c5a88d8af56fd#fb47090f7a44952ae3e3b2b72f8c5a88d8af56fd" +source = "git+https://github.com/tracel-ai/cubecl?rev=ed136e2385b17e36680589f8a6245926f430f59f#ed136e2385b17e36680589f8a6245926f430f59f" dependencies = [ "bytemuck", "cubecl-common", @@ -1465,7 +1467,7 @@ dependencies = [ [[package]] name = "cubecl-linalg" version = "0.2.0" -source = "git+https://github.com/tracel-ai/cubecl?rev=fb47090f7a44952ae3e3b2b72f8c5a88d8af56fd#fb47090f7a44952ae3e3b2b72f8c5a88d8af56fd" +source = "git+https://github.com/tracel-ai/cubecl?rev=ed136e2385b17e36680589f8a6245926f430f59f#ed136e2385b17e36680589f8a6245926f430f59f" dependencies = [ "bytemuck", "cubecl-core", @@ -1476,7 +1478,7 @@ dependencies = [ [[package]] name = "cubecl-macros" version = "0.2.0" -source = "git+https://github.com/tracel-ai/cubecl?rev=fb47090f7a44952ae3e3b2b72f8c5a88d8af56fd#fb47090f7a44952ae3e3b2b72f8c5a88d8af56fd" +source = "git+https://github.com/tracel-ai/cubecl?rev=ed136e2385b17e36680589f8a6245926f430f59f#ed136e2385b17e36680589f8a6245926f430f59f" dependencies = [ "cubecl-common", "darling", @@ -1491,7 +1493,7 @@ dependencies = [ [[package]] name = "cubecl-runtime" version = "0.2.0" -source = "git+https://github.com/tracel-ai/cubecl?rev=fb47090f7a44952ae3e3b2b72f8c5a88d8af56fd#fb47090f7a44952ae3e3b2b72f8c5a88d8af56fd" +source = "git+https://github.com/tracel-ai/cubecl?rev=ed136e2385b17e36680589f8a6245926f430f59f#ed136e2385b17e36680589f8a6245926f430f59f" dependencies = [ "async-channel", "cfg_aliases 0.2.1", @@ -1501,17 +1503,16 @@ dependencies = [ "hashbrown 0.14.5", "log", "md5", - "pollster", "serde", "serde_json", "spin", - "web-time", + "wasm-bindgen-futures", ] [[package]] name = "cubecl-wgpu" version = "0.2.0" -source = "git+https://github.com/tracel-ai/cubecl?rev=fb47090f7a44952ae3e3b2b72f8c5a88d8af56fd#fb47090f7a44952ae3e3b2b72f8c5a88d8af56fd" +source = "git+https://github.com/tracel-ai/cubecl?rev=ed136e2385b17e36680589f8a6245926f430f59f#ed136e2385b17e36680589f8a6245926f430f59f" dependencies = [ "async-channel", "bytemuck", @@ -1522,15 +1523,14 @@ dependencies = [ "derive-new", "hashbrown 0.14.5", "log", - "pollster", "wgpu", ] [[package]] name = "cudarc" -version = "0.11.5" +version = "0.11.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e395cd01168d63af826749573071f3c5069b338ae473cab355d22db0b2bb5a0d" +checksum = "7a5bd4d1eee570c3b2ac64ed114125517dd1e541d88dd28fc259f1de4dba8d60" dependencies = [ "half", "libloading", @@ -1705,18 +1705,18 @@ dependencies = [ [[package]] name = "derive_builder" -version = "0.20.0" +version = "0.20.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0350b5cb0331628a5916d6c5c0b72e97393b8b6b03b47a9284f4e7f5a405ffd7" +checksum = "507dfb09ea8b7fa618fcf76e953f4f5e192547945816d5358edffe39f6f94947" dependencies = [ "derive_builder_macro", ] [[package]] name = "derive_builder_core" -version = "0.20.0" +version = "0.20.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d48cda787f839151732d396ac69e3473923d54312c070ee21e9effcaa8ca0b1d" +checksum = "2d5bcf7b024d6835cfb3d473887cd966994907effbe9227e8c8219824d06c4e8" dependencies = [ "darling", "proc-macro2", @@ -1726,9 +1726,9 @@ dependencies = [ [[package]] name = "derive_builder_macro" -version = "0.20.0" +version = "0.20.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "206868b8242f27cecce124c19fd88157fbd0dd334df2587f36417bafbc85097b" +checksum = "ab63b0e2bf4d5928aff72e83a7dace85d7bba5fe12dcc3c5a572d78caffd3f3c" dependencies = [ "derive_builder_core", "syn 2.0.79", @@ -1851,6 +1851,12 @@ version = "1.13.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "60b1af1c220855b6ceac025d3f6ecdd2b7c4894bfe9cd9bda4fbb4bc7c0d4cf0" +[[package]] +name = "embassy-futures" +version = "0.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1f878075b9794c1e4ac788c95b728f26aa6366d32eeb10c7051389f898f7d067" + [[package]] name = "encode_unicode" version = "0.3.6" @@ -1868,11 +1874,11 @@ dependencies = [ [[package]] name = "enum-as-inner" -version = "0.6.0" +version = "0.6.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5ffccbb6966c05b32ef8fbac435df276c4ae4d3dc55a8cd0eb9745e6c12f546a" +checksum = "a1e6a265c649f3f5979b601d26f1d05ada116434c87741c9493cb56218f76cbc" dependencies = [ - "heck 0.4.1", + "heck 0.5.0", "proc-macro2", "quote", "syn 2.0.79", @@ -1931,9 +1937,9 @@ dependencies = [ [[package]] name = "error-code" -version = "3.2.0" +version = "3.3.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a0474425d51df81997e2f90a21591180b38eccf27292d755f3e30750225c175b" +checksum = "a5d9305ccc6942a704f4335694ecd3de2ea531b114ac2d51f5f843750787a92f" [[package]] name = "esaxx-rs" @@ -2026,18 +2032,18 @@ checksum = "e8c02a5121d4ea3eb16a80748c74f5549a5665e4c21333c6098f283870fbdea6" [[package]] name = "fdeflate" -version = "0.3.4" +version = "0.3.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4f9bfee30e4dedf0ab8b422f03af778d9612b63f502710fc500a334ebe2de645" +checksum = "d8090f921a24b04994d9929e204f50b498a33ea6ba559ffaa05e04f7ee7fb5ab" dependencies = [ "simd-adler32", ] [[package]] name = "filetime" -version = "0.2.24" +version = "0.2.25" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bf401df4a4e3872c4fe8151134cf483738e74b67fc934d6532c882b3d24a4550" +checksum = "35c0522e981e68cbfa8c3f978441a5f34b30b96e146b33cd3359176b50fe8586" dependencies = [ "cfg-if", "libc", @@ -2079,6 +2085,12 @@ version = "1.0.7" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "3f9eec918d3f24069decb9af1554cad7c880e2da24a9afd88aca000531ab82c1" +[[package]] +name = "foldhash" +version = "0.1.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f81ec6369c545a7d40e4589b5597581fa1c441fe1cce96dd1de43159910a36a2" + [[package]] name = "foreign-types" version = "0.3.2" @@ -2138,9 +2150,9 @@ dependencies = [ [[package]] name = "futures" -version = "0.3.30" +version = "0.3.31" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "645c6916888f6cb6350d2550b80fb63e734897a8498abe35cfb732b6487804b0" +checksum = "65bc07b1a8bc7c85c5f2e110c476c7389b4554ba72af57d8445ea63a576b0876" dependencies = [ "futures-channel", "futures-core", @@ -2153,9 +2165,9 @@ dependencies = [ [[package]] name = "futures-channel" -version = "0.3.30" +version = "0.3.31" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "eac8f7d7865dcb88bd4373ab671c8cf4508703796caa2b1985a9ca867b3fcb78" +checksum = "2dff15bf788c671c1934e366d07e30c1814a8ef514e1af724a602e8a2fbe1b10" dependencies = [ "futures-core", "futures-sink", @@ -2163,15 +2175,15 @@ dependencies = [ [[package]] name = "futures-core" -version = "0.3.30" +version = "0.3.31" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "dfc6580bb841c5a68e9ef15c77ccc837b40a7504914d52e47b8b0e9bbda25a1d" +checksum = "05f29059c0c2090612e8d742178b0580d2dc940c837851ad723096f87af6663e" [[package]] name = "futures-executor" -version = "0.3.30" +version = "0.3.31" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a576fc72ae164fca6b9db127eaa9a9dda0d61316034f33a0a0d4eda41f02b01d" +checksum = "1e28d1d997f585e54aebc3f97d39e72338912123a67330d723fdbb564d646c9f" dependencies = [ "futures-core", "futures-task", @@ -2180,15 +2192,28 @@ dependencies = [ [[package]] name = "futures-io" -version = "0.3.30" +version = "0.3.31" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a44623e20b9681a318efdd71c299b6b222ed6f231972bfe2f224ebad6311f0c1" +checksum = "9e5c1b78ca4aae1ac06c48a526a655760685149f0d465d21f37abfe57ce075c6" + +[[package]] +name = "futures-lite" +version = "2.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "52527eb5074e35e9339c6b4e8d12600c7128b68fb25dcb9fa9dec18f7c25f3a5" +dependencies = [ + "fastrand", + "futures-core", + "futures-io", + "parking", + "pin-project-lite", +] [[package]] name = "futures-macro" -version = "0.3.30" +version = "0.3.31" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "87750cf4b7a4c0625b1529e4c543c2182106e4dedc60a2a6455e00d212c489ac" +checksum = "162ee34ebcb7c64a8abebc059ce0fee27c2262618d7b60ed8faf72fef13c3650" dependencies = [ "proc-macro2", "quote", @@ -2197,15 +2222,15 @@ dependencies = [ [[package]] name = "futures-sink" -version = "0.3.30" +version = "0.3.31" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9fb8e00e87438d937621c1c6269e53f536c14d3fbd6a042bb24879e57d474fb5" +checksum = "e575fab7d1e0dcb8d0c7bcf9a63ee213816ab51902e6d244a95819acacf1d4f7" [[package]] name = "futures-task" -version = "0.3.30" +version = "0.3.31" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "38d84fa142264698cdce1a9f9172cf383a0c82de1bddcf3092901442c4097004" +checksum = "f90f7dce0722e95104fcb095585910c0977252f286e354b5e3bd38902cd99988" [[package]] name = "futures-timer" @@ -2215,9 +2240,9 @@ checksum = "f288b0a4f20f9a56b5d1da57e2227c661b7b16168e2f72365f57b63326e29b24" [[package]] name = "futures-util" -version = "0.3.30" +version = "0.3.31" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3d6401deb83407ab3da39eba7e33987a73c3df0c82b4bb5813ee871c19c41d48" +checksum = "9fa08315bb612088cc391249efdc3bc77536f16c91f6cf495e6fbe85b20a4a81" dependencies = [ "futures-channel", "futures-core", @@ -2394,9 +2419,9 @@ dependencies = [ [[package]] name = "gimli" -version = "0.29.0" +version = "0.31.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "40ecd4077b5ae9fd2e9e169b102c6c330d0605168eb0e8bf79952b256dbefffd" +checksum = "07e28edb80900c19c28f1072f2e8aeca7fa06b23cd4169cefe1af5aa3260783f" [[package]] name = "github-device-flow" @@ -2463,9 +2488,9 @@ dependencies = [ [[package]] name = "gix-trace" -version = "0.1.9" +version = "0.1.10" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f924267408915fddcd558e3f37295cc7d6a3e50f8bd8b606cee0808c3915157e" +checksum = "6cae0e8661c3ff92688ce1c8b8058b3efb312aba9492bbe93661a21705ab431b" [[package]] name = "gix-utils" @@ -2496,9 +2521,9 @@ checksum = "d2fabcfbdc87f4758337ca535fb41a6d701b65693ce38287d856d1674551ec9b" [[package]] name = "globset" -version = "0.4.14" +version = "0.4.15" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "57da3b9b5b85bd66f31093f8c408b90a74431672542466497dcbdfdc02034be1" +checksum = "15f1ce686646e7f1e19bf7d5533fe443a45dbfb990e00629110797578b42fb19" dependencies = [ "aho-corasick", "bstr", @@ -2612,7 +2637,7 @@ dependencies = [ "futures-sink", "futures-util", "http 0.2.12", - "indexmap 2.4.0", + "indexmap 2.6.0", "slab", "tokio", "tokio-util", @@ -2631,7 +2656,7 @@ dependencies = [ "futures-core", "futures-sink", "http 1.1.0", - "indexmap 2.4.0", + "indexmap 2.6.0", "slab", "tokio", "tokio-util", @@ -2680,6 +2705,17 @@ dependencies = [ "serde", ] +[[package]] +name = "hashbrown" +version = "0.15.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1e087f84d4f86bf4b218b927129862374b72199ae7d8657835f1e89000eea4fb" +dependencies = [ + "allocator-api2", + "equivalent", + "foldhash", +] + [[package]] name = "hashlink" version = "0.9.1" @@ -2842,9 +2878,9 @@ dependencies = [ [[package]] name = "httparse" -version = "1.9.4" +version = "1.9.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0fcc0b4a115bf80b728eb8ea024ad5bd707b615bfed49e0665b6e0f86fd082d9" +checksum = "7d71d3574edd2771538b901e6549113b4006ece66150fb69c0fb6d9a2adae946" [[package]] name = "httpdate" @@ -2860,9 +2896,9 @@ checksum = "9a3a5bfb195931eeb336b2a7b4d761daec841b97f947d34394601737a7bba5e4" [[package]] name = "hyper" -version = "0.14.30" +version = "0.14.31" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a152ddd61dfaec7273fe8419ab357f33aee0d914c5f4efbf0d96fa749eea5ec9" +checksum = "8c08302e8fa335b151b788c775ff56e7a03ae64ff85c548ee820fecb70356e85" dependencies = [ "bytes", "futures-channel", @@ -2884,9 +2920,9 @@ dependencies = [ [[package]] name = "hyper" -version = "1.4.1" +version = "1.5.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "50dfd22e0e76d0f662d429a5f80fcaf3855009297eab6a0a9f8543834744ba05" +checksum = "bbbff0a806a4728c99295b254c8838933b5b082d75e3cb70c8dab21fdfbcfa9a" dependencies = [ "bytes", "futures-channel", @@ -2904,13 +2940,13 @@ dependencies = [ [[package]] name = "hyper-rustls" -version = "0.27.2" +version = "0.27.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5ee4be2c948921a1a5320b629c4193916ed787a7f7f293fd3f7f5a6c9de74155" +checksum = "08afdbb5c31130e3034af566421053ab03787c640246a446327f550d11bcb333" dependencies = [ "futures-util", "http 1.1.0", - "hyper 1.4.1", + "hyper 1.5.0", "hyper-util", "rustls", "rustls-pki-types", @@ -2926,7 +2962,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "d6183ddfa99b85da61a140bea0efc93fdf56ceaa041b37d553518030827f9905" dependencies = [ "bytes", - "hyper 0.14.30", + "hyper 0.14.31", "native-tls", "tokio", "tokio-native-tls", @@ -2940,7 +2976,7 @@ checksum = "70206fc6890eaca9fde8a0bf71caa2ddfc9fe045ac9e5c70df101a7dbde866e0" dependencies = [ "bytes", "http-body-util", - "hyper 1.4.1", + "hyper 1.5.0", "hyper-util", "native-tls", "tokio", @@ -2950,29 +2986,28 @@ dependencies = [ [[package]] name = "hyper-util" -version = "0.1.7" +version = "0.1.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cde7055719c54e36e95e8719f95883f22072a48ede39db7fc17a4e1d5281e9b9" +checksum = "41296eb09f183ac68eec06e03cdbea2e759633d4067b2f6552fc2e009bcad08b" dependencies = [ "bytes", "futures-channel", "futures-util", "http 1.1.0", "http-body 1.0.1", - "hyper 1.4.1", + "hyper 1.5.0", "pin-project-lite", "socket2", "tokio", - "tower", "tower-service", "tracing", ] [[package]] name = "iana-time-zone" -version = "0.1.60" +version = "0.1.61" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e7ffbb5a1b541ea2561f8c41c087286cc091e21e556a4f09a8f6cbf17b69b141" +checksum = "235e081f3925a06703c2d0117ea8b91f042756fd6e7a6e5d901e8ca1a996b220" dependencies = [ "android_system_properties", "core-foundation-sys", @@ -3009,9 +3044,9 @@ dependencies = [ [[package]] name = "ignore" -version = "0.4.22" +version = "0.4.23" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b46810df39e66e925525d6e38ce1e7f6e1d208f72dc39757880fcb66e2c58af1" +checksum = "6d89fd380afde86567dfba715db065673989d6253f42b88179abd3eae47bda4b" dependencies = [ "crossbeam-deque", "globset", @@ -3095,12 +3130,12 @@ dependencies = [ [[package]] name = "indexmap" -version = "2.4.0" +version = "2.6.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "93ead53efc7ea8ed3cfb0c79fc8023fbb782a5432b52830b6518941cebe6505c" +checksum = "707907fe3c25f5424cce2cb7e1cbcafee6bdbe735ca90ef77c29e84591e5b9da" dependencies = [ "equivalent", - "hashbrown 0.14.5", + "hashbrown 0.15.0", ] [[package]] @@ -3147,9 +3182,9 @@ dependencies = [ [[package]] name = "ipnet" -version = "2.9.0" +version = "2.10.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8f518f335dce6725a761382244631d86cf0ccb2863413590b31338feb467f9c3" +checksum = "ddc24109865250148c2e0f3d25d4f0f479571723792d3802153c60922a4fb708" [[package]] name = "is_terminal_polyfill" @@ -3296,7 +3331,7 @@ checksum = "c0ff37bd590ca25063e35af745c343cb7a0271906fb7b37e4813e8f79f00268d" dependencies = [ "bitflags 2.6.0", "libc", - "redox_syscall 0.5.3", + "redox_syscall 0.5.7", ] [[package]] @@ -3355,28 +3390,27 @@ dependencies = [ [[package]] name = "lru" -version = "0.12.4" +version = "0.12.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "37ee39891760e7d94734f6f63fedc29a2e4a152f836120753a72503f09fcf904" +checksum = "234cf4f4a04dc1f57e24b96cc0cd600cf2af460d4161ac5ecdd0af8e1f3b2a38" dependencies = [ - "hashbrown 0.14.5", + "hashbrown 0.15.0", ] [[package]] name = "lz4" -version = "1.26.0" +version = "1.28.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "958b4caa893816eea05507c20cfe47574a43d9a697138a7872990bba8a0ece68" +checksum = "4d1febb2b4a79ddd1980eede06a8f7902197960aa0383ffcfdd62fe723036725" dependencies = [ - "libc", "lz4-sys", ] [[package]] name = "lz4-sys" -version = "1.10.0" +version = "1.11.1+lz4-1.10.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "109de74d5d2353660401699a4174a4ff23fcc649caf553df71933c7fb45ad868" +checksum = "6bd8c0d6c6ed0cd30b3652886bb8711dc4bb01d637a68105a3d5158039b418e6" dependencies = [ "cc", "libc", @@ -3471,9 +3505,9 @@ dependencies = [ [[package]] name = "memmap2" -version = "0.9.4" +version = "0.9.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fe751422e4a8caa417e13c3ea66452215d7d63e19e604f4980461212f3ae1322" +checksum = "fd3f7eed9d3848f8b98834af67102b720745c4ec028fcd0aa0239277e7de374f" dependencies = [ "libc", "stable_deref_trait", @@ -3528,7 +3562,6 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "b8a240ddb74feaf34a79a7add65a741f3167852fba007066dcac1ca548d89c08" dependencies = [ "adler", - "simd-adler32", ] [[package]] @@ -3538,6 +3571,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "e2d80299ef12ff69b16a84bb182e3b9df68b5a91574d3d4fa6e41b65deec4df1" dependencies = [ "adler2", + "simd-adler32", ] [[package]] @@ -3648,7 +3682,7 @@ dependencies = [ "cfg_aliases 0.1.1", "codespan-reporting", "hexf-parse", - "indexmap 2.4.0", + "indexmap 2.6.0", "log", "rustc-hash", "spirv", @@ -4037,18 +4071,18 @@ dependencies = [ [[package]] name = "object" -version = "0.36.3" +version = "0.36.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "27b64972346851a39438c60b341ebc01bba47464ae329e55cf343eb93964efd9" +checksum = "aedf0a2d09c573ed1d8d85b30c119153926a2b36dce0ab28322c09a117a4683e" dependencies = [ "memchr", ] [[package]] name = "once_cell" -version = "1.19.0" +version = "1.20.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3fdb12b2476b595f9358c5161aa467c2438859caa136dec86c26fdd2efe17b92" +checksum = "1261fe7e33c73b354eab43b1273a57c8f967d0391e80353e51f764ac02cf6775" [[package]] name = "onig" @@ -4210,9 +4244,9 @@ checksum = "b15813163c1d831bf4a13c3610c05c0d03b39feb07f7e09fa234dac9b15aaf39" [[package]] name = "parking" -version = "2.2.0" +version = "2.2.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bb813b8af86854136c6922af0598d719255ecb2179515e6e7730d468f05c9cae" +checksum = "f38d5652c16fde515bb1ecef450ab0f6a219d619a7274976324d5e377f7dceba" [[package]] name = "parking_lot" @@ -4257,7 +4291,7 @@ checksum = "1e401f977ab385c9e4e3ab30627d6f26d00e2c73eef317493c4ec6d468726cf8" dependencies = [ "cfg-if", "libc", - "redox_syscall 0.5.3", + "redox_syscall 0.5.7", "smallvec", "windows-targets 0.52.6", ] @@ -4360,26 +4394,6 @@ dependencies = [ "siphasher", ] -[[package]] -name = "pin-project" -version = "1.1.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b6bf43b791c5b9e34c3d182969b4abb522f9343702850a2e57f460d00d09b4b3" -dependencies = [ - "pin-project-internal", -] - -[[package]] -name = "pin-project-internal" -version = "1.1.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2f38a4412a78282e09a2cf38d195ea5420d15ba0602cb375210efbc877243965" -dependencies = [ - "proc-macro2", - "quote", - "syn 2.0.79", -] - [[package]] name = "pin-project-lite" version = "0.2.14" @@ -4394,9 +4408,9 @@ checksum = "8b870d8c151b6f2fb93e84a13146138f05d02ed11c7e7c54f8826aaaf7c9f184" [[package]] name = "pkg-config" -version = "0.3.30" +version = "0.3.31" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d231b230927b5e4ad203db57bbcbee2802f6bce620b1e4a9024a07d94e2907ec" +checksum = "953ec861398dccce10c670dfeaf3ec4911ca479e9c02154b3a215178c5f566f2" [[package]] name = "planus" @@ -4409,15 +4423,15 @@ dependencies = [ [[package]] name = "png" -version = "0.17.13" +version = "0.17.14" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "06e4b0d3d1312775e782c86c91a111aa1f910cbb65e1337f9975b5f9a554b5e1" +checksum = "52f9d46a34a05a6a57566bc2bfae066ef07585a6e3fa30fbbdff5936380623f0" dependencies = [ "bitflags 1.3.2", "crc32fast", "fdeflate", "flate2", - "miniz_oxide 0.7.4", + "miniz_oxide 0.8.0", ] [[package]] @@ -4515,7 +4529,7 @@ dependencies = [ "comfy-table", "either", "hashbrown 0.14.5", - "indexmap 2.4.0", + "indexmap 2.6.0", "num-traits", "once_cell", "polars-arrow", @@ -4654,7 +4668,7 @@ dependencies = [ "either", "hashbrown 0.14.5", "hex", - "indexmap 2.4.0", + "indexmap 2.6.0", "memchr", "num-traits", "polars-arrow", @@ -4804,11 +4818,11 @@ dependencies = [ "ahash", "bytemuck", "hashbrown 0.14.5", - "indexmap 2.4.0", + "indexmap 2.6.0", "num-traits", "once_cell", "polars-error", - "raw-cpuid 11.1.0", + "raw-cpuid 11.2.0", "rayon", "smartstring", "stacker", @@ -4816,17 +4830,11 @@ dependencies = [ "version_check", ] -[[package]] -name = "pollster" -version = "0.3.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "22686f4785f02a4fcc856d3b3bb19bf6c8160d103f7a99cc258bddd0251dc7f2" - [[package]] name = "portable-atomic" -version = "1.7.0" +version = "1.9.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "da544ee218f0d287a911e9c99a39a8c9bc8fcad3cb8db5959940044ecfc67265" +checksum = "cc9c68a3f6da06753e9335d63e27f6b9754dd1920d941135b7ea8224f141adb2" [[package]] name = "portable-atomic-util" @@ -4880,11 +4888,11 @@ dependencies = [ [[package]] name = "proc-macro-crate" -version = "3.1.0" +version = "3.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6d37c51ca738a55da99dc0c4a34860fd675453b8b36209178c2249bb13651284" +checksum = "8ecf48c7ca261d60b74ab1a7b20da18bede46776b2e55535cb958eb595c5fa7b" dependencies = [ - "toml_edit 0.21.1", + "toml_edit", ] [[package]] @@ -4913,27 +4921,27 @@ dependencies = [ [[package]] name = "proc-macro2" -version = "1.0.86" +version = "1.0.87" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5e719e8df665df0d1c8fbfd238015744736151d4445ec0836b8e628aae103b77" +checksum = "b3e4daa0dcf6feba26f985457cdf104d4b4256fc5a09547140f3631bb076b19a" dependencies = [ "unicode-ident", ] [[package]] name = "profiling" -version = "1.0.15" +version = "1.0.16" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "43d84d1d7a6ac92673717f9f6d1518374ef257669c24ebc5ac25d5033828be58" +checksum = "afbdc74edc00b6f6a218ca6a5364d6226a259d4b8ea1af4a0ea063f27e179f4d" dependencies = [ "profiling-procmacros", ] [[package]] name = "profiling-procmacros" -version = "1.0.15" +version = "1.0.16" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8021cf59c8ec9c432cfc2526ac6b8aa508ecaf29cd415f271b8406c1b851c3fd" +checksum = "a65f2e60fbf1063868558d69c6beacf412dc755f9fc020f514b7955fc914fe30" dependencies = [ "quote", "syn 2.0.79", @@ -4941,9 +4949,9 @@ dependencies = [ [[package]] name = "protobuf" -version = "3.5.1" +version = "3.7.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0bcc343da15609eaecd65f8aa76df8dc4209d325131d8219358c0aaaebab0bf6" +checksum = "a3a7c64d9bf75b1b8d981124c14c179074e8caa7dfe7b6a12e6222ddcd0c8f72" dependencies = [ "bytes", "once_cell", @@ -4953,9 +4961,9 @@ dependencies = [ [[package]] name = "protobuf-codegen" -version = "3.5.1" +version = "3.7.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c4d0cde5642ea4df842b13eb9f59ea6fafa26dcb43e3e1ee49120e9757556189" +checksum = "e26b833f144769a30e04b1db0146b2aaa53fd2fd83acf10a6b5f996606c18144" dependencies = [ "anyhow", "once_cell", @@ -4968,12 +4976,12 @@ dependencies = [ [[package]] name = "protobuf-parse" -version = "3.5.1" +version = "3.7.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1b0e9b447d099ae2c4993c0cbb03c7a9d6c937b17f2d56cfc0b1550e6fcfdb76" +checksum = "322330e133eab455718444b4e033ebfac7c6528972c784fcde28d2cc783c6257" dependencies = [ "anyhow", - "indexmap 2.4.0", + "indexmap 2.6.0", "log", "protobuf", "protobuf-support", @@ -4984,18 +4992,18 @@ dependencies = [ [[package]] name = "protobuf-support" -version = "3.5.1" +version = "3.7.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f0766e3675a627c327e4b3964582594b0e8741305d628a98a5de75a1d15f99b9" +checksum = "b088fd20b938a875ea00843b6faf48579462630015c3788d397ad6a786663252" dependencies = [ "thiserror", ] [[package]] name = "psm" -version = "0.1.21" +version = "0.1.23" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5787f7cda34e3033a72192c018bc5883100330f362ef279a8cbccfce8bb4e874" +checksum = "aa37f80ca58604976033fae9515a8a2989fc13797d953f7c04fb8fa36a11f205" dependencies = [ "cc", ] @@ -5206,9 +5214,9 @@ dependencies = [ [[package]] name = "raw-cpuid" -version = "11.1.0" +version = "11.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cb9ee317cfe3fbd54b36a511efc1edd42e216903c9cd575e686dd68a2ba90d8d" +checksum = "1ab240315c661615f2ee9f0f2cd32d5a7343a84d5ebcccb99d46e6637565e7b0" dependencies = [ "bitflags 2.6.0", ] @@ -5293,9 +5301,9 @@ dependencies = [ [[package]] name = "redox_syscall" -version = "0.5.3" +version = "0.5.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2a908a6e00f1fdd0dfd9c0eb08ce85126f6d8bbda50017e74bc4a4b7d4a926a4" +checksum = "9b6dfecf2c74bce2466cabf93f6664d6998a69eb21e39f4207930065b27b771f" dependencies = [ "bitflags 2.6.0", ] @@ -5381,7 +5389,7 @@ dependencies = [ "h2 0.3.26", "http 0.2.12", "http-body 0.4.6", - "hyper 0.14.30", + "hyper 0.14.31", "hyper-tls 0.5.0", "ipnet", "js-sys", @@ -5423,7 +5431,7 @@ dependencies = [ "http 1.1.0", "http-body 1.0.1", "http-body-util", - "hyper 1.4.1", + "hyper 1.5.0", "hyper-rustls", "hyper-tls 0.6.0", "hyper-util", @@ -5435,7 +5443,7 @@ dependencies = [ "once_cell", "percent-encoding", "pin-project-lite", - "rustls-pemfile 2.1.3", + "rustls-pemfile 2.2.0", "serde", "serde_json", "serde_urlencoded", @@ -5453,9 +5461,9 @@ dependencies = [ [[package]] name = "rgb" -version = "0.8.48" +version = "0.8.50" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0f86ae463694029097b846d8f99fd5536740602ae00022c0c50c5600720b2f71" +checksum = "57397d16646700483b67d2dd6511d79318f9d057fdbd21a4066aeac8b41d310a" dependencies = [ "bytemuck", ] @@ -5564,9 +5572,9 @@ checksum = "08d43f7aa6b08d49f382cde6a7982047c3426db949b1424bc4b7ec9ae12c6ce2" [[package]] name = "rustc_version" -version = "0.4.0" +version = "0.4.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bfa0f585226d2e68097d4f95d113b15b83a82e819ab25717ec0590d9584ef366" +checksum = "cfcb3a22ef46e85b45de6ee7e79d063319ebb6594faafcf1c225ea92ab6e9b92" dependencies = [ "semver", ] @@ -5586,9 +5594,9 @@ dependencies = [ [[package]] name = "rustls" -version = "0.23.12" +version = "0.23.14" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c58f8c84392efc0a126acce10fa59ff7b3d2ac06ab451a33f2741989b806b044" +checksum = "415d9944693cb90382053259f89fbb077ea730ad7273047ec63b19bc9b160ba8" dependencies = [ "log", "once_cell", @@ -5601,12 +5609,12 @@ dependencies = [ [[package]] name = "rustls-native-certs" -version = "0.7.2" +version = "0.7.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "04182dffc9091a404e0fc069ea5cd60e5b866c3adf881eff99a32d048242dffa" +checksum = "e5bfb394eeed242e909609f56089eecfe5fda225042e8b171791b9c95f5931e5" dependencies = [ "openssl-probe", - "rustls-pemfile 2.1.3", + "rustls-pemfile 2.2.0", "rustls-pki-types", "schannel", "security-framework", @@ -5623,25 +5631,24 @@ dependencies = [ [[package]] name = "rustls-pemfile" -version = "2.1.3" +version = "2.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "196fe16b00e106300d3e45ecfcb764fa292a535d7326a29a5875c579c7417425" +checksum = "dce314e5fee3f39953d46bb63bb8a46d40c2f8fb7cc5a3b6cab2bde9721d6e50" dependencies = [ - "base64 0.22.1", "rustls-pki-types", ] [[package]] name = "rustls-pki-types" -version = "1.8.0" +version = "1.10.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fc0a2ce646f8655401bb81e7927b812614bd5d91dbc968696be50603510fcaf0" +checksum = "16f1201b3c9a7ee8039bcadc17b7e605e2945b27eee7631788c1bd2b0643674b" [[package]] name = "rustls-webpki" -version = "0.102.6" +version = "0.102.8" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8e6b52d4fda176fd835fdc55a835d4a89b8499cad995885a21149d5ad62f852e" +checksum = "64ca1bc8749bd4cf37b5ce386cc146580777b4e8572c7b97baf22c83f444bee9" dependencies = [ "ring", "rustls-pki-types", @@ -5650,9 +5657,9 @@ dependencies = [ [[package]] name = "rustversion" -version = "1.0.17" +version = "1.0.18" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "955d28af4278de8121b7ebeb796b6a45735dc01436d898801014aced2773a3d6" +checksum = "0e819f2bc632f285be6d7cd36e25940d45b2391dd6d9b939e79de557f7014248" [[package]] name = "ryu" @@ -5672,9 +5679,9 @@ dependencies = [ [[package]] name = "safetensors" -version = "0.4.4" +version = "0.4.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7725d4d98fa515472f43a6e2bbf956c48e06b89bb50593a040e5945160214450" +checksum = "44560c11236a6130a46ce36c836a62936dc81ebf8c36a37947423571be0e55b6" dependencies = [ "serde", "serde_json", @@ -5701,20 +5708,20 @@ dependencies = [ [[package]] name = "scc" -version = "2.1.16" +version = "2.2.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "aeb7ac86243095b70a7920639507b71d51a63390d1ba26c4f60a552fbb914a37" +checksum = "f2c1f7fc6deb21665a9060dfc7d271be784669295a31babdcd4dd2c79ae8cbfb" dependencies = [ "sdd", ] [[package]] name = "schannel" -version = "0.1.23" +version = "0.1.26" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fbc91545643bcf3a0bbb6569265615222618bdf33ce4ffbbd13c4bbd4c093534" +checksum = "01227be5826fa0690321a2ba6c5cd57a19cf3f6a09e76973b58e61de6ab9d1c1" dependencies = [ - "windows-sys 0.52.0", + "windows-sys 0.59.0", ] [[package]] @@ -5734,9 +5741,9 @@ checksum = "94143f37725109f92c262ed2cf5e59bce7498c01bcc1502d7b9afe439a4e9f49" [[package]] name = "sdd" -version = "3.0.2" +version = "3.0.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0495e4577c672de8254beb68d01a9b62d0e8a13c099edecdbedccce3223cd29f" +checksum = "49c1eeaf4b6a87c7479688c6d52b9f1153cedd3c489300564f932b065c6eab95" [[package]] name = "security-framework" @@ -5753,9 +5760,9 @@ dependencies = [ [[package]] name = "security-framework-sys" -version = "2.11.1" +version = "2.12.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "75da29fe9b9b08fe9d6b22b5b4bcbc75d8db3aa31e639aa56bb62e9d46bfceaf" +checksum = "ea4a292869320c0272d7bc55a5a6aafaff59b4f63404a003887b679a2e05b4b6" dependencies = [ "core-foundation-sys", "libc", @@ -5837,9 +5844,9 @@ dependencies = [ [[package]] name = "serde_spanned" -version = "0.6.7" +version = "0.6.8" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "eb5b1b31579f3811bf615c144393417496f152e12ac8b7663bf664f4a815306d" +checksum = "87607cb1398ed59d48732e575a4c28a7a8ebf2454b964fe3f224f2afc07909e1" dependencies = [ "serde", ] @@ -5965,9 +5972,9 @@ dependencies = [ [[package]] name = "simdutf8" -version = "0.1.4" +version = "0.1.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f27f6278552951f1f2b8cf9da965d10969b2efdea95a6ec47987ab46edfe263a" +checksum = "e3a9fe34e3e7a50316060351f37187a3f546bce95496156754b601a5fa71b76e" [[package]] name = "simple-regression" @@ -6087,15 +6094,15 @@ checksum = "a8f112729512f8e442d81f95a8a7ddf2b7c6b8a1a6f509a95864142b30cab2d3" [[package]] name = "stacker" -version = "0.1.16" +version = "0.1.17" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "95a5daa25ea337c85ed954c0496e3bdd2c7308cc3b24cf7b50d04876654c579f" +checksum = "799c883d55abdb5e98af1a7b3f23b9b6de8ecada0ecac058672d7635eb48ca7b" dependencies = [ "cc", "cfg-if", "libc", "psm", - "windows-sys 0.36.1", + "windows-sys 0.59.0", ] [[package]] @@ -6592,9 +6599,9 @@ dependencies = [ [[package]] name = "tokio-util" -version = "0.7.11" +version = "0.7.12" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9cf6b47b3771c49ac75ad09a6162f53ad4b8088b76ac60e8ec1455b31a189fe1" +checksum = "61e7c3654c13bcd040d4a03abee2c75b1d14a37b423cf5a813ceae1cc903ec6a" dependencies = [ "bytes", "futures-core", @@ -6612,7 +6619,7 @@ dependencies = [ "serde", "serde_spanned", "toml_datetime", - "toml_edit 0.22.20", + "toml_edit", ] [[package]] @@ -6626,26 +6633,15 @@ dependencies = [ [[package]] name = "toml_edit" -version = "0.21.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6a8534fd7f78b5405e860340ad6575217ce99f38d4d5c8f2442cb5ecb50090e1" -dependencies = [ - "indexmap 2.4.0", - "toml_datetime", - "winnow 0.5.40", -] - -[[package]] -name = "toml_edit" -version = "0.22.20" +version = "0.22.22" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "583c44c02ad26b0c3f3066fe629275e50627026c51ac2e595cca4c230ce1ce1d" +checksum = "4ae48d6208a266e853d946088ed816055e556cc6028c5e8e2b84d9fa5dd7c7f5" dependencies = [ - "indexmap 2.4.0", + "indexmap 2.6.0", "serde", "serde_spanned", "toml_datetime", - "winnow 0.6.18", + "winnow", ] [[package]] @@ -6663,27 +6659,6 @@ dependencies = [ "zip 0.6.6", ] -[[package]] -name = "tower" -version = "0.4.13" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b8fa9be0de6cf49e536ce1851f987bd21a43b771b09473c3549a6c853db37c1c" -dependencies = [ - "futures-core", - "futures-util", - "pin-project", - "pin-project-lite", - "tokio", - "tower-layer", - "tower-service", -] - -[[package]] -name = "tower-layer" -version = "0.3.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "121c2a6cda46980bb0fcd1647ffaf6cd3fc79a013de288782836f6df9c48780e" - [[package]] name = "tower-service" version = "0.3.3" @@ -6711,9 +6686,9 @@ dependencies = [ [[package]] name = "tracel-xtask-macros" -version = "1.0.8" +version = "1.1.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b9b7ee23c050536c8c932ca7daaebbf45ff6c1d57f1bd65fc084833ac6a8d419" +checksum = "ef18b8547117d451354cf60d1a6781a6e2f4c7e34b0c06448a1414445d27b8d5" dependencies = [ "proc-macro2", "quote", @@ -6807,21 +6782,21 @@ checksum = "42ff0bf0c66b8238c6f3b578df37d0b7848e55df8577b3f74f92a69acceeb825" [[package]] name = "unicode-bidi" -version = "0.3.15" +version = "0.3.17" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "08f95100a766bf4f8f28f90d77e0a5461bbdb219042e7679bebe79004fed8d75" +checksum = "5ab17db44d7388991a428b2ee655ce0c212e862eff1768a455c58f9aad6e7893" [[package]] name = "unicode-ident" -version = "1.0.12" +version = "1.0.13" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3354b9ac3fae1ff6755cb6db53683adb661634f67557942dea4facebec0fee4b" +checksum = "e91b56cd4cadaeb79bbf1a5645f6b4f8dc5bde8834ad5894a8db35fda9efa1fe" [[package]] name = "unicode-normalization" -version = "0.1.23" +version = "0.1.24" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a56d1686db2308d901306f92a263857ef59ea39678a5458e7cb17f01415101f5" +checksum = "5033c97c4262335cded6d6fc3e5c18ab755e1a3dc96376350f3d8e9f009ad956" dependencies = [ "tinyvec", ] @@ -6846,9 +6821,9 @@ dependencies = [ [[package]] name = "unicode-segmentation" -version = "1.11.0" +version = "1.12.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d4c87d22b6e3f4a18d4d40ef354e97c90fcb14dd91d7dc0aa9d8a1172ebf7202" +checksum = "f6ccf251212114b54433ec949fd6a7841275f9ada20dddd2f29e9ceea4501493" [[package]] name = "unicode-truncate" @@ -6863,15 +6838,15 @@ dependencies = [ [[package]] name = "unicode-width" -version = "0.1.13" +version = "0.1.14" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0336d538f7abc86d282a4189614dfaa90810dfc2c6f6427eaf88e16311dd225d" +checksum = "7dd6e30e90baa6f72411720665d41d89b9a3d039dc45b8faea1ddd07f617f6af" [[package]] name = "unicode-xid" -version = "0.2.5" +version = "0.2.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "229730647fbc343e3a80e463c1db7f78f3855d3f3739bee0dda773c9a037c90a" +checksum = "ebc1c04c71510c7f702b52b7c350734c9ff1295c464a03335b00bb84fc54f853" [[package]] name = "unicode_categories" @@ -7087,9 +7062,9 @@ dependencies = [ [[package]] name = "web-sys" -version = "0.3.70" +version = "0.3.72" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "26fdeaafd9bd129f65e7c031593c24d62186301e0c72c8978fa1678be7d532c0" +checksum = "f6488b90108c040df0fe62fa815cbdee25124641df01814dd7282749234c6112" dependencies = [ "js-sys", "wasm-bindgen", @@ -7107,9 +7082,9 @@ dependencies = [ [[package]] name = "webpki-roots" -version = "0.26.3" +version = "0.26.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bd7c23921eeb1713a4e851530e9b9756e4fb0e89978582942612524cf09f01cd" +checksum = "841c67bff177718f1d4dfefde8d8f0e78f9b6589319ba88312f567fc5841a958" dependencies = [ "rustls-pki-types", ] @@ -7156,7 +7131,7 @@ dependencies = [ "bitflags 2.6.0", "cfg_aliases 0.1.1", "document-features", - "indexmap 2.4.0", + "indexmap 2.6.0", "log", "naga", "once_cell", @@ -7324,19 +7299,6 @@ dependencies = [ "windows-targets 0.52.6", ] -[[package]] -name = "windows-sys" -version = "0.36.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ea04155a16a59f9eab786fe12a4a450e75cdb175f9e0d80da1e17db09f55b8d2" -dependencies = [ - "windows_aarch64_msvc 0.36.1", - "windows_i686_gnu 0.36.1", - "windows_i686_msvc 0.36.1", - "windows_x86_64_gnu 0.36.1", - "windows_x86_64_msvc 0.36.1", -] - [[package]] name = "windows-sys" version = "0.48.0" @@ -7407,12 +7369,6 @@ version = "0.52.6" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "32a4622180e7a0ec044bb555404c800bc9fd9ec262ec147edd5989ccd0c02cd3" -[[package]] -name = "windows_aarch64_msvc" -version = "0.36.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9bb8c3fd39ade2d67e9874ac4f3db21f0d710bee00fe7cab16949ec184eeaa47" - [[package]] name = "windows_aarch64_msvc" version = "0.48.5" @@ -7425,12 +7381,6 @@ version = "0.52.6" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "09ec2a7bb152e2252b53fa7803150007879548bc709c039df7627cabbd05d469" -[[package]] -name = "windows_i686_gnu" -version = "0.36.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "180e6ccf01daf4c426b846dfc66db1fc518f074baa793aa7d9b9aaeffad6a3b6" - [[package]] name = "windows_i686_gnu" version = "0.48.5" @@ -7449,12 +7399,6 @@ version = "0.52.6" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "0eee52d38c090b3caa76c563b86c3a4bd71ef1a819287c19d586d7334ae8ed66" -[[package]] -name = "windows_i686_msvc" -version = "0.36.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e2e7917148b2812d1eeafaeb22a97e4813dfa60a3f8f78ebe204bcc88f12f024" - [[package]] name = "windows_i686_msvc" version = "0.48.5" @@ -7467,12 +7411,6 @@ version = "0.52.6" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "240948bc05c5e7c6dabba28bf89d89ffce3e303022809e73deaefe4f6ec56c66" -[[package]] -name = "windows_x86_64_gnu" -version = "0.36.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4dcd171b8776c41b97521e5da127a2d86ad280114807d0b2ab1e462bc764d9e1" - [[package]] name = "windows_x86_64_gnu" version = "0.48.5" @@ -7497,12 +7435,6 @@ version = "0.52.6" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "24d5b23dc417412679681396f2b49f3de8c1473deb516bd34410872eff51ed0d" -[[package]] -name = "windows_x86_64_msvc" -version = "0.36.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c811ca4a8c853ef420abd8592ba53ddbbac90410fab6903b3e79972a631f7680" - [[package]] name = "windows_x86_64_msvc" version = "0.48.5" @@ -7517,18 +7449,9 @@ checksum = "589f6da84c646204747d1270a2a5661ea66ed1cced2631d546fdfb155959f9ec" [[package]] name = "winnow" -version = "0.5.40" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f593a95398737aeed53e489c785df13f3618e41dbcd6718c6addbf1395aa6876" -dependencies = [ - "memchr", -] - -[[package]] -name = "winnow" -version = "0.6.18" +version = "0.6.20" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "68a9bda4691f099d435ad181000724da8e5899daa10713c2d432552b9ccd3a6f" +checksum = "36c1fec1a2bb5866f07c25f68c26e565c4c200aebb96d7e55710c19d3e8ac49b" dependencies = [ "memchr", ] @@ -7591,9 +7514,9 @@ dependencies = [ [[package]] name = "xml-rs" -version = "0.8.21" +version = "0.8.22" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "539a77ee7c0de333dcc6da69b177380a0b81e0dacfa4f7344c465a36871ee601" +checksum = "af4e2e2f7cba5a093896c1e150fbfe177d1883e7448200efb81d40b9d339ef26" [[package]] name = "xtask" @@ -7733,7 +7656,7 @@ dependencies = [ "crc32fast", "crossbeam-utils", "displaydoc", - "indexmap 2.4.0", + "indexmap 2.6.0", "num_enum", "thiserror", ] @@ -7747,14 +7670,14 @@ dependencies = [ "aes", "arbitrary", "bzip2", - "constant_time_eq 0.3.0", + "constant_time_eq 0.3.1", "crc32fast", "crossbeam-utils", "deflate64", "displaydoc", "flate2", "hmac", - "indexmap 2.4.0", + "indexmap 2.6.0", "lzma-rs", "memchr", "pbkdf2 0.12.2", diff --git a/Cargo.toml b/Cargo.toml index 77218f9f96..860b4cb322 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -94,7 +94,7 @@ zip = "2.2.0" # Async handling async-channel = "2.3" -pollster = "0.3" +futures-lite = { version = "2.3.0", default-features = false } # Terminal UI crossterm = "0.27.0" @@ -152,11 +152,11 @@ tch = "0.15.0" portable-atomic-util = { version = "0.2.2", features = ["alloc"] } ### For the main burn branch. ### -cubecl = { git = "https://github.com/tracel-ai/cubecl", default-features = false, rev = "fb47090f7a44952ae3e3b2b72f8c5a88d8af56fd" } -cubecl-common = { git = "https://github.com/tracel-ai/cubecl", default-features = false, rev = "fb47090f7a44952ae3e3b2b72f8c5a88d8af56fd" } +cubecl = { git = "https://github.com/tracel-ai/cubecl", default-features = false, rev = "ed136e2385b17e36680589f8a6245926f430f59f" } +cubecl-common = { git = "https://github.com/tracel-ai/cubecl", default-features = false, rev = "ed136e2385b17e36680589f8a6245926f430f59f" } ### For local development. ### -# cubecl = { path = "../cubecl/crates/cubecl" } -# cubecl-common = { path = "../cubecl/crates/cubecl-common" } +# cubecl = { path = "../cubecl/crates/cubecl", default-features = false } +# cubecl-common = { path = "../cubecl/crates/cubecl-common", default-features = false } ### For the release. ### # cubecl = { version="0.2.0", default-features = false } # cubecl-common = { version="0.2.0", default-features = false } diff --git a/backend-comparison/Cargo.toml b/backend-comparison/Cargo.toml index 14e1512c4e..bb1c2eca26 100644 --- a/backend-comparison/Cargo.toml +++ b/backend-comparison/Cargo.toml @@ -16,6 +16,7 @@ candle-cpu = ["burn/candle"] candle-cuda = ["burn/candle-cuda"] candle-metal = ["burn/candle", "burn/metal"] cuda-jit = ["burn/cuda-jit"] +cuda-jit-fusion = ["cuda-jit", "burn/fusion"] default = ["burn/std", "burn/autodiff", "burn/wgpu", "burn/autotune"] ndarray = ["burn/ndarray"] ndarray-blas-accelerate = ["burn/ndarray", "burn/accelerate"] diff --git a/backend-comparison/benches/autodiff.rs b/backend-comparison/benches/autodiff.rs index 9c5d130ed1..0d14af026c 100644 --- a/backend-comparison/benches/autodiff.rs +++ b/backend-comparison/benches/autodiff.rs @@ -7,10 +7,7 @@ use burn::{ Distribution, Tensor, }, }; -use burn_common::{ - benchmark::{run_benchmark, Benchmark}, - sync_type::SyncType, -}; +use burn_common::benchmark::{run_benchmark, Benchmark}; pub struct AutodiffOverheadBenchmark { config: nn::LstmConfig, @@ -50,7 +47,7 @@ impl Benchmark for AutodiffOverheadBenchmark { } fn sync(&self) { - B::sync(&self.device, SyncType::Wait) + B::sync(&self.device) } } diff --git a/backend-comparison/benches/binary.rs b/backend-comparison/benches/binary.rs index 5aff44cb93..4e5afa2f4a 100644 --- a/backend-comparison/benches/binary.rs +++ b/backend-comparison/benches/binary.rs @@ -1,9 +1,6 @@ use backend_comparison::persistence::save; use burn::tensor::{backend::Backend, Distribution, Shape, Tensor}; -use burn_common::{ - benchmark::{run_benchmark, Benchmark}, - sync_type::SyncType, -}; +use burn_common::benchmark::{run_benchmark, Benchmark}; pub struct BinaryBenchmark { shape: Shape, @@ -33,7 +30,7 @@ impl Benchmark for BinaryBenchmark { } fn sync(&self) { - B::sync(&self.device, SyncType::Wait); + B::sync(&self.device); } } diff --git a/backend-comparison/benches/conv2d.rs b/backend-comparison/benches/conv2d.rs index 52bc438bb8..d9fdf47a8c 100644 --- a/backend-comparison/benches/conv2d.rs +++ b/backend-comparison/benches/conv2d.rs @@ -2,10 +2,7 @@ use backend_comparison::persistence::save; use burn::tensor::{ backend::Backend, module::conv2d, ops::ConvOptions, Distribution, Shape, Tensor, }; -use burn_common::{ - benchmark::{run_benchmark, Benchmark}, - sync_type::SyncType, -}; +use burn_common::benchmark::{run_benchmark, Benchmark}; pub struct Conv2dBenchmark { input_shape: Shape, @@ -51,7 +48,7 @@ impl Benchmark for Conv2dBenchmark { } fn sync(&self) { - B::sync(&self.device, SyncType::Wait) + B::sync(&self.device) } } diff --git a/backend-comparison/benches/conv3d.rs b/backend-comparison/benches/conv3d.rs index cac8472c3b..827e1c09a2 100644 --- a/backend-comparison/benches/conv3d.rs +++ b/backend-comparison/benches/conv3d.rs @@ -2,10 +2,7 @@ use backend_comparison::persistence::save; use burn::tensor::{ backend::Backend, module::conv3d, ops::ConvOptions, Distribution, Shape, Tensor, }; -use burn_common::{ - benchmark::{run_benchmark, Benchmark}, - sync_type::SyncType, -}; +use burn_common::benchmark::{run_benchmark, Benchmark}; pub struct Conv3dBenchmark { input_shape: Shape, @@ -51,7 +48,7 @@ impl Benchmark for Conv3dBenchmark { } fn sync(&self) { - B::sync(&self.device, SyncType::Wait) + B::sync(&self.device) } } diff --git a/backend-comparison/benches/conv_transpose2d.rs b/backend-comparison/benches/conv_transpose2d.rs index 45d8497174..727d49d662 100644 --- a/backend-comparison/benches/conv_transpose2d.rs +++ b/backend-comparison/benches/conv_transpose2d.rs @@ -3,10 +3,7 @@ use burn::tensor::{ backend::Backend, module::conv_transpose2d, ops::ConvTransposeOptions, Distribution, Shape, Tensor, }; -use burn_common::{ - benchmark::{run_benchmark, Benchmark}, - sync_type::SyncType, -}; +use burn_common::benchmark::{run_benchmark, Benchmark}; pub struct ConvTranspose2dBenchmark { input_shape: Shape, @@ -52,7 +49,7 @@ impl Benchmark for ConvTranspose2dBenchmark { } fn sync(&self) { - B::sync(&self.device, SyncType::Wait) + B::sync(&self.device) } } diff --git a/backend-comparison/benches/conv_transpose3d.rs b/backend-comparison/benches/conv_transpose3d.rs index 330614654c..afc86e8ba8 100644 --- a/backend-comparison/benches/conv_transpose3d.rs +++ b/backend-comparison/benches/conv_transpose3d.rs @@ -3,10 +3,7 @@ use burn::tensor::{ backend::Backend, module::conv_transpose3d, ops::ConvTransposeOptions, Distribution, Shape, Tensor, }; -use burn_common::{ - benchmark::{run_benchmark, Benchmark}, - sync_type::SyncType, -}; +use burn_common::benchmark::{run_benchmark, Benchmark}; pub struct ConvTranspose3dBenchmark { input_shape: Shape, @@ -52,7 +49,7 @@ impl Benchmark for ConvTranspose3dBenchmark { } fn sync(&self) { - B::sync(&self.device, SyncType::Wait) + B::sync(&self.device) } } diff --git a/backend-comparison/benches/custom_gelu.rs b/backend-comparison/benches/custom_gelu.rs index d037df5be3..3d0758da2e 100644 --- a/backend-comparison/benches/custom_gelu.rs +++ b/backend-comparison/benches/custom_gelu.rs @@ -2,7 +2,6 @@ use backend_comparison::persistence::save; use burn::backend::Autodiff; use burn::tensor::{backend::Backend, Distribution, Shape, Tensor}; use burn_common::benchmark::{run_benchmark, Benchmark}; -use burn_common::sync_type::SyncType; use core::f64::consts::SQRT_2; use derive_new::new; @@ -69,7 +68,7 @@ impl Benchmark for CustomGeluBenchmark { } fn sync(&self) { - B::sync(&self.device, SyncType::Wait) + B::sync(&self.device) } fn num_samples(&self) -> usize { diff --git a/backend-comparison/benches/data.rs b/backend-comparison/benches/data.rs index 7f6ad0d093..7148f9633c 100644 --- a/backend-comparison/benches/data.rs +++ b/backend-comparison/benches/data.rs @@ -1,9 +1,6 @@ use backend_comparison::persistence::save; use burn::tensor::{backend::Backend, Distribution, Shape, Tensor, TensorData}; -use burn_common::{ - benchmark::{run_benchmark, Benchmark}, - sync_type::SyncType, -}; +use burn_common::benchmark::{run_benchmark, Benchmark}; use derive_new::new; #[derive(new)] @@ -32,7 +29,7 @@ impl Benchmark for ToDataBenchmark { } fn sync(&self) { - B::sync(&self.device, SyncType::Wait) + B::sync(&self.device) } } @@ -69,7 +66,7 @@ impl Benchmark for FromDataBenchmark { } fn sync(&self) { - B::sync(&self.device, SyncType::Wait) + B::sync(&self.device) } } diff --git a/backend-comparison/benches/load_record.rs b/backend-comparison/benches/load_record.rs index 5ab2d1d64b..5dfe2e641e 100644 --- a/backend-comparison/benches/load_record.rs +++ b/backend-comparison/benches/load_record.rs @@ -3,7 +3,6 @@ use burn::tensor::backend::Backend; use burn::tensor::Device; use burn::{config::Config, module::Module, nn}; use burn_common::benchmark::{run_benchmark, Benchmark}; -use burn_common::sync_type::SyncType; use derive_new::new; #[derive(Module, Debug)] @@ -94,7 +93,7 @@ impl Benchmark for LoadRecordBenchmark { } fn sync(&self) { - B::sync(&self.device, SyncType::Wait) + B::sync(&self.device) } } diff --git a/backend-comparison/benches/matmul.rs b/backend-comparison/benches/matmul.rs index ffdfbfb71c..e4766c3df5 100644 --- a/backend-comparison/benches/matmul.rs +++ b/backend-comparison/benches/matmul.rs @@ -1,9 +1,6 @@ use backend_comparison::persistence::save; use burn::tensor::{backend::Backend, Distribution, Shape, Tensor}; -use burn_common::{ - benchmark::{run_benchmark, Benchmark}, - sync_type::SyncType, -}; +use burn_common::benchmark::{run_benchmark, Benchmark}; use derive_new::new; #[derive(new)] @@ -40,7 +37,7 @@ impl Benchmark for MatmulBenchmark { } fn sync(&self) { - B::sync(&self.device, SyncType::Wait) + B::sync(&self.device) } } diff --git a/backend-comparison/benches/max_pool2d.rs b/backend-comparison/benches/max_pool2d.rs index fc01e43b28..898abfaeb8 100644 --- a/backend-comparison/benches/max_pool2d.rs +++ b/backend-comparison/benches/max_pool2d.rs @@ -1,9 +1,6 @@ use backend_comparison::persistence::save; use burn::tensor::{backend::Backend, module::max_pool2d, Distribution, Shape, Tensor}; -use burn_common::{ - benchmark::{run_benchmark, Benchmark}, - sync_type::SyncType, -}; +use burn_common::benchmark::{run_benchmark, Benchmark}; pub struct MaxPool2dBenchmark { shape: Shape, @@ -40,7 +37,7 @@ impl Benchmark for MaxPool2dBenchmark { } fn sync(&self) { - B::sync(&self.device, SyncType::Wait) + B::sync(&self.device) } } diff --git a/backend-comparison/benches/resnet.rs b/backend-comparison/benches/resnet.rs index 5264023e5e..6ecdd67f3a 100644 --- a/backend-comparison/benches/resnet.rs +++ b/backend-comparison/benches/resnet.rs @@ -1,7 +1,6 @@ use backend_comparison::persistence::save; use burn::tensor::{backend::Backend, Distribution, Shape, Tensor}; use burn_common::benchmark::{run_benchmark, Benchmark}; -use cubecl::client::SyncType; // Files retrieved during build to avoid reimplementing ResNet for benchmarks mod block { @@ -42,7 +41,7 @@ impl Benchmark for ResNetBenchmark { } fn sync(&self) { - B::sync(&self.device, SyncType::Wait) + B::sync(&self.device) } } diff --git a/backend-comparison/benches/unary.rs b/backend-comparison/benches/unary.rs index 540b45dbeb..5c7a26d970 100644 --- a/backend-comparison/benches/unary.rs +++ b/backend-comparison/benches/unary.rs @@ -1,9 +1,6 @@ use backend_comparison::persistence::save; use burn::tensor::{backend::Backend, Distribution, Shape, Tensor}; -use burn_common::{ - benchmark::{run_benchmark, Benchmark}, - sync_type::SyncType, -}; +use burn_common::benchmark::{run_benchmark, Benchmark}; use derive_new::new; #[derive(new)] @@ -33,7 +30,7 @@ impl Benchmark for UnaryBenchmark { } fn sync(&self) { - B::sync(&self.device, SyncType::Wait) + B::sync(&self.device) } } diff --git a/backend-comparison/src/burnbenchapp/base.rs b/backend-comparison/src/burnbenchapp/base.rs index f1aa169350..7097d93389 100644 --- a/backend-comparison/src/burnbenchapp/base.rs +++ b/backend-comparison/src/burnbenchapp/base.rs @@ -80,6 +80,8 @@ enum BackendValues { WgpuFusion, #[strum(to_string = "cuda-jit")] CudaJit, + #[strum(to_string = "cuda-jit-fusion")] + CudaJitFusion, } #[derive(Debug, Clone, PartialEq, Eq, ValueEnum, Display, EnumIter)] diff --git a/backend-comparison/src/lib.rs b/backend-comparison/src/lib.rs index 74111a89e2..09f3b34a4b 100644 --- a/backend-comparison/src/lib.rs +++ b/backend-comparison/src/lib.rs @@ -59,6 +59,8 @@ macro_rules! bench_on_backend { let feature_name = "wgpu-fusion"; #[cfg(feature = "cuda-jit")] let feature_name = "cuda-jit"; + #[cfg(feature = "cuda-jit-fusion")] + let feature_name = "cuda-jit-fusion"; #[cfg(feature = "wgpu")] { diff --git a/crates/burn-autodiff/src/backend.rs b/crates/burn-autodiff/src/backend.rs index 5918f2d24d..b1d597ad8d 100644 --- a/crates/burn-autodiff/src/backend.rs +++ b/crates/burn-autodiff/src/backend.rs @@ -5,7 +5,6 @@ use crate::{ tensor::AutodiffTensor, AutodiffBridge, }; -use burn_common::sync_type::SyncType; use burn_tensor::{ backend::{AutodiffBackend, Backend}, ops::{BoolTensor, IntTensor, QuantizedTensor}, @@ -50,8 +49,8 @@ impl Backend for Autodiff { B::seed(seed) } - fn sync(device: &B::Device, sync_type: SyncType) { - B::sync(device, sync_type) + fn sync(device: &B::Device) { + B::sync(device) } } diff --git a/crates/burn-candle/src/backend.rs b/crates/burn-candle/src/backend.rs index 88694fe1aa..3398591e9b 100644 --- a/crates/burn-candle/src/backend.rs +++ b/crates/burn-candle/src/backend.rs @@ -1,7 +1,7 @@ use std::marker::PhantomData; use burn_tensor::{ - backend::{Backend, DeviceId, DeviceOps, SyncType}, + backend::{Backend, DeviceId, DeviceOps}, quantization::{QTensorPrimitive, QuantizationStrategy}, Device, }; @@ -187,25 +187,20 @@ impl Backend for Candle { panic!("Manual seed not supported by Candle. ") } - fn sync(device: &Device, sync_type: SyncType) { - match sync_type { - SyncType::Wait => { - let device: candle_core::Device = (device.clone()).into(); - - match device { - candle_core::Device::Cpu => (), - candle_core::Device::Cuda(device) => { - #[cfg(feature = "cuda")] - device.synchronize().unwrap(); - } - candle_core::Device::Metal(device) => { - // For some reason, device.wait_until_completed() does not seem to work, - // and neither does writing and reading a value with into_data - panic!("Device synchronization unavailable with Metal device on Candle backend") - } - } + fn sync(device: &Device) { + let device: candle_core::Device = (device.clone()).into(); + + match device { + candle_core::Device::Cpu => (), + candle_core::Device::Cuda(device) => { + #[cfg(feature = "cuda")] + device.synchronize().unwrap(); } - SyncType::Flush => (), // Nothhing to flush. - }; + candle_core::Device::Metal(device) => { + // For some reason, device.wait_until_completed() does not seem to work, + // and neither does writing and reading a value with into_data + panic!("Device synchronization unavailable with Metal device on Candle backend") + } + } } } diff --git a/crates/burn-fusion/src/backend.rs b/crates/burn-fusion/src/backend.rs index 89dd28f7b2..8bed96b277 100644 --- a/crates/burn-fusion/src/backend.rs +++ b/crates/burn-fusion/src/backend.rs @@ -3,7 +3,7 @@ use crate::{ QFusionTensor, }; use burn_tensor::{ - backend::{Backend, DeviceOps, SyncType}, + backend::{Backend, DeviceOps}, ops::FloatTensor, repr::{OperationDescription, ReprBackend}, Device, @@ -50,10 +50,10 @@ impl Backend for Fusion { B::seed(seed); } - fn sync(device: &Self::Device, sync_type: SyncType) { + fn sync(device: &Self::Device) { let client = CLIENTS.client::(&device.clone()); client.drain(); - B::sync(device, sync_type); + B::sync(device); } fn ad_enabled() -> bool { diff --git a/crates/burn-jit/Cargo.toml b/crates/burn-jit/Cargo.toml index b24c1d58fc..5218feaf9d 100644 --- a/crates/burn-jit/Cargo.toml +++ b/crates/burn-jit/Cargo.toml @@ -43,6 +43,9 @@ num-traits = { workspace = true } rand = { workspace = true } spin = { workspace = true } +# Async +futures-lite = { workspace = true, features = ["std"] } + # Template serde = { workspace = true } text_placeholder = { workspace = true, features = ["struct_context"] } diff --git a/crates/burn-jit/src/backend.rs b/crates/burn-jit/src/backend.rs index 2e4271d6cb..46c520e2c9 100644 --- a/crates/burn-jit/src/backend.rs +++ b/crates/burn-jit/src/backend.rs @@ -2,7 +2,7 @@ use crate::{ tensor::{JitTensor, QJitTensor}, FloatElement, IntElement, JitRuntime, PrecisionBridge, }; -use burn_tensor::backend::{Backend, DeviceOps, SyncType}; +use burn_tensor::backend::{Backend, DeviceOps}; use cubecl::server::ComputeServer; use rand::{rngs::StdRng, SeedableRng}; use std::{marker::PhantomData, sync::Mutex}; @@ -51,13 +51,9 @@ where false } - fn sync(device: &Self::Device, sync_type: SyncType) { - let sync = match sync_type { - SyncType::Flush => cubecl::client::SyncType::Flush, - SyncType::Wait => cubecl::client::SyncType::Wait, - }; + fn sync(device: &Self::Device) { let client = R::client(device); - client.sync(sync); + futures_lite::future::block_on(client.sync()); } } diff --git a/crates/burn-tch/src/backend.rs b/crates/burn-tch/src/backend.rs index 2d9864cddf..64a987f892 100644 --- a/crates/burn-tch/src/backend.rs +++ b/crates/burn-tch/src/backend.rs @@ -2,7 +2,7 @@ use crate::{PrecisionBridge, QuantElement, TchQTensor}; use super::element::TchElement; use super::TchTensor; -use burn_tensor::backend::{Backend, DeviceId, DeviceOps, SyncType}; +use burn_tensor::backend::{Backend, DeviceId, DeviceOps}; use burn_tensor::ops::IntTensorOps; use burn_tensor::{Int, Tensor}; @@ -118,20 +118,19 @@ impl Backend for LibTorch { "tch".to_string() } - fn sync(device: &Self::Device, sync_type: SyncType) { - if sync_type == SyncType::Wait { - match device { - LibTorchDevice::Cpu => (), - LibTorchDevice::Cuda(index) => { - tch::Cuda::synchronize(*index as i64); - } - _ => { - // When there is no explicit way to synchronize, we write and read one value to sync - Tensor::::from_primitive( - >::int_zeros([1].into(), device), - ) - .into_data(); - } + fn sync(device: &Self::Device) { + match device { + LibTorchDevice::Cpu => (), + LibTorchDevice::Cuda(index) => { + tch::Cuda::synchronize(*index as i64); + } + _ => { + // When there is no explicit way to synchronize, we write and read one value to sync + Tensor::::from_primitive(>::int_zeros( + [1].into(), + device, + )) + .into_data(); } } } diff --git a/crates/burn-tensor/src/tensor/backend/base.rs b/crates/burn-tensor/src/tensor/backend/base.rs index df78fbf5e8..fecfcd68e9 100644 --- a/crates/burn-tensor/src/tensor/backend/base.rs +++ b/crates/burn-tensor/src/tensor/backend/base.rs @@ -1,5 +1,4 @@ use alloc::string::String; -pub use burn_common::sync_type::SyncType; use crate::tensor::Element; use crate::{ops::*, quantization::QTensorPrimitive}; @@ -103,7 +102,7 @@ pub trait Backend: fn seed(seed: u64); /// Sync the backend, ensure that all computation are finished. - fn sync(_device: &Self::Device, _sync_type: SyncType) {} + fn sync(_device: &Self::Device) {} } /// Trait that allows a backend to support autodiff. diff --git a/examples/text-generation/examples/text-generation.rs b/examples/text-generation/examples/text-generation.rs index 6b6823f5ff..c6b284f2dd 100644 --- a/examples/text-generation/examples/text-generation.rs +++ b/examples/text-generation/examples/text-generation.rs @@ -16,11 +16,7 @@ fn main() { ); text_generation::training::train::( - if cfg!(target_os = "macos") { - burn::tensor::Device::::Mps - } else { - burn::tensor::Device::::Cuda(0) - }, + Default::default(), DbPediaDataset::train(), DbPediaDataset::test(), config,