Skip to content

Bump candle rev to 7de0d9fd (picks up moe_gemm_wmma rename to avoid symbol collision)#22

Merged
lukekim merged 1 commit into
spiceaifrom
lukim/bump-candle-moe-rename
Apr 17, 2026
Merged

Bump candle rev to 7de0d9fd (picks up moe_gemm_wmma rename to avoid symbol collision)#22
lukekim merged 1 commit into
spiceaifrom
lukim/bump-candle-moe-rename

Conversation

@lukekim
Copy link
Copy Markdown

@lukekim lukekim commented Apr 17, 2026

Summary

Bumps the candle rev from c87b9bc5 to 7de0d9fd to pick up spiceai/candle#13, which renames candle-kernels' moe_gemm_wmmacandle_moe_gemm_wmma.

Why

candle-kernels and mistralrs-core each independently export an extern "C" void moe_gemm_wmma kernel (both adapted from guoqingbao/attention.rs but with diverged signatures and implementations). When a binary links both — e.g. spiced --features cuda,models pulls in both text-embeddings-backend-candle and mistralrs-coreld.lld rejects the duplicate symbol:

ld.lld: error: duplicate symbol: moe_gemm_wmma
  >>> defined in libmoe.a (from candle-kernels)
  >>> defined in libmistralrscuda.a (from mistralrs-core)

Picking up the rename on the candle side resolves it; TEI itself needs no source changes.

Scope

  • Only Cargo.toml: candle rev bumped in the root [workspace.dependencies] block.
  • No TEI source changes.

Verification

Verified spiced --features cuda,models links cleanly on CUDA 12.6 / sm_90 (H100) with the matching spiceai/spiceai pin bump.

Picks up spiceai/candle#13 which renames candle-kernels' moe_gemm_wmma
-> candle_moe_gemm_wmma so it no longer collides with mistralrs-core's
identically-named but semantically divergent kernel when both crates
are linked together (e.g. in spiced --features cuda,models).
@lukekim lukekim self-assigned this Apr 17, 2026
lukekim added a commit to spiceai/spiceai that referenced this pull request Apr 17, 2026
Resolves ld.lld duplicate-symbol link error when building spiced with
cuda + models features:

    ld.lld: error: duplicate symbol: moe_gemm_wmma
      >>> defined in libmoe.a (candle-kernels)
      >>> defined in libmistralrscuda.a (mistralrs-core)

Three coordinated fork PRs:
 - spiceai/candle#13: rename moe_gemm_wmma -> candle_moe_gemm_wmma
   in candle-kernels so it no longer collides with mistralrs-core's
   identically-named but semantically divergent kernel.
 - spiceai/mistral.rs#34: bump candle rev to 7de0d9fd.
 - spiceai/text-embeddings-inference#22: bump candle rev to 7de0d9fd.

New workspace pins:
 - candle           fab4da81 -> 7de0d9fd
 - mistralrs        9b475876 -> b93f7600
 - text-embeddings  b958dca5 -> bd66a55d

Verified with make install-cuda on CUDA 12.6 / sm_90 (H100): links
and installs cleanly in 18m51s.
@lukekim lukekim merged commit ae95f20 into spiceai Apr 17, 2026
2 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants