diff --git a/.github/workflows/publish.yml b/.github/workflows/publish.yml
index 945992a45c..4aa9c320b0 100644
--- a/.github/workflows/publish.yml
+++ b/.github/workflows/publish.yml
@@ -7,194 +7,160 @@ on:
workflow_dispatch:
inputs:
dry-run-only:
- description: "Run xtask publish in dry-run mode (no publish)"
+ description: "Run crate publish jobs in dry-run mode (no publish)"
type: boolean
required: false
default: false
jobs:
- publish-cubecl-zspace:
+ publish-t4a-cubecl-zspace:
uses: tracel-ai/github-actions/.github/workflows/publish-crate.yml@v8
with:
- crate: cubecl-zspace
+ crate: t4a-cubecl-zspace
dry-run-only: ${{ github.event_name == 'workflow_dispatch' && inputs.dry-run-only || false }}
secrets:
CRATES_IO_API_TOKEN: ${{ secrets.CRATES_IO_API_TOKEN }}
- publish-cubecl-common:
+ publish-t4a-cubecl-common:
uses: tracel-ai/github-actions/.github/workflows/publish-crate.yml@v8
with:
- crate: cubecl-common
+ crate: t4a-cubecl-common
dry-run-only: ${{ github.event_name == 'workflow_dispatch' && inputs.dry-run-only || false }}
secrets:
CRATES_IO_API_TOKEN: ${{ secrets.CRATES_IO_API_TOKEN }}
- publish-cubecl-macros-internal:
+ publish-t4a-cubecl-macros-internal:
uses: tracel-ai/github-actions/.github/workflows/publish-crate.yml@v8
with:
- crate: cubecl-macros-internal
+ crate: t4a-cubecl-macros-internal
dry-run-only: ${{ github.event_name == 'workflow_dispatch' && inputs.dry-run-only || false }}
secrets:
CRATES_IO_API_TOKEN: ${{ secrets.CRATES_IO_API_TOKEN }}
- publish-cubecl-ir:
+ publish-t4a-cubecl-ir:
needs:
- - publish-cubecl-common
- - publish-cubecl-macros-internal
+ - publish-t4a-cubecl-common
+ - publish-t4a-cubecl-macros-internal
uses: tracel-ai/github-actions/.github/workflows/publish-crate.yml@v8
with:
- crate: cubecl-ir
+ crate: t4a-cubecl-ir
dry-run-only: ${{ github.event_name == 'workflow_dispatch' && inputs.dry-run-only || false }}
secrets:
CRATES_IO_API_TOKEN: ${{ secrets.CRATES_IO_API_TOKEN }}
- publish-cubecl-std:
+ publish-t4a-cubecl-runtime:
needs:
- - publish-cubecl-core
- - publish-cubecl-runtime
+ - publish-t4a-cubecl-common
+ - publish-t4a-cubecl-ir
+ - publish-t4a-cubecl-zspace
uses: tracel-ai/github-actions/.github/workflows/publish-crate.yml@v8
with:
- crate: cubecl-std
+ crate: t4a-cubecl-runtime
dry-run-only: ${{ github.event_name == 'workflow_dispatch' && inputs.dry-run-only || false }}
secrets:
CRATES_IO_API_TOKEN: ${{ secrets.CRATES_IO_API_TOKEN }}
- publish-cubecl-runtime:
+ publish-t4a-cubecl-macros:
needs:
- - publish-cubecl-ir
- - publish-cubecl-common
+ - publish-t4a-cubecl-common
uses: tracel-ai/github-actions/.github/workflows/publish-crate.yml@v8
with:
- crate: cubecl-runtime
+ crate: t4a-cubecl-macros
dry-run-only: ${{ github.event_name == 'workflow_dispatch' && inputs.dry-run-only || false }}
secrets:
CRATES_IO_API_TOKEN: ${{ secrets.CRATES_IO_API_TOKEN }}
- publish-cubecl-macros:
+ publish-t4a-cubecl-core:
needs:
- - publish-cubecl-common
+ - publish-t4a-cubecl-common
+ - publish-t4a-cubecl-ir
+ - publish-t4a-cubecl-runtime
+ - publish-t4a-cubecl-macros
+ - publish-t4a-cubecl-zspace
uses: tracel-ai/github-actions/.github/workflows/publish-crate.yml@v8
with:
- crate: cubecl-macros
+ crate: t4a-cubecl-core
dry-run-only: ${{ github.event_name == 'workflow_dispatch' && inputs.dry-run-only || false }}
secrets:
CRATES_IO_API_TOKEN: ${{ secrets.CRATES_IO_API_TOKEN }}
- publish-cubecl-core:
+ publish-t4a-cubecl-opt:
needs:
- - publish-cubecl-ir
- - publish-cubecl-runtime
- - publish-cubecl-macros
+ - publish-t4a-cubecl-common
+ - publish-t4a-cubecl-core
+ - publish-t4a-cubecl-ir
uses: tracel-ai/github-actions/.github/workflows/publish-crate.yml@v8
with:
- crate: cubecl-core
+ crate: t4a-cubecl-opt
dry-run-only: ${{ github.event_name == 'workflow_dispatch' && inputs.dry-run-only || false }}
secrets:
CRATES_IO_API_TOKEN: ${{ secrets.CRATES_IO_API_TOKEN }}
- publish-cubecl-opt:
+ publish-t4a-cubecl-cpp:
needs:
- - publish-cubecl-ir
- - publish-cubecl-common
- - publish-cubecl-core
+ - publish-t4a-cubecl-common
+ - publish-t4a-cubecl-core
+ - publish-t4a-cubecl-opt
+ - publish-t4a-cubecl-runtime
uses: tracel-ai/github-actions/.github/workflows/publish-crate.yml@v8
with:
- crate: cubecl-opt
+ crate: t4a-cubecl-cpp
dry-run-only: ${{ github.event_name == 'workflow_dispatch' && inputs.dry-run-only || false }}
secrets:
CRATES_IO_API_TOKEN: ${{ secrets.CRATES_IO_API_TOKEN }}
- publish-cubecl-spirv:
+ publish-t4a-cubecl-std:
needs:
- - publish-cubecl-opt
- - publish-cubecl-common
- - publish-cubecl-core
- - publish-cubecl-runtime
+ - publish-t4a-cubecl-common
+ - publish-t4a-cubecl-core
+ - publish-t4a-cubecl-runtime
uses: tracel-ai/github-actions/.github/workflows/publish-crate.yml@v8
with:
- crate: cubecl-spirv
+ crate: t4a-cubecl-std
dry-run-only: ${{ github.event_name == 'workflow_dispatch' && inputs.dry-run-only || false }}
secrets:
CRATES_IO_API_TOKEN: ${{ secrets.CRATES_IO_API_TOKEN }}
- publish-cubecl-wgpu:
+ publish-t4a-cubecl-wgpu:
needs:
- - publish-cubecl-std
- - publish-cubecl-spirv
- - publish-cubecl-common
- - publish-cubecl-runtime
- - publish-cubecl-core
+ - publish-t4a-cubecl-common
+ - publish-t4a-cubecl-core
+ - publish-t4a-cubecl-cpp
+ - publish-t4a-cubecl-ir
+ - publish-t4a-cubecl-runtime
+ - publish-t4a-cubecl-std
uses: tracel-ai/github-actions/.github/workflows/publish-crate.yml@v8
with:
- crate: cubecl-wgpu
+ crate: t4a-cubecl-wgpu
dry-run-only: ${{ github.event_name == 'workflow_dispatch' && inputs.dry-run-only || false }}
secrets:
CRATES_IO_API_TOKEN: ${{ secrets.CRATES_IO_API_TOKEN }}
- publish-cubecl-cpp:
+ publish-t4a-cubecl-cuda:
needs:
- - publish-cubecl-common
- - publish-cubecl-runtime
- - publish-cubecl-core
- - publish-cubecl-opt
+ - publish-t4a-cubecl-common
+ - publish-t4a-cubecl-core
+ - publish-t4a-cubecl-cpp
+ - publish-t4a-cubecl-runtime
+ - publish-t4a-cubecl-std
uses: tracel-ai/github-actions/.github/workflows/publish-crate.yml@v8
with:
- crate: cubecl-cpp
+ crate: t4a-cubecl-cuda
dry-run-only: ${{ github.event_name == 'workflow_dispatch' && inputs.dry-run-only || false }}
secrets:
CRATES_IO_API_TOKEN: ${{ secrets.CRATES_IO_API_TOKEN }}
- publish-cubecl-cuda:
+ publish-t4a-cubecl:
needs:
- - publish-cubecl-std
- - publish-cubecl-cpp
- - publish-cubecl-common
- - publish-cubecl-runtime
- - publish-cubecl-core
+ - publish-t4a-cubecl-core
+ - publish-t4a-cubecl-cuda
+ - publish-t4a-cubecl-ir
+ - publish-t4a-cubecl-runtime
+ - publish-t4a-cubecl-std
+ - publish-t4a-cubecl-wgpu
uses: tracel-ai/github-actions/.github/workflows/publish-crate.yml@v8
with:
- crate: cubecl-cuda
- dry-run-only: ${{ github.event_name == 'workflow_dispatch' && inputs.dry-run-only || false }}
- secrets:
- CRATES_IO_API_TOKEN: ${{ secrets.CRATES_IO_API_TOKEN }}
-
- publish-cubecl-hip:
- needs:
- - publish-cubecl-std
- - publish-cubecl-cpp
- - publish-cubecl-common
- - publish-cubecl-runtime
- - publish-cubecl-core
- uses: tracel-ai/github-actions/.github/workflows/publish-crate.yml@v8
- with:
- crate: cubecl-hip
- dry-run-only: ${{ github.event_name == 'workflow_dispatch' && inputs.dry-run-only || false }}
- secrets:
- CRATES_IO_API_TOKEN: ${{ secrets.CRATES_IO_API_TOKEN }}
-
- publish-cubecl-cpu:
- needs:
- - publish-cubecl-common
- - publish-cubecl-std
- - publish-cubecl-core
- - publish-cubecl-runtime
- - publish-cubecl-opt
- uses: tracel-ai/github-actions/.github/workflows/publish-crate.yml@v8
- with:
- crate: cubecl-cpu
- dry-run-only: ${{ github.event_name == 'workflow_dispatch' && inputs.dry-run-only || false }}
- secrets:
- CRATES_IO_API_TOKEN: ${{ secrets.CRATES_IO_API_TOKEN }}
-
- publish-cubecl:
- needs:
- - publish-cubecl-core
- - publish-cubecl-cuda
- - publish-cubecl-wgpu
- - publish-cubecl-cpu
- uses: tracel-ai/github-actions/.github/workflows/publish-crate.yml@v8
- with:
- crate: cubecl
+ crate: t4a-cubecl
dry-run-only: ${{ github.event_name == 'workflow_dispatch' && inputs.dry-run-only || false }}
secrets:
CRATES_IO_API_TOKEN: ${{ secrets.CRATES_IO_API_TOKEN }}
diff --git a/AGENTS.md b/AGENTS.md
index f863252f79..62b0610e63 100644
--- a/AGENTS.md
+++ b/AGENTS.md
@@ -35,23 +35,22 @@ This repository is the `tensor4all/cubecl` fork of upstream
tenferro may depend on:
```toml
- cubecl = { package = "t4a-cubecl", version = "=0.10.0-t4a.1", features = ["cuda"] }
- cubecl-cuda = { package = "t4a-cubecl-cuda", version = "=0.10.0-t4a.1" }
- cubecl-runtime = { package = "t4a-cubecl-runtime", version = "=0.10.0-t4a.1" }
+ cubecl = { package = "t4a-cubecl", version = "=0.10.0", features = ["cuda"] }
+ cubecl-cuda = { package = "t4a-cubecl-cuda", version = "=0.10.0" }
+ cubecl-runtime = { package = "t4a-cubecl-runtime", version = "=0.10.0" }
```
- Publish only the first-party crate dependency closure required by
`tenferro-rs`. Do not publish unused CubeCL workspace crates unless tenferro
starts requiring them.
-- For the current CUDA path, the expected publish set is:
+- For the current CUDA and WebGPU paths, the expected publish set is:
`t4a-cubecl`, `t4a-cubecl-common`, `t4a-cubecl-core`,
`t4a-cubecl-ir`, `t4a-cubecl-macros`,
`t4a-cubecl-macros-internal`, `t4a-cubecl-runtime`,
`t4a-cubecl-zspace`, `t4a-cubecl-std`, `t4a-cubecl-cuda`,
- `t4a-cubecl-cpp`, and `t4a-cubecl-opt`.
-- Do not publish `cubecl-cpu`, `cubecl-hip`, `cubecl-wgpu`,
- `cubecl-spirv`, examples, or `xtask` unless they become required by
- tenferro.
+ `t4a-cubecl-wgpu`, `t4a-cubecl-cpp`, and `t4a-cubecl-opt`.
+- Do not publish `cubecl-cpu`, `cubecl-hip`, `cubecl-spirv`, examples, or
+ `xtask` unless they become required by tenferro.
## Public Messaging
diff --git a/Cargo.toml b/Cargo.toml
index 897f8eb0d5..79216152ea 100644
--- a/Cargo.toml
+++ b/Cargo.toml
@@ -4,7 +4,7 @@
# https://doc.rust-lang.org/cargo/reference/resolver.html#feature-resolver-version-2
resolver = "2"
-members = ["crates/*", "examples/*", "xtask"]
+members = ["crates/*", "xtask"]
[workspace.package]
edition = "2024"
diff --git a/README.md b/README.md
index af112ca08e..bf6544522b 100644
--- a/README.md
+++ b/README.md
@@ -1,3 +1,9 @@
+> **tensor4all temporary fork.** The `t4a-cubecl*` crates published from this
+> repository are temporary tensor4all fork packages used by `tenferro-rs` while
+> required patches are being upstreamed to the official CubeCL project. They are
+> not a replacement for upstream CubeCL, and the intent is to return to upstream
+> package names once the needed patches have landed.
+

diff --git a/crates/cubecl-common/Cargo.toml b/crates/cubecl-common/Cargo.toml
index cc7b83c472..1c6fd0731a 100644
--- a/crates/cubecl-common/Cargo.toml
+++ b/crates/cubecl-common/Cargo.toml
@@ -4,16 +4,20 @@ authors = [
"Nathaniel Simard (@nathanielsimard)",
]
categories = ["science", "mathematics", "algorithms"]
-description = "Common crate for CubeCL"
+description = "Temporary tensor4all fork of CubeCL common utilities"
edition.workspace = true
keywords = ["gpu", "cuda", "wgpu"]
license.workspace = true
-name = "cubecl-common"
-readme.workspace = true
-repository = "https://github.com/tracel-ai/cubecl/tree/main/crates/cubecl-common"
+name = "t4a-cubecl-common"
+readme = "README.md"
+repository = "https://github.com/tensor4all/cubecl/tree/main/crates/cubecl-common"
version.workspace = true
+[lib]
+name = "cubecl_common"
+
+
[lints]
workspace = true
diff --git a/crates/cubecl-common/README.md b/crates/cubecl-common/README.md
index 782e768646..3b30ef3d8c 100644
--- a/crates/cubecl-common/README.md
+++ b/crates/cubecl-common/README.md
@@ -1,3 +1,5 @@
+> **tensor4all temporary fork.** This `t4a-cubecl*` package is a temporary tensor4all fork used by `tenferro-rs` while required patches are being upstreamed to the official CubeCL project. It is not a replacement for upstream CubeCL.
+
# CubeCL Common
The `cubecl-common` package hosts code that _must_ be shared between cubecl packages (with `std` or
diff --git a/crates/cubecl-core/Cargo.toml b/crates/cubecl-core/Cargo.toml
index f0382dc089..ddec307d54 100644
--- a/crates/cubecl-core/Cargo.toml
+++ b/crates/cubecl-core/Cargo.toml
@@ -4,16 +4,20 @@ authors = [
"louisfd
",
]
categories = ["science", "mathematics", "algorithms"]
-description = "CubeCL core create"
+description = "Temporary tensor4all fork of CubeCL core"
edition.workspace = true
keywords = []
license.workspace = true
-name = "cubecl-core"
+name = "t4a-cubecl-core"
readme.workspace = true
-repository = "https://github.com/tracel-ai/cubecl/tree/main/crates/cubecl-core"
+repository = "https://github.com/tensor4all/cubecl/tree/main/crates/cubecl-core"
version.workspace = true
+[lib]
+name = "cubecl_core"
+
+
[lints]
workspace = true
@@ -32,16 +36,16 @@ log = { workspace = true }
test-log = { workspace = true, optional = true }
tracing = { workspace = true, features = ["attributes"], optional = true }
-cubecl-ir = { path = "../cubecl-ir", version = "0.10.0", default-features = false, features = [
+cubecl-ir = { package = "t4a-cubecl-ir", path = "../cubecl-ir", version = "0.10.0", default-features = false, features = [
"serde",
] }
-cubecl-runtime = { path = "../cubecl-runtime", version = "0.10.0", default-features = false }
-cubecl-zspace = { path = "../cubecl-zspace", version = "0.10.0" }
+cubecl-runtime = { package = "t4a-cubecl-runtime", path = "../cubecl-runtime", version = "0.10.0", default-features = false }
+cubecl-zspace = { package = "t4a-cubecl-zspace", path = "../cubecl-zspace", version = "0.10.0" }
bitflags = { workspace = true }
bytemuck = { workspace = true }
-cubecl-common = { path = "../cubecl-common", version = "0.10.0", default-features = false }
-cubecl-macros = { path = "../cubecl-macros", version = "0.10.0", default-features = false }
+cubecl-common = { package = "t4a-cubecl-common", path = "../cubecl-common", version = "0.10.0", default-features = false }
+cubecl-macros = { package = "t4a-cubecl-macros", path = "../cubecl-macros", version = "0.10.0", default-features = false }
derive-new = { workspace = true }
derive_more = { workspace = true, features = [
"not",
diff --git a/crates/cubecl-cpp/Cargo.toml b/crates/cubecl-cpp/Cargo.toml
index da920cb01f..9fb45ab16c 100644
--- a/crates/cubecl-cpp/Cargo.toml
+++ b/crates/cubecl-cpp/Cargo.toml
@@ -1,16 +1,20 @@
[package]
authors = ["nathanielsimard "]
categories = ["science"]
-description = "CPP transpiler for CubeCL"
+description = "Temporary tensor4all fork of CubeCL C++ transpiler"
edition.workspace = true
keywords = ["cpp", "gpu", "cuda", "hip", "metal"]
license.workspace = true
-name = "cubecl-cpp"
+name = "t4a-cubecl-cpp"
readme.workspace = true
-repository = "https://github.com/tracel-ai/cubecl/tree/main/crates/cubecl-cpp"
+repository = "https://github.com/tensor4all/cubecl/tree/main/crates/cubecl-cpp"
version.workspace = true
+[lib]
+name = "cubecl_cpp"
+
+
[lints]
workspace = true
@@ -35,11 +39,11 @@ tracing = [
]
[dependencies]
-cubecl-common = { path = "../cubecl-common", version = "0.10.0", default-features = false }
-cubecl-core = { path = "../cubecl-core", version = "0.10.0", default-features = false }
+cubecl-common = { package = "t4a-cubecl-common", path = "../cubecl-common", version = "0.10.0", default-features = false }
+cubecl-core = { package = "t4a-cubecl-core", path = "../cubecl-core", version = "0.10.0", default-features = false }
# For shared allocation
-cubecl-opt = { path = "../cubecl-opt", version = "0.10.0", default-features = false }
-cubecl-runtime = { path = "../cubecl-runtime", version = "0.10.0", default-features = false, features = [
+cubecl-opt = { package = "t4a-cubecl-opt", path = "../cubecl-opt", version = "0.10.0", default-features = false }
+cubecl-runtime = { package = "t4a-cubecl-runtime", path = "../cubecl-runtime", version = "0.10.0", default-features = false, features = [
"channel-mutex",
] }
itertools = { version = "0.14.0", default-features = false }
diff --git a/crates/cubecl-cpu/Cargo.toml b/crates/cubecl-cpu/Cargo.toml
index 34d76051e9..00839f8e67 100644
--- a/crates/cubecl-cpu/Cargo.toml
+++ b/crates/cubecl-cpu/Cargo.toml
@@ -8,7 +8,7 @@ license.workspace = true
name = "cubecl-cpu"
publish = false
readme.workspace = true
-repository = "https://github.com/tracel-ai/cubecl/tree/main/crates/cubecl-cpu"
+repository = "https://github.com/tensor4all/cubecl/tree/main/crates/cubecl-cpu"
version.workspace = true
@@ -36,21 +36,21 @@ tracing = [
[dependencies]
-cubecl-common = { path = "../cubecl-common", version = "0.10.0", default-features = false, features = [
+cubecl-common = { package = "t4a-cubecl-common", path = "../cubecl-common", version = "0.10.0", default-features = false, features = [
"std",
] }
-cubecl-core = { path = "../cubecl-core", version = "0.10.0", default-features = false, features = [
+cubecl-core = { package = "t4a-cubecl-core", path = "../cubecl-core", version = "0.10.0", default-features = false, features = [
"std",
] }
-cubecl-opt = { path = "../cubecl-opt", version = "0.10.0", default-features = false, features = [
+cubecl-opt = { package = "t4a-cubecl-opt", path = "../cubecl-opt", version = "0.10.0", default-features = false, features = [
"std",
] }
-cubecl-runtime = { path = "../cubecl-runtime", version = "0.10.0", default-features = false, features = [
+cubecl-runtime = { package = "t4a-cubecl-runtime", path = "../cubecl-runtime", version = "0.10.0", default-features = false, features = [
"channel-mutex",
"std",
"storage-bytes",
] }
-cubecl-std = { path = "../cubecl-std", version = "0.10.0", default-features = false }
+cubecl-std = { package = "t4a-cubecl-std", path = "../cubecl-std", version = "0.10.0", default-features = false }
bytemuck = { workspace = true }
@@ -64,10 +64,10 @@ paste = { workspace = true }
[dev-dependencies]
test-log = { workspace = true, features = ["trace"] }
-cubecl-core = { path = "../cubecl-core", version = "0.10.0", features = [
+cubecl-core = { package = "t4a-cubecl-core", path = "../cubecl-core", version = "0.10.0", features = [
"export_tests",
] }
-cubecl-std = { path = "../cubecl-std", version = "0.10.0", features = [
+cubecl-std = { package = "t4a-cubecl-std", path = "../cubecl-std", version = "0.10.0", features = [
"export_tests",
] }
paste = { workspace = true }
diff --git a/crates/cubecl-cuda/Cargo.toml b/crates/cubecl-cuda/Cargo.toml
index efe149f64c..642363a38a 100644
--- a/crates/cubecl-cuda/Cargo.toml
+++ b/crates/cubecl-cuda/Cargo.toml
@@ -1,16 +1,20 @@
[package]
authors = ["nathanielsimard "]
categories = ["science"]
-description = "CUDA runtime for CubeCL"
+description = "Temporary tensor4all fork of CubeCL CUDA runtime"
edition.workspace = true
keywords = ["gpu", "cuda"]
license.workspace = true
-name = "cubecl-cuda"
-readme.workspace = true
-repository = "https://github.com/tracel-ai/cubecl/tree/main/crates/cubecl-cuda"
+name = "t4a-cubecl-cuda"
+readme = "README.md"
+repository = "https://github.com/tensor4all/cubecl/tree/main/crates/cubecl-cuda"
version.workspace = true
+[lib]
+name = "cubecl_cuda"
+
+
[lints]
workspace = true
@@ -39,15 +43,15 @@ log = { workspace = true }
tracing = { workspace = true, features = ["attributes"], optional = true }
bytemuck = { workspace = true }
-cubecl-common = { path = "../cubecl-common", version = "0.10.0", default-features = false, features = [
+cubecl-common = { package = "t4a-cubecl-common", path = "../cubecl-common", version = "0.10.0", default-features = false, features = [
"compilation-cache",
"hash",
] }
-cubecl-core = { path = "../cubecl-core", version = "0.10.0", default-features = false }
-cubecl-cpp = { path = "../cubecl-cpp", version = "0.10.0", default-features = false, features = [
+cubecl-core = { package = "t4a-cubecl-core", path = "../cubecl-core", version = "0.10.0", default-features = false }
+cubecl-cpp = { package = "t4a-cubecl-cpp", path = "../cubecl-cpp", version = "0.10.0", default-features = false, features = [
"cuda",
] }
-cubecl-runtime = { path = "../cubecl-runtime", version = "0.10.0", default-features = false, features = [
+cubecl-runtime = { package = "t4a-cubecl-runtime", path = "../cubecl-runtime", version = "0.10.0", default-features = false, features = [
"channel-mutex",
"std",
] }
@@ -59,10 +63,10 @@ serde = { workspace = true }
[dev-dependencies]
-cubecl-core = { path = "../cubecl-core", version = "0.10.0", features = [
+cubecl-core = { package = "t4a-cubecl-core", path = "../cubecl-core", version = "0.10.0", features = [
"export_tests",
] }
-cubecl-std = { path = "../cubecl-std", version = "0.10.0", features = [
+cubecl-std = { package = "t4a-cubecl-std", path = "../cubecl-std", version = "0.10.0", features = [
"export_tests",
] }
paste = { workspace = true }
diff --git a/crates/cubecl-cuda/README.md b/crates/cubecl-cuda/README.md
index a02ef40f27..4b3ddc3b12 100644
--- a/crates/cubecl-cuda/README.md
+++ b/crates/cubecl-cuda/README.md
@@ -1,3 +1,5 @@
+> **tensor4all temporary fork.** This `t4a-cubecl*` package is a temporary tensor4all fork used by `tenferro-rs` while required patches are being upstreamed to the official CubeCL project. It is not a replacement for upstream CubeCL.
+
# Cuda runtime
The runtime uses the lower level primitives from [cudarc](https://github.com/coreylowman/cudarc) to compile generated CUDA code into a ptx and execute it at runtime.
diff --git a/crates/cubecl-hip/Cargo.toml b/crates/cubecl-hip/Cargo.toml
index 2b5f57a2ba..84b2f72cf7 100644
--- a/crates/cubecl-hip/Cargo.toml
+++ b/crates/cubecl-hip/Cargo.toml
@@ -8,7 +8,7 @@ license.workspace = true
name = "cubecl-hip"
publish = false
readme.workspace = true
-repository = "https://github.com/tracel-ai/cubecl/tree/main/crates/cubecl-hip"
+repository = "https://github.com/tensor4all/cubecl/tree/main/crates/cubecl-hip"
version.workspace = true
@@ -41,17 +41,17 @@ tracing = [
log = { workspace = true }
tracing = { workspace = true, features = ["attributes"], optional = true }
-cubecl-common = { path = "../cubecl-common", version = "0.10.0", features = [
+cubecl-common = { package = "t4a-cubecl-common", path = "../cubecl-common", version = "0.10.0", features = [
"compilation-cache",
"std",
"hash",
] }
-cubecl-core = { path = "../cubecl-core", version = "0.10.0", default-features = false }
-cubecl-cpp = { path = "../cubecl-cpp", version = "0.10.0", default-features = false, features = [
+cubecl-core = { package = "t4a-cubecl-core", path = "../cubecl-core", version = "0.10.0", default-features = false }
+cubecl-cpp = { package = "t4a-cubecl-cpp", path = "../cubecl-cpp", version = "0.10.0", default-features = false, features = [
"hip",
] }
cubecl-hip-sys = { version = "7.1.5280200" }
-cubecl-runtime = { path = "../cubecl-runtime", version = "0.10.0", default-features = false, features = [
+cubecl-runtime = { package = "t4a-cubecl-runtime", path = "../cubecl-runtime", version = "0.10.0", default-features = false, features = [
"channel-mutex",
] }
@@ -63,10 +63,10 @@ paste = { workspace = true }
serde = { workspace = true }
[dev-dependencies]
-cubecl-core = { path = "../cubecl-core", version = "0.10.0", features = [
+cubecl-core = { package = "t4a-cubecl-core", path = "../cubecl-core", version = "0.10.0", features = [
"export_tests",
] }
-cubecl-std = { path = "../cubecl-std", version = "0.10.0", features = [
+cubecl-std = { package = "t4a-cubecl-std", path = "../cubecl-std", version = "0.10.0", features = [
"export_tests",
] }
pretty_assertions = { workspace = true }
diff --git a/crates/cubecl-ir/Cargo.toml b/crates/cubecl-ir/Cargo.toml
index e2ef0dd1a3..b94eae0eab 100644
--- a/crates/cubecl-ir/Cargo.toml
+++ b/crates/cubecl-ir/Cargo.toml
@@ -4,16 +4,20 @@ authors = [
"louisfd **tensor4all temporary fork.** This `t4a-cubecl*` package is a temporary tensor4all fork used by `tenferro-rs` while required patches are being upstreamed to the official CubeCL project. It is not a replacement for upstream CubeCL.
+
# CubeCL Intermediate Representation
The intermediate representation produced by the CubeCL frontend, and consumed by the backends.
diff --git a/crates/cubecl-macros-internal/Cargo.toml b/crates/cubecl-macros-internal/Cargo.toml
index fef2c69d9b..04a1df553d 100644
--- a/crates/cubecl-macros-internal/Cargo.toml
+++ b/crates/cubecl-macros-internal/Cargo.toml
@@ -4,16 +4,17 @@ authors = [
"louisfd **tensor4all temporary fork.** This `t4a-cubecl*` package is a temporary tensor4all fork used by `tenferro-rs` while required patches are being upstreamed to the official CubeCL project. It is not a replacement for upstream CubeCL.
+
# CubeCL internal macros
Internal procedural macros for generating additional implementations on the CubeCL IR.
diff --git a/crates/cubecl-macros/Cargo.toml b/crates/cubecl-macros/Cargo.toml
index ef34f187be..723b402037 100644
--- a/crates/cubecl-macros/Cargo.toml
+++ b/crates/cubecl-macros/Cargo.toml
@@ -4,16 +4,17 @@ authors = [
"louisfd **tensor4all temporary fork.** This `t4a-cubecl*` package is a temporary tensor4all fork used by `tenferro-rs` while required patches are being upstreamed to the official CubeCL project. It is not a replacement for upstream CubeCL.
+
# Compiler Optimizations
WIP
diff --git a/crates/cubecl-runtime/Cargo.toml b/crates/cubecl-runtime/Cargo.toml
index 01c3efcf9b..55c6371588 100644
--- a/crates/cubecl-runtime/Cargo.toml
+++ b/crates/cubecl-runtime/Cargo.toml
@@ -1,16 +1,20 @@
[package]
authors = ["louisfd ", "Nathaniel Simard"]
categories = ["science"]
-description = "Crate that helps creating high performance async runtimes for CubeCL."
+description = "Temporary tensor4all fork of CubeCL runtime support"
edition.workspace = true
keywords = ["deep-learning", "machine-learning", "data"]
license.workspace = true
-name = "cubecl-runtime"
-readme.workspace = true
-repository = "https://github.com/tracel-ai/cubecl/tree/main/crates/cubecl-runtime"
+name = "t4a-cubecl-runtime"
+readme = "README.md"
+repository = "https://github.com/tensor4all/cubecl/tree/main/crates/cubecl-runtime"
version.workspace = true
+[lib]
+name = "cubecl_runtime"
+
+
[lints]
workspace = true
@@ -43,11 +47,11 @@ tracing = { workspace = true, features = ["attributes"], optional = true }
async-channel = { workspace = true } # Assume std
bytemuck = { workspace = true }
cfg-if = { workspace = true }
-cubecl-common = { path = "../cubecl-common", version = "0.10.0", default-features = false }
-cubecl-ir = { path = "../cubecl-ir", version = "0.10.0", default-features = false, features = [
+cubecl-common = { package = "t4a-cubecl-common", path = "../cubecl-common", version = "0.10.0", default-features = false }
+cubecl-ir = { package = "t4a-cubecl-ir", path = "../cubecl-ir", version = "0.10.0", default-features = false, features = [
"serde",
] }
-cubecl-zspace = { path = "../cubecl-zspace", version = "0.10.0", default-features = false }
+cubecl-zspace = { package = "t4a-cubecl-zspace", path = "../cubecl-zspace", version = "0.10.0", default-features = false }
derive-new = { workspace = true }
derive_more = { workspace = true, features = ["eq"] }
dirs = { workspace = true, optional = true }
@@ -63,7 +67,7 @@ md5 = { workspace = true }
# Persistent cache deps - has to match the cfg(std_io) cfg.
[target.'cfg(any(target_os = "windows", target_os = "linux", target_os = "macos", target_os = "android"))'.dependencies]
-cubecl-common = { path = "../cubecl-common", version = "0.10.0", default-features = false, features = [
+cubecl-common = { package = "t4a-cubecl-common", path = "../cubecl-common", version = "0.10.0", default-features = false, features = [
"cache",
"serde",
"hash",
diff --git a/crates/cubecl-runtime/README.md b/crates/cubecl-runtime/README.md
index a3fe250e02..392b391e57 100644
--- a/crates/cubecl-runtime/README.md
+++ b/crates/cubecl-runtime/README.md
@@ -1,3 +1,5 @@
+> **tensor4all temporary fork.** This `t4a-cubecl*` package is a temporary tensor4all fork used by `tenferro-rs` while required patches are being upstreamed to the official CubeCL project. It is not a replacement for upstream CubeCL.
+
# CubeCL Runtime
This crate helps creating high performance async runtimes.
diff --git a/crates/cubecl-spirv/Cargo.toml b/crates/cubecl-spirv/Cargo.toml
index 4201fe1cb4..4b165f9d3a 100644
--- a/crates/cubecl-spirv/Cargo.toml
+++ b/crates/cubecl-spirv/Cargo.toml
@@ -8,7 +8,7 @@ license.workspace = true
name = "cubecl-spirv"
publish = false
readme.workspace = true
-repository = "https://github.com/tracel-ai/cubecl/tree/main/crates/cubecl-spirv"
+repository = "https://github.com/tensor4all/cubecl/tree/main/crates/cubecl-spirv"
version.workspace = true
@@ -34,9 +34,9 @@ tracing = [
[dependencies]
bitflags = { workspace = true }
-cubecl-common = { path = "../cubecl-common", version = "0.10.0", default-features = false }
-cubecl-core = { path = "../cubecl-core", version = "0.10.0" }
-cubecl-runtime = { path = "../cubecl-runtime", version = "0.10.0", default-features = false, features = [
+cubecl-common = { package = "t4a-cubecl-common", path = "../cubecl-common", version = "0.10.0", default-features = false }
+cubecl-core = { package = "t4a-cubecl-core", path = "../cubecl-core", version = "0.10.0" }
+cubecl-runtime = { package = "t4a-cubecl-runtime", path = "../cubecl-runtime", version = "0.10.0", default-features = false, features = [
"channel-mutex",
] }
half = { workspace = true }
@@ -47,4 +47,4 @@ hashbrown = { workspace = true }
rspirv = { workspace = true, features = ["serialize", "deserialize"] }
# Optimizer
-cubecl-opt = { path = "../cubecl-opt", version = "0.10.0" }
+cubecl-opt = { package = "t4a-cubecl-opt", path = "../cubecl-opt", version = "0.10.0" }
diff --git a/crates/cubecl-std/Cargo.toml b/crates/cubecl-std/Cargo.toml
index e0087a8524..3cf3c6ef62 100644
--- a/crates/cubecl-std/Cargo.toml
+++ b/crates/cubecl-std/Cargo.toml
@@ -5,16 +5,20 @@ authors = [
"maxtremblay ",
]
categories = ["science", "mathematics", "algorithms"]
-description = "CubeCL Standard Library."
+description = "Temporary tensor4all fork of CubeCL standard library"
edition.workspace = true
keywords = []
license.workspace = true
-name = "cubecl-std"
+name = "t4a-cubecl-std"
readme.workspace = true
-repository = "https://github.com/tracel-ai/cubecl/tree/main/crates/cubecl-std"
+repository = "https://github.com/tensor4all/cubecl/tree/main/crates/cubecl-std"
version.workspace = true
+[lib]
+name = "cubecl_std"
+
+
[lints]
workspace = true
@@ -33,11 +37,11 @@ tracing = [
[dependencies]
test-log = { workspace = true, optional = true }
-cubecl-common = { path = "../cubecl-common", version = "0.10.0", features = [
+cubecl-common = { package = "t4a-cubecl-common", path = "../cubecl-common", version = "0.10.0", features = [
"hash",
], default-features = false }
-cubecl-core = { path = "../cubecl-core", version = "0.10.0", default-features = false }
-cubecl-runtime = { path = "../cubecl-runtime", version = "0.10.0", default-features = false }
+cubecl-core = { package = "t4a-cubecl-core", path = "../cubecl-core", version = "0.10.0", default-features = false }
+cubecl-runtime = { package = "t4a-cubecl-runtime", path = "../cubecl-runtime", version = "0.10.0", default-features = false }
half.workspace = true
num-traits = { workspace = true }
paste = { workspace = true }
diff --git a/crates/cubecl-wgpu/Cargo.toml b/crates/cubecl-wgpu/Cargo.toml
index e1058b6b77..0c5ddca1d9 100644
--- a/crates/cubecl-wgpu/Cargo.toml
+++ b/crates/cubecl-wgpu/Cargo.toml
@@ -1,16 +1,18 @@
[package]
authors = ["nathanielsimard "]
categories = ["science"]
-description = "WGPU runtime for the CubeCL"
+description = "Temporary tensor4all fork of CubeCL WGPU runtime"
edition.workspace = true
keywords = ["gpu", "wgpu", "webgpu", "gpgpu"]
license.workspace = true
-name = "cubecl-wgpu"
-publish = false
-readme.workspace = true
-repository = "https://github.com/tracel-ai/cubecl/tree/main/crates/cubecl-wgpu"
+name = "t4a-cubecl-wgpu"
+readme = "README.md"
+repository = "https://github.com/tensor4all/cubecl/tree/main/crates/cubecl-wgpu"
version.workspace = true
+[lib]
+name = "cubecl_wgpu"
+
[lints]
workspace = true
@@ -28,19 +30,9 @@ std = [
"cubecl-core/std",
"sanitize-filename",
]
-# 'msl' and 'spirv' features are exclusive
-# TODO find a way to have wgpu runtime auto-compiler to support several compilers at the same time
msl = ["cubecl-cpp/metal"]
profile-tracy = ["tracy-client"]
-spirv = [
- "cubecl-spirv",
- "ash",
- "tracel-ash",
- "cubecl-common/compilation-cache",
- "cubecl-common/hash",
-]
-spirv-dump = ["std"]
vulkan-validate = []
tracing = [
@@ -55,10 +47,10 @@ tracing = [
log = { workspace = true }
tracing = { workspace = true, features = ["attributes"], optional = true }
-cubecl-common = { path = "../cubecl-common", version = "0.10.0", default-features = false }
-cubecl-core = { path = "../cubecl-core", version = "0.10.0", default-features = false }
-cubecl-ir = { path = "../cubecl-ir", version = "0.10.0", default-features = false }
-cubecl-runtime = { path = "../cubecl-runtime", version = "0.10.0", default-features = false, features = [
+cubecl-common = { package = "t4a-cubecl-common", path = "../cubecl-common", version = "0.10.0", default-features = false }
+cubecl-core = { package = "t4a-cubecl-core", path = "../cubecl-core", version = "0.10.0", default-features = false }
+cubecl-ir = { package = "t4a-cubecl-ir", path = "../cubecl-ir", version = "0.10.0", default-features = false }
+cubecl-runtime = { package = "t4a-cubecl-runtime", path = "../cubecl-runtime", version = "0.10.0", default-features = false, features = [
"channel-mutex",
] }
derive_more = { workspace = true }
@@ -66,13 +58,8 @@ half = { workspace = true }
sanitize-filename = { workspace = true, optional = true }
tracy-client = { workspace = true, optional = true }
-# SPIR-V
-ash = { workspace = true, optional = true }
-cubecl-spirv = { path = "../cubecl-spirv", version = "0.10.0", optional = true }
-tracel-ash = { workspace = true, optional = true }
-
# Metal
-cubecl-cpp = { path = "../cubecl-cpp", version = "0.10.0", features = [
+cubecl-cpp = { package = "t4a-cubecl-cpp", path = "../cubecl-cpp", version = "0.10.0", features = [
"metal",
], optional = true }
@@ -107,10 +94,10 @@ wgpu = { workspace = true, features = [
# wgpu = { path = "../../../../tracel/wgpu/wgpu", features = ["vulkan-portability", "fragile-send-sync-non-atomic-wasm"]}
[dev-dependencies]
-cubecl-core = { path = "../cubecl-core", version = "0.10.0", features = [
+cubecl-core = { package = "t4a-cubecl-core", path = "../cubecl-core", version = "0.10.0", features = [
"export_tests",
] }
-cubecl-std = { path = "../cubecl-std", version = "0.10.0", features = [
+cubecl-std = { package = "t4a-cubecl-std", path = "../cubecl-std", version = "0.10.0", features = [
"export_tests",
] }
half = { workspace = true }
diff --git a/crates/cubecl-wgpu/README.md b/crates/cubecl-wgpu/README.md
index 7e39875431..06f8a860e9 100644
--- a/crates/cubecl-wgpu/README.md
+++ b/crates/cubecl-wgpu/README.md
@@ -1,3 +1,5 @@
+> **tensor4all temporary fork.** This `t4a-cubecl*` package is a temporary tensor4all fork used by `tenferro-rs` while required patches are being upstreamed to the official CubeCL project. It is not a replacement for upstream CubeCL.
+
# CubeCL WGPU Runtime
[CubeCL](https://github.com/tracel-ai/cubecl) WGPU runtime.
diff --git a/crates/cubecl-wgpu/src/lib.rs b/crates/cubecl-wgpu/src/lib.rs
index 41ebf8ec0b..fe1c7bad21 100644
--- a/crates/cubecl-wgpu/src/lib.rs
+++ b/crates/cubecl-wgpu/src/lib.rs
@@ -1,3 +1,8 @@
+// The tensor4all fork publishes the WGPU/WGSL path needed by tenferro-rs.
+// Upstream SPIR-V cfgs remain in the source but are outside this minimal
+// publish closure.
+#![allow(unexpected_cfgs)]
+
#[macro_use]
extern crate derive_new;
diff --git a/crates/cubecl-zspace/Cargo.toml b/crates/cubecl-zspace/Cargo.toml
index f882d92b14..a7e362010a 100644
--- a/crates/cubecl-zspace/Cargo.toml
+++ b/crates/cubecl-zspace/Cargo.toml
@@ -6,17 +6,22 @@ authors = [
"crutcher ",
]
categories = ["science", "mathematics", "algorithms"]
-description = "CubeCL ZSpace Library."
+description = "Temporary tensor4all fork of CubeCL ZSpace library"
keywords = []
-name = "cubecl-zspace"
+name = "t4a-cubecl-zspace"
edition.workspace = true
license.workspace = true
readme.workspace = true
+repository = "https://github.com/tensor4all/cubecl/tree/main/crates/cubecl-zspace"
rust-version.workspace = true
version.workspace = true
+[lib]
+name = "cubecl_zspace"
+
+
[lints]
workspace = true
diff --git a/crates/cubecl/Cargo.toml b/crates/cubecl/Cargo.toml
index d98e20d91c..2a6c80a14c 100644
--- a/crates/cubecl/Cargo.toml
+++ b/crates/cubecl/Cargo.toml
@@ -1,16 +1,20 @@
[package]
authors = ["nathanielsimard "]
categories = ["science", "mathematics", "algorithms"]
-description = "Multi-platform high-performance compute language extension for Rust."
+description = "Temporary tensor4all fork of CubeCL for tenferro-rs release preparation."
edition.workspace = true
keywords = ["gpu", "cuda", "wgpu", "gpgpu", "tensor"]
license.workspace = true
-name = "cubecl"
+name = "t4a-cubecl"
readme.workspace = true
-repository = "https://github.com/tracel-ai/cubecl"
+repository = "https://github.com/tensor4all/cubecl"
version.workspace = true
+[lib]
+name = "cubecl"
+
+
[lints]
workspace = true
@@ -22,8 +26,6 @@ default = [
"stdlib",
"cubecl-core/default",
"cubecl-cuda?/default",
- "cubecl-cpu?/default",
- "cubecl-hip?/default",
"cubecl-wgpu?/default",
]
exclusive-memory-only = ["cubecl-wgpu?/exclusive-memory-only"]
@@ -36,36 +38,25 @@ profile-tracy = ["cubecl-runtime/profile-tracy", "cubecl-wgpu?/profile-tracy"]
tracing = [
"cubecl-core/tracing",
"cubecl-cuda?/tracing",
- "cubecl-cpu?/tracing",
- "cubecl-hip?/tracing",
"cubecl-wgpu?/tracing",
]
# Runtimes
-cpu = ["cubecl-cpu"]
cuda = ["cubecl-cuda"]
cuda-ptx-wmma = ["cubecl-cuda?/ptx-wmma"]
-hip = ["cubecl-hip"]
-hip-rocwmma = ["cubecl-hip?/rocwmma"]
metal = ["wgpu-msl"]
-rocm = ["hip"]
-spirv-dump = ["cubecl-wgpu/spirv-dump"]
-vulkan = ["wgpu-spirv"]
webgpu = ["wgpu"]
wgpu = ["cubecl-wgpu"]
wgpu-msl = ["wgpu", "cubecl-wgpu/msl"]
-wgpu-spirv = ["wgpu", "cubecl-wgpu/spirv"]
# By default we use wgpu.
test-runtime = ["cubecl-wgpu"]
[dependencies]
-cubecl-core = { path = "../cubecl-core", version = "0.10.0", default-features = false }
-cubecl-cpu = { path = "../cubecl-cpu", version = "0.10.0", default-features = false, optional = true }
-cubecl-cuda = { path = "../cubecl-cuda", version = "0.10.0", default-features = false, optional = true }
-cubecl-hip = { path = "../cubecl-hip", version = "0.10.0", default-features = false, optional = true }
-cubecl-ir = { path = "../cubecl-ir", version = "0.10.0", default-features = false }
-cubecl-runtime = { path = "../cubecl-runtime", version = "0.10.0", default-features = false }
-cubecl-std = { path = "../cubecl-std", version = "0.10.0", optional = true }
-cubecl-wgpu = { path = "../cubecl-wgpu", version = "0.10.0", default-features = false, optional = true }
+cubecl-core = { package = "t4a-cubecl-core", path = "../cubecl-core", version = "0.10.0", default-features = false }
+cubecl-cuda = { package = "t4a-cubecl-cuda", path = "../cubecl-cuda", version = "0.10.0", default-features = false, optional = true }
+cubecl-ir = { package = "t4a-cubecl-ir", path = "../cubecl-ir", version = "0.10.0", default-features = false }
+cubecl-runtime = { package = "t4a-cubecl-runtime", path = "../cubecl-runtime", version = "0.10.0", default-features = false }
+cubecl-std = { package = "t4a-cubecl-std", path = "../cubecl-std", version = "0.10.0", optional = true }
+cubecl-wgpu = { package = "t4a-cubecl-wgpu", path = "../cubecl-wgpu", version = "0.10.0", default-features = false, optional = true }
half = { workspace = true }
diff --git a/crates/cubecl/build.rs b/crates/cubecl/build.rs
index 207325d283..7e106b2eaf 100644
--- a/crates/cubecl/build.rs
+++ b/crates/cubecl/build.rs
@@ -4,16 +4,12 @@ fn main() {
let enable_runtime = cfg!(feature = "test-runtime");
println!("cargo:rustc-check-cfg=cfg(test_runtime_default)");
- println!("cargo:rustc-check-cfg=cfg(test_runtime_cpu)");
println!("cargo:rustc-check-cfg=cfg(test_runtime_cuda)");
- println!("cargo:rustc-check-cfg=cfg(test_runtime_hip)");
println!("cargo:rustc-check-cfg=cfg(test_runtime_wgpu)");
if enable_runtime {
let map = BTreeMap::from([
- ("cpu", cfg!(feature = "cpu")),
("cuda", cfg!(feature = "cuda")),
- ("hip", cfg!(feature = "hip")),
("wgpu", cfg!(feature = "wgpu")),
]);
diff --git a/crates/cubecl/src/lib.rs b/crates/cubecl/src/lib.rs
index a870d0ec9a..a19c51ff68 100644
--- a/crates/cubecl/src/lib.rs
+++ b/crates/cubecl/src/lib.rs
@@ -10,26 +10,14 @@ pub use cubecl_wgpu as wgpu;
#[cfg(feature = "cuda")]
pub use cubecl_cuda as cuda;
-#[cfg(feature = "hip")]
-pub use cubecl_hip as hip;
-
#[cfg(feature = "stdlib")]
pub use cubecl_std as std;
-#[cfg(feature = "cpu")]
-pub use cubecl_cpu as cpu;
-
#[cfg(test_runtime_default)]
pub type TestRuntime = cubecl_wgpu::WgpuRuntime;
#[cfg(test_runtime_wgpu)]
pub type TestRuntime = wgpu::WgpuRuntime;
-#[cfg(test_runtime_cpu)]
-pub type TestRuntime = cpu::CpuRuntime;
-
#[cfg(test_runtime_cuda)]
pub type TestRuntime = cuda::CudaRuntime;
-
-#[cfg(test_runtime_hip)]
-pub type TestRuntime = hip::HipRuntime;
diff --git a/examples/device_sharing/Cargo.toml b/examples/device_sharing/Cargo.toml
index 05bc91328f..86eb42ab03 100644
--- a/examples/device_sharing/Cargo.toml
+++ b/examples/device_sharing/Cargo.toml
@@ -12,7 +12,7 @@ default = []
wgpu = ["cubecl/wgpu"]
[dependencies]
-cubecl = { path = "../../crates/cubecl", version = "0.10.0" }
+cubecl = { package = "t4a-cubecl", path = "../../crates/cubecl", version = "0.10.0" }
half = { workspace = true }
sum_things = { path = "../sum_things" }
diff --git a/examples/fusing/Cargo.toml b/examples/fusing/Cargo.toml
index cdf10ad5f5..5ceadc07e4 100644
--- a/examples/fusing/Cargo.toml
+++ b/examples/fusing/Cargo.toml
@@ -12,5 +12,5 @@ wgpu = ["cubecl/wgpu"]
cuda = ["cubecl/cuda"]
[dependencies]
-cubecl = { path = "../../crates/cubecl", version = "0.10.0", default-features = false }
+cubecl = { package = "t4a-cubecl", path = "../../crates/cubecl", version = "0.10.0", default-features = false }
half = { workspace = true }
diff --git a/examples/gelu/Cargo.toml b/examples/gelu/Cargo.toml
index 141e0fc75b..4a2706927c 100644
--- a/examples/gelu/Cargo.toml
+++ b/examples/gelu/Cargo.toml
@@ -13,5 +13,5 @@ cuda = ["cubecl/cuda"]
cpu = ["cubecl/cpu"]
[dependencies]
-cubecl = { path = "../../crates/cubecl", version = "0.10.0" }
+cubecl = { package = "t4a-cubecl", path = "../../crates/cubecl", version = "0.10.0" }
half = { workspace = true }
diff --git a/examples/normalization/Cargo.toml b/examples/normalization/Cargo.toml
index e3010a89d7..d4ca8668b7 100644
--- a/examples/normalization/Cargo.toml
+++ b/examples/normalization/Cargo.toml
@@ -12,5 +12,5 @@ wgpu = ["cubecl/wgpu"]
cuda = ["cubecl/cuda"]
[dependencies]
-cubecl = { path = "../../crates/cubecl", version = "0.10.0" }
+cubecl = { package = "t4a-cubecl", path = "../../crates/cubecl", version = "0.10.0" }
half = { workspace = true }
diff --git a/examples/sum_things/Cargo.toml b/examples/sum_things/Cargo.toml
index 4c65be0a65..13587193ee 100644
--- a/examples/sum_things/Cargo.toml
+++ b/examples/sum_things/Cargo.toml
@@ -12,5 +12,5 @@ wgpu = ["cubecl/wgpu"]
cuda = ["cubecl/cuda"]
[dependencies]
-cubecl = { path = "../../crates/cubecl", version = "0.10.0" }
+cubecl = { package = "t4a-cubecl", path = "../../crates/cubecl", version = "0.10.0" }
half = { workspace = true }
diff --git a/examples/tracing_example/Cargo.toml b/examples/tracing_example/Cargo.toml
index 16767330cd..ea8a9a5809 100644
--- a/examples/tracing_example/Cargo.toml
+++ b/examples/tracing_example/Cargo.toml
@@ -13,7 +13,7 @@ wgpu = ["cubecl/wgpu"]
cuda = ["cubecl/cuda"]
[dependencies]
-cubecl = { path = "../../crates/cubecl", version = "0.10.0", features = [
+cubecl = { package = "t4a-cubecl", path = "../../crates/cubecl", version = "0.10.0", features = [
"tracing",
] }