diff --git a/.github/workflows/publish.yml b/.github/workflows/publish.yml index b7fb97b95..3ebe827b9 100644 --- a/.github/workflows/publish.yml +++ b/.github/workflows/publish.yml @@ -7,140 +7,57 @@ 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-cubek-random: + publish-t4a-cubek-random: uses: tracel-ai/github-actions/.github/workflows/publish-crate.yml@v8 with: - crate: cubek-random + crate: t4a-cubek-random dry-run-only: ${{ github.event_name == 'workflow_dispatch' && inputs.dry-run-only || false }} secrets: CRATES_IO_API_TOKEN: ${{ secrets.CRATES_IO_API_TOKEN }} - publish-cubek-test-utils: - needs: - - publish-cubek-random - - publish-cubek-quant - uses: tracel-ai/github-actions/.github/workflows/publish-crate.yml@v8 - with: - crate: cubek-test-utils - dry-run-only: ${{ github.event_name == 'workflow_dispatch' && inputs.dry-run-only || false }} - secrets: - CRATES_IO_API_TOKEN: ${{ secrets.CRATES_IO_API_TOKEN }} - - publish-cubek-quant: - uses: tracel-ai/github-actions/.github/workflows/publish-crate.yml@v8 - with: - crate: cubek-quant - dry-run-only: ${{ github.event_name == 'workflow_dispatch' && inputs.dry-run-only || false }} - secrets: - CRATES_IO_API_TOKEN: ${{ secrets.CRATES_IO_API_TOKEN }} - - publish-cubek-reduce: - needs: - - publish-cubek-random - - publish-cubek-test-utils - - publish-cubek-std - uses: tracel-ai/github-actions/.github/workflows/publish-crate.yml@v8 - with: - crate: cubek-reduce - dry-run-only: ${{ github.event_name == 'workflow_dispatch' && inputs.dry-run-only || false }} - secrets: - CRATES_IO_API_TOKEN: ${{ secrets.CRATES_IO_API_TOKEN }} - - publish-cubek-matmul: - needs: - - publish-cubek-random - - publish-cubek-reduce - - publish-cubek-quant - - publish-cubek-test-utils - - publish-cubek-std + publish-t4a-cubek-quant: uses: tracel-ai/github-actions/.github/workflows/publish-crate.yml@v8 with: - crate: cubek-matmul + crate: t4a-cubek-quant dry-run-only: ${{ github.event_name == 'workflow_dispatch' && inputs.dry-run-only || false }} secrets: CRATES_IO_API_TOKEN: ${{ secrets.CRATES_IO_API_TOKEN }} - publish-cubek-convolution: - needs: - - publish-cubek-random - - publish-cubek-reduce - - publish-cubek-matmul - - publish-cubek-test-utils - - publish-cubek-std - uses: tracel-ai/github-actions/.github/workflows/publish-crate.yml@v8 - with: - crate: cubek-convolution - dry-run-only: ${{ github.event_name == 'workflow_dispatch' && inputs.dry-run-only || false }} - secrets: - CRATES_IO_API_TOKEN: ${{ secrets.CRATES_IO_API_TOKEN }} - - publish-cubek-attention: - needs: - - publish-cubek-random - - publish-cubek-reduce - - publish-cubek-matmul - - publish-cubek-test-utils - - publish-cubek-std - uses: tracel-ai/github-actions/.github/workflows/publish-crate.yml@v8 - with: - crate: cubek-attention - dry-run-only: ${{ github.event_name == 'workflow_dispatch' && inputs.dry-run-only || false }} - secrets: - CRATES_IO_API_TOKEN: ${{ secrets.CRATES_IO_API_TOKEN }} - - publish-cubek-fft: - needs: - - publish-cubek-test-utils - - publish-cubek-std - uses: tracel-ai/github-actions/.github/workflows/publish-crate.yml@v8 - with: - crate: cubek-fft - dry-run-only: ${{ github.event_name == 'workflow_dispatch' && inputs.dry-run-only || false }} - secrets: - CRATES_IO_API_TOKEN: ${{ secrets.CRATES_IO_API_TOKEN }} - - publish-cubek-interpolate: + publish-t4a-cubek-test-utils: needs: - - publish-cubek-test-utils + - publish-t4a-cubek-random + - publish-t4a-cubek-quant uses: tracel-ai/github-actions/.github/workflows/publish-crate.yml@v8 with: - crate: cubek-interpolate + crate: t4a-cubek-test-utils dry-run-only: ${{ github.event_name == 'workflow_dispatch' && inputs.dry-run-only || false }} secrets: CRATES_IO_API_TOKEN: ${{ secrets.CRATES_IO_API_TOKEN }} - - publish-cubek-std: + publish-t4a-cubek-std: needs: - - publish-cubek-test-utils + - publish-t4a-cubek-test-utils uses: tracel-ai/github-actions/.github/workflows/publish-crate.yml@v8 with: - crate: cubek-std + crate: t4a-cubek-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-cubek: + publish-t4a-cubek-matmul: needs: - - publish-cubek-random - - publish-cubek-reduce - - publish-cubek-quant - - publish-cubek-matmul - - publish-cubek-attention - - publish-cubek-convolution - - publish-cubek-fft - - publish-cubek-interpolate - - publish-cubek-test-utils - - publish-cubek-std + - publish-t4a-cubek-quant + - publish-t4a-cubek-std + - publish-t4a-cubek-test-utils uses: tracel-ai/github-actions/.github/workflows/publish-crate.yml@v8 with: - crate: cubek + crate: t4a-cubek-matmul 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/Cargo.toml b/Cargo.toml index a3f00bd70..f08ec35fa 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -15,17 +15,12 @@ rust-version = "1.92" version = "0.2.0" [workspace.dependencies] -### For local development. ### -# cubecl = { path = "../cubecl/crates/cubecl", default-features = false } -# cubecl-common = { path = "../cubecl/crates/cubecl-common", default-features = false } - -### For the main cubek branch. ### -# cubecl = { git = "https://github.com/tracel-ai/cubecl", rev = "7cf203735e095e640a2c03b2400d0faa03196bb4", default-features = false } -# cubecl-common = { git = "https://github.com/tracel-ai/cubecl", rev = "7cf203735e095e640a2c03b2400d0faa03196bb4", default-features = false } - -### For tensor4all fork integration. ### -cubecl = { git = "https://github.com/tensor4all/cubecl.git", rev = "f5e5ec178f9aebca9362b829ffef708f720ff692", default-features = false } -cubecl-common = { git = "https://github.com/tensor4all/cubecl.git", rev = "f5e5ec178f9aebca9362b829ffef708f720ff692", default-features = false } +### tensor4all fork release preparation. ### +# PR/CI builds use the tensor4all CubeCL commit that adds the `t4a-cubecl*` +# package manifests. Published packages use the registry packages at the same +# exact versions. +cubecl = { package = "t4a-cubecl", git = "https://github.com/tensor4all/cubecl.git", rev = "68365e47322123359d0a07d741ba9771a0bf6ffe", version = "=0.10.0", default-features = false } +cubecl-common = { package = "t4a-cubecl-common", git = "https://github.com/tensor4all/cubecl.git", rev = "68365e47322123359d0a07d741ba9771a0bf6ffe", version = "=0.10.0", default-features = false } derive-new = { version = "0.7.0", default-features = false } log = { default-features = false, version = "0.4.22" } diff --git a/README.md b/README.md index 1b7e09add..19b4d2a7e 100644 --- a/README.md +++ b/README.md @@ -1,3 +1,9 @@ +> **tensor4all temporary fork.** The `t4a-cubek*` crates published from this +> repository are temporary tensor4all fork packages used by `tenferro-rs` while +> required CubeK/CubeCL patches are being upstreamed. They are not a replacement +> for upstream CubeK, and the intent is to return to upstream package names once +> the needed patches have landed. +
diff --git a/benchmarks/Cargo.toml b/benchmarks/Cargo.toml
index 0bccda858..538e3b1e0 100644
--- a/benchmarks/Cargo.toml
+++ b/benchmarks/Cargo.toml
@@ -9,8 +9,9 @@ edition.workspace = true
keywords = []
license.workspace = true
name = "benchmarks"
+publish = false
readme.workspace = true
-repository = "https://github.com/tracel-ai/cubek"
+repository = "https://github.com/tensor4all/cubek"
version.workspace = true
[features]
@@ -46,7 +47,7 @@ cubek = { path = "../crates/cubek", version = "0.2.0", default-features = false,
cubek-interpolate = { path = "../crates/cubek-interpolate", version = "0.2.0",features = [
"cpu-reference",
], optional = true }
-cubek-matmul = { path = "../crates/cubek-matmul", version = "0.2.0", features = [
+cubek-matmul = { package = "t4a-cubek-matmul", path = "../crates/cubek-matmul", version = "0.2.0", features = [
"cpu-reference",
], optional = true }
cubek-attention = { path = "../crates/cubek-attention", version = "0.2.0", features = [
@@ -61,7 +62,7 @@ cubek-fft = { path = "../crates/cubek-fft", version = "0.2.0", features = [
cubek-reduce = { path = "../crates/cubek-reduce", version = "0.2.0", features = [
"cpu-reference",
], optional = true }
-cubek-test-utils = { path = "../crates/cubek-test-utils", version = "0.2.0" }
+cubek-test-utils = { package = "t4a-cubek-test-utils", path = "../crates/cubek-test-utils", version = "0.2.0" }
half = { workspace = true }
[[bench]]
diff --git a/crates/cubek-attention/Cargo.toml b/crates/cubek-attention/Cargo.toml
index 2af638246..de76fef35 100644
--- a/crates/cubek-attention/Cargo.toml
+++ b/crates/cubek-attention/Cargo.toml
@@ -6,8 +6,9 @@ edition.workspace = true
keywords = []
license.workspace = true
name = "cubek-attention"
+publish = false
readme.workspace = true
-repository = "https://github.com/tracel-ai/cubek/tree/main/crates/cubek-attention"
+repository = "https://github.com/tensor4all/cubek/tree/main/crates/cubek-attention"
version.workspace = true
[features]
@@ -23,9 +24,9 @@ cpu-reference = ["dep:cubek-test-utils"]
[dependencies]
cubecl = { workspace = true, features = ["stdlib"] }
cubecl-common = { workspace = true }
-cubek-matmul = { path = "../cubek-matmul", version = "0.2.0", default-features = false }
-cubek-std = { path = "../cubek-std", version = "0.2.0", default-features = false }
-cubek-test-utils = { path = "../cubek-test-utils", version = "0.2.0", default-features = false, optional = true }
+cubek-matmul = { package = "t4a-cubek-matmul", path = "../cubek-matmul", version = "0.2.0", default-features = false }
+cubek-std = { package = "t4a-cubek-std", path = "../cubek-std", version = "0.2.0", default-features = false }
+cubek-test-utils = { package = "t4a-cubek-test-utils", path = "../cubek-test-utils", version = "0.2.0", default-features = false, optional = true }
bytemuck = { workspace = true }
half = { workspace = true, features = ["bytemuck"] }
@@ -34,6 +35,6 @@ serde = { workspace = true }
[dev-dependencies]
cubecl = { workspace = true, features = ["test-runtime"] }
cubek-attention = { path = ".", features = ["cpu-reference"] }
-cubek-test-utils = { path = "../cubek-test-utils", version = "0.2.0", default-features = false }
+cubek-test-utils = { package = "t4a-cubek-test-utils", path = "../cubek-test-utils", version = "0.2.0", default-features = false }
pretty_assertions = { workspace = true }
trybuild = "1"
diff --git a/crates/cubek-convolution/Cargo.toml b/crates/cubek-convolution/Cargo.toml
index 78b2c19c5..b1e45674b 100644
--- a/crates/cubek-convolution/Cargo.toml
+++ b/crates/cubek-convolution/Cargo.toml
@@ -6,8 +6,9 @@ edition.workspace = true
keywords = []
license.workspace = true
name = "cubek-convolution"
+publish = false
readme.workspace = true
-repository = "https://github.com/tracel-ai/cubek/tree/main/crates/cubek-convolution"
+repository = "https://github.com/tensor4all/cubek/tree/main/crates/cubek-convolution"
version.workspace = true
[features]
@@ -23,9 +24,9 @@ cpu-reference = ["dep:cubek-test-utils", "cubek-matmul/cpu-reference"]
[dependencies]
cubecl = { workspace = true, features = ["stdlib"] }
cubecl-common = { workspace = true }
-cubek-matmul = { path = "../cubek-matmul", default-features = false, version = "0.2.0" }
-cubek-std = { path = "../cubek-std", default-features = false, version = "0.2.0" }
-cubek-test-utils = { path = "../cubek-test-utils", version = "0.2.0", default-features = false, optional = true }
+cubek-matmul = { package = "t4a-cubek-matmul", path = "../cubek-matmul", default-features = false, version = "0.2.0" }
+cubek-std = { package = "t4a-cubek-std", path = "../cubek-std", default-features = false, version = "0.2.0" }
+cubek-test-utils = { package = "t4a-cubek-test-utils", path = "../cubek-test-utils", version = "0.2.0", default-features = false, optional = true }
derive-new = { workspace = true }
bytemuck = { workspace = true }
@@ -36,6 +37,6 @@ serde = { workspace = true }
[dev-dependencies]
cubecl = { workspace = true, features = ["test-runtime"] }
cubek-convolution = { path = ".", features = ["cpu-reference"] }
-cubek-test-utils = { path = "../cubek-test-utils", version = "0.2.0", default-features = false }
+cubek-test-utils = { package = "t4a-cubek-test-utils", path = "../cubek-test-utils", version = "0.2.0", default-features = false }
pretty_assertions = { workspace = true }
trybuild = "1"
diff --git a/crates/cubek-fft/Cargo.toml b/crates/cubek-fft/Cargo.toml
index 3fb1fc566..b21211892 100644
--- a/crates/cubek-fft/Cargo.toml
+++ b/crates/cubek-fft/Cargo.toml
@@ -6,8 +6,9 @@ edition.workspace = true
keywords = []
license.workspace = true
name = "cubek-fft"
+publish = false
readme.workspace = true
-repository = "https://github.com/tracel-ai/cubek/tree/main/crates/cubek-fft"
+repository = "https://github.com/tensor4all/cubek/tree/main/crates/cubek-fft"
version.workspace = true
[features]
@@ -22,7 +23,7 @@ cpu-reference = ["dep:num-complex", "dep:cubek-test-utils"]
[dependencies]
cubecl = { workspace = true }
-cubek-test-utils = { path = "./../cubek-test-utils/", version = "0.2.0", default-features = false, optional = true }
+cubek-test-utils = { package = "t4a-cubek-test-utils", path = "./../cubek-test-utils/", version = "0.2.0", default-features = false, optional = true }
num-complex = { workspace = true, optional = true }
[dev-dependencies]
@@ -30,4 +31,4 @@ num-complex = { workspace = true }
cubecl = { workspace = true, features = ["test-runtime"] }
cubecl-common = { workspace = true }
cubek-fft = { path = ".", features = ["cpu-reference"] }
-cubek-test-utils = { path = "./../cubek-test-utils/", version = "0.2.0", default-features = false }
+cubek-test-utils = { package = "t4a-cubek-test-utils", path = "./../cubek-test-utils/", version = "0.2.0", default-features = false }
diff --git a/crates/cubek-interpolate/Cargo.toml b/crates/cubek-interpolate/Cargo.toml
index 9e7b5a31f..91ab9071b 100644
--- a/crates/cubek-interpolate/Cargo.toml
+++ b/crates/cubek-interpolate/Cargo.toml
@@ -6,8 +6,9 @@ edition.workspace = true
keywords = []
license.workspace = true
name = "cubek-interpolate"
+publish = false
readme.workspace = true
-repository = "https://github.com/tracel-ai/cubek/tree/main/crates/cubek-interpolate"
+repository = "https://github.com/tensor4all/cubek/tree/main/crates/cubek-interpolate"
version.workspace = true
[features]
@@ -24,9 +25,9 @@ cpu-reference = ["dep:cubek-test-utils"]
cubecl = { workspace = true }
cubecl-common = { workspace = true }
thiserror = { workspace = true }
-cubek-test-utils = { path = "./../cubek-test-utils/", version = "0.2.0", default-features = false, optional = true }
+cubek-test-utils = { package = "t4a-cubek-test-utils", path = "./../cubek-test-utils/", version = "0.2.0", default-features = false, optional = true }
[dev-dependencies]
cubecl = { workspace = true, features = ["test-runtime"] }
cubek-interpolate = { path = ".", features = ["cpu-reference"] }
-cubek-test-utils = { path = "../cubek-test-utils", version = "0.2.0", default-features = false }
+cubek-test-utils = { package = "t4a-cubek-test-utils", path = "../cubek-test-utils", version = "0.2.0", default-features = false }
diff --git a/crates/cubek-matmul/Cargo.toml b/crates/cubek-matmul/Cargo.toml
index e43c17a50..ac4a0840f 100644
--- a/crates/cubek-matmul/Cargo.toml
+++ b/crates/cubek-matmul/Cargo.toml
@@ -1,15 +1,18 @@
[package]
authors = ["louisfd