fix(ci,rtx-tensor): resolve clippy --all-features intel-mkl conflict; gate MKL to x86_64-linux
CI / Build (macos-latest) (push) Failing after 26s
CI / Format Check (push) Failing after 10s
CI / Clippy Check (push) Failing after 19s
Performance Benchmarks / Run Benchmarks (push) Successful in 28s
CI / Build (ubuntu-latest) (push) Failing after 15s
CI / Test (macos-latest) (push) Has been skipped
CI / Test (ubuntu-latest) (push) Has been skipped
CI / Python Bindings (maturin) (macos-latest) (push) Has been skipped
CI / Python Bindings (maturin) (ubuntu-latest) (push) Has been skipped
CI / WASM Build + Size Check (push) Has been skipped
CI / Distributed Training Tests (push) Has been skipped
GPU Tests / Check GPU Availability (push) Successful in 1s
GPU Tests / CUDA Tests (11.8) (push) Has been skipped
GPU Tests / CUDA Tests (12.1) (push) Has been skipped
GPU Tests / Metal Tests (push) Has been skipped
Documentation / Build User Guide (push) Successful in 6s
Documentation / Build API Documentation (push) Failing after 50s
CI / Build CPU-Only (Explicit) (push) Failing after 1m0s
CI / CI Success (push) Failing after 0s

clippy --all-features enabled both rtx-tensor/mkl (intel-mkl-src mkl-static-lp64-seq)
and rtx-csm/candle mkl (mkl-static-lp64-iomp) -> two conflicting intel-mkl-src link
configs -> E0428 'MKL_CONFIG defined multiple times'.

- clippy: drop --all-features (lint default features; --all-features is unsound for a
  multi-platform, mutually-exclusive-backend workspace).
- rtx-tensor: gate intel-mkl-src to cfg(all(target_os=linux, target_arch=x86_64)) so
  mkl is never pulled on macOS/arm.

Co-Authored-By: Claude Opus 4.8 <[email protected]>
This commit is contained in:
osobh
2026-06-27 08:12:27 -07:00
co-authored by Claude Opus 4.8
parent 4ccf089e82
commit e8a2036db4
2 changed files with 9 additions and 4 deletions
+1 -1
View File
@@ -32,7 +32,7 @@ jobs:
- uses: Swatinem/rust-cache@v2 - uses: Swatinem/rust-cache@v2
- name: Run Clippy - name: Run Clippy
run: | run: |
cargo clippy --workspace --all-features -- \ cargo clippy --workspace -- \
-W clippy::all \ -W clippy::all \
-W clippy::pedantic \ -W clippy::pedantic \
-A clippy::module_name_repetitions \ -A clippy::module_name_repetitions \
+8 -3
View File
@@ -49,9 +49,9 @@ blas-src = { version = "0.10", default-features = false, optional = true }
# NOTE: Requires gfortran to be installed. Currently disabled by default due to ARM64 issues. # NOTE: Requires gfortran to be installed. Currently disabled by default due to ARM64 issues.
openblas-src = { version = "0.10", features = ["cblas", "system"], optional = true } openblas-src = { version = "0.10", features = ["cblas", "system"], optional = true }
# Intel MKL backend (optional) - best CPU performance for large matrices # Intel MKL backend (optional, x86_64-Linux only - see target section below).
# Enable with: cargo build --features mkl # MKL has no Apple Silicon build and collides with candle's mkl variant, so it is
intel-mkl-src = { version = "0.8", features = ["mkl-static-lp64-seq"], optional = true } # gated to x86_64 Linux. Enable with: cargo build --features mkl (on x86_64 Linux).
# Real CUDA GPU acceleration with cudarc 0.18.1 for production RTX 5090 support (matching workspace version) # Real CUDA GPU acceleration with cudarc 0.18.1 for production RTX 5090 support (matching workspace version)
cudarc = { workspace = true, optional = true } cudarc = { workspace = true, optional = true }
@@ -97,6 +97,11 @@ objc2-metal-performance-shaders = { version = "0.3", optional = true, features =
"MPSKernel" "MPSKernel"
]} ]}
# Intel MKL is x86_64-Linux only (no Apple Silicon build); gate it so the `mkl`
# feature can never pull it on macOS/arm and collide with candle's mkl variant.
[target.'cfg(all(target_os = "linux", target_arch = "x86_64"))'.dependencies]
intel-mkl-src = { version = "0.8", features = ["mkl-static-lp64-seq"], optional = true }
[features] [features]
default = ["cpu"] # No BLAS by default - manual impl works on all platforms default = ["cpu"] # No BLAS by default - manual impl works on all platforms
cuda = ["cudarc"] cuda = ["cudarc"]