huggingface / huggingface/candle

Unable To Build for Nvidia GeForce GTX 1650

Open
#3,331 7 comments 1 reaction 0 assignees View on GitHub
Dominant language
Rust
Stars
21k
Forks
1.8k
Avg merge
16h 42m
Merged PRs (30d)
25

Description

Here's my nvidia-smi:

```
Sat Jan 24 14:19:47 2026
+-----------------------------------------------------------------------------------------+
| NVIDIA-SMI 580.82.09 Driver Version: 580.82.09 CUDA Version: 13.0 |
+-----------------------------------------+------------------------+----------------------+
| GPU Name Persistence-M | Bus-Id Disp.A | Volatile Uncorr. ECC |
| Fan Temp Perf Pwr:Usage/Cap | Memory-Usage | GPU-Util Compute M. |
| | | MIG M. |
|=========================================+========================+======================|
| 0 NVIDIA GeForce GTX 1650 Off | 00000000:01:00.0 Off | N/A |
| N/A 58C P8 2W / 50W | 8MiB / 4096MiB | 0% Default |
| | | N/A |
+-----------------------------------------+------------------------+----------------------+

+-----------------------------------------------------------------------------------------+
| Processes: |
| GPU GI CI PID Type Process name GPU Memory |
| ID ID Usage |
|=========================================================================================|
| 0 N/A N/A 457928 G /usr/lib/xorg/Xorg 4MiB |
+-----------------------------------------------------------------------------------------+
```

With either Cuda 13 or 12 libraries installed I can't manage to compile candle-kernels, which seems required for GPU support:

```
warning: candle-kernels@0.9.2-alpha.2: Builder { cuda_root: None, kernel_paths: ["src/affine.cu", "src/binary.cu", "src/cast.cu", "src/conv.cu", "src/fill.cu", "src/indexing.cu", "src/moe/moe_gguf.cu", "src/moe/moe_wmma.cu", "src/moe/moe_wmma_gguf.cu", "src/quantized.cu", "src/reduce.cu", "src/sort.cu", "src/ternary.cu", "src/unary.cu"], watch: [], include_paths: ["src/binary_op_macros.cuh", "src/compatibility.cuh", "src/cuda_utils.cuh", "src/moe/gguf.cuh", "src/moe/moe_utils.cuh"], compute_cap: Some(75), out_dir: "/home/agent/git/candle/candle-kernels/target/debug/build/candle-kernels-441dca61f066a9ad/out", extra_args: ["--expt-relaxed-constexpr", "-std=c++17", "-O3"] }
error: failed to run custom build command for `candle-kernels v0.9.2-alpha.2 (/home/agent/git/candle/candle-kernels)`

Caused by:
process didn't exit successfully: `/home/agent/git/candle/candle-kernels/target/debug/build/candle-kernels-6e0c8e4102af0db9/build-script-build` (exit status: 101)
--- stdout
cargo::rerun-if-changed=build.rs
cargo::rerun-if-changed=src/compatibility.cuh
cargo::rerun-if-changed=src/cuda_utils.cuh
cargo::rerun-if-changed=src/binary_op_macros.cuh
cargo:info=["/usr", "/usr/local/cuda", "/opt/cuda", "/usr/lib/cuda", "C:/Program Files/NVIDIA GPU Computing Toolkit", "C:/CUDA"]
cargo:rerun-if-env-changed=CUDA_COMPUTE_CAP
cargo:rustc-env=CUDA_COMPUTE_CAP=75
cargo::warning=Builder { cuda_root: None, kernel_paths: ["src/affine.cu", "src/binary.cu", "src/cast.cu", "src/conv.cu", "src/fill.cu", "src/indexing.cu", "src/moe/moe_gguf.cu", "src/moe/moe_wmma.cu", "src/moe/moe_wmma_gguf.cu", "src/quantized.cu", "src/reduce.cu", "src/sort.cu", "src/ternary.cu", "src/unary.cu"], watch: [], include_paths: ["src/binary_op_macros.cuh", "src/compatibility.cuh", "src/cuda_utils.cuh", "src/moe/gguf.cuh", "src/moe/moe_utils.cuh"], compute_cap: Some(75), out_dir: "/home/agent/git/candle/candle-kernels/target/debug/build/candle-kernels-441dca61f066a9ad/out", extra_args: ["--expt-relaxed-constexpr", "-std=c++17", "-O3"] }
cargo:rerun-if-changed=src/binary_op_macros.cuh
cargo:rerun-if-changed=src/compatibility.cuh
cargo:rerun-if-changed=src/cuda_utils.cuh
cargo:rerun-if-changed=src/moe/gguf.cuh
cargo:rerun-if-changed=src/moe/moe_utils.cuh
cargo:rerun-if-env-changed=NVCC_CCBIN
cargo:rerun-if-changed=src/affine.cu
cargo:rerun-if-changed=src/conv.cu
cargo:rerun-if-changed=src/moe/moe_wmma.cu
cargo:rerun-if-changed=src/indexing.cu
cargo:rerun-if-changed=src/binary.cu
cargo:rerun-if-changed=src/fill.cu
cargo:rerun-if-changed=src/moe/moe_gguf.cu
cargo:rerun-if-changed=src/reduce.cu
cargo:rerun-if-changed=src/ternary.cu
cargo:rerun-if-changed=src/cast.cu
cargo:rerun-if-changed=src/moe/moe_wmma_gguf.cu
cargo:rerun-if-changed=src/sort.cu
cargo:rerun-if-changed=src/unary.cu
cargo:rerun-if-changed=src/quantized.cu

--- stderr
src/moe/moe_wmma.cu(110): warning #177-D: variable "laneId" was declared but never referenced
const int laneId = threadId % 32;
^

Remark: The warnings can be suppressed with "-diag-suppress "

src/moe/moe_wmma.cu(172): error: incomplete type "nvcuda::wmma::fragment" (aka "nvcuda::wmma::fragment") is not allowed
fragment a_frag;
^
detected during instantiation of "void vllm_rs::moe_gemm_grouped_kernel(const T *, const T *, const int32_t *, const int32_t *, const float *, T *, int, int, int32_t, int32_t, int32_t) [with T=nv_bfloat16, WMMA_M=16, WMMA_N=16, WARPS_N=2]" at line 279

src/moe/moe_wmma.cu(173): error: incomplete type "nvcuda::wmma::fragment" (aka "nvcuda::wmma::fragment") is not allowed
fragment b_frag;
^
detected during instantiation of "void vllm_rs::moe_gemm_grouped_kernel(const T *, const T *, const int32_t *, const int32_t *, const float *, T *, int, int, int32_t, int32_t, int32_t) [with T=nv_bfloat16, WMMA_M=16, WMMA_N=16, WARPS_N=2]" at line 279

src/moe/moe_wmma.cu(172): error: incomplete type "nvcuda::wmma::fragment" (aka "nvcuda::wmma::fragment") is not allowed
fragment a_frag;
^
detected during instantiation of "void vllm_rs::moe_gemm_grouped_kernel(const T *, const T *, const int32_t *, const int32_t *, const float *, T *, int, int, int32_t, int32_t, int32_t) [with T=nv_bfloat16, WMMA_M=8, WMMA_N=32, WARPS_N=1]" at line 281

src/moe/moe_wmma.cu(173): error: incomplete type "nvcuda::wmma::fragment" (aka "nvcuda::wmma::fragment") is not allowed
fragment b_frag;
^
detected during instantiation of "void vllm_rs::moe_gemm_grouped_kernel(const T *, const T *, const int32_t *, const int32_t *, const float *, T *, int, int, int32_t, int32_t, int32_t) [with T=nv_bfloat16, WMMA_M=8, WMMA_N=32, WARPS_N=1]" at line 281

src/moe/moe_wmma.cu(37): warning #177-D: variable "vllm_rs::NUM_VECS" was declared but never referenced
constexpr int NUM_VECS = 32;
^

src/moe/moe_wmma.cu(40): warning #177-D: variable "vllm_rs::WARPS_PER_BLOCK" was declared but never referenced
constexpr int WARPS_PER_BLOCK = 4;
^

4 errors detected in the compilation of "src/moe/moe_wmma.cu".
src/moe/moe_wmma_gguf.cu(259): error: incomplete type "nvcuda::wmma::fragment" (aka "nvcuda::wmma::fragment") is not allowed
fragment a_frag;
^
detected during instantiation of "void moe_gemm_gguf_prefill_kernel(const T *, const uint8_t *, const int32_t *, const int32_t *, const float *, float *, int, int, int32_t, int32_t, int32_t, int) [with T=nv_bfloat16, qk=32, block_q_t=block_q8_0, wrap_size=32]" at line 417

src/moe/moe_wmma_gguf.cu(260): error: incomplete type "nvcuda::wmma::fragment" (aka "nvcuda::wmma::fragment") is not allowed
fragment b_frag;
^
detected during instantiation of "void moe_gemm_gguf_prefill_kernel(const T *, const uint8_t *, const int32_t *, const int32_t *, const float *, float *, int, int, int32_t, int32_t, int32_t, int) [with T=nv_bfloat16, qk=32, block_q_t=block_q8_0, wrap_size=32]" at line 417

src/moe/moe_wmma_gguf.cu(259): error: incomplete type "nvcuda::wmma::fragment" (aka "nvcuda::wmma::fragment") is not allowed
fragment a_frag;
^
detected during instantiation of "void moe_gemm_gguf_prefill_kernel(const T *, const uint8_t *, const int32_t *, const int32_t *, const float *, float *, int, int, int32_t, int32_t, int32_t, int) [with T=nv_bfloat16, qk=256, block_q_t=block_q4_K, wrap_size=32]" at line 417

src/moe/moe_wmma_gguf.cu(260): error: incomplete type "nvcuda::wmma::fragment" (aka "nvcuda::wmma::fragment") is not allowed
fragment b_frag;
^
detected during instantiation of "void moe_gemm_gguf_prefill_kernel(const T *, const uint8_t *, const int32_t *, const int32_t *, const float *, float *, int, int, int32_t, int32_t, int32_t, int) [with T=nv_bfloat16, qk=256, block_q_t=block_q4_K, wrap_size=32]" at line 417

src/moe/moe_wmma_gguf.cu(259): error: incomplete type "nvcuda::wmma::fragment" (aka "nvcuda::wmma::fragment") is not allowed
fragment a_frag;
^
detected during instantiation of "void moe_gemm_gguf_prefill_kernel(const T *, const uint8_t *, const int32_t *, const int32_t *, const float *, float *, int, int, int32_t, int32_t, int32_t, int) [with T=nv_bfloat16, qk=256, block_q_t=block_q2_K, wrap_size=64]" at line 417

src/moe/moe_wmma_gguf.cu(260): error: incomplete type "nvcuda::wmma::fragment" (aka "nvcuda::wmma::fragment") is not allowed
fragment b_frag;
^
detected during instantiation of "void moe_gemm_gguf_prefill_kernel(const T *, const uint8_t *, const int32_t *, const int32_t *, const float *, float *, int, int, int32_t, int32_t, int32_t, int) [with T=nv_bfloat16, qk=256, block_q_t=block_q2_K, wrap_size=64]" at line 417

src/moe/moe_wmma_gguf.cu(259): error: incomplete type "nvcuda::wmma::fragment" (aka "nvcuda::wmma::fragment") is not allowed
fragment a_frag;
^
detected during instantiation of "void moe_gemm_gguf_prefill_kernel(const T *, const uint8_t *, const int32_t *, const int32_t *, const float *, float *, int, int, int32_t, int32_t, int32_t, int) [with T=nv_bfloat16, qk=256, block_q_t=block_q3_K, wrap_size=64]" at line 417

src/moe/moe_wmma_gguf.cu(260): error: incomplete type "nvcuda::wmma::fragment" (aka "nvcuda::wmma::fragment") is not allowed
fragment b_frag;
^
detected during instantiation of "void moe_gemm_gguf_prefill_kernel(const T *, const uint8_t *, const int32_t *, const int32_t *, const float *, float *, int, int, int32_t, int32_t, int32_t, int) [with T=nv_bfloat16, qk=256, block_q_t=block_q3_K, wrap_size=64]" at line 417

src/moe/moe_wmma_gguf.cu(259): error: incomplete type "nvcuda::wmma::fragment" (aka "nvcuda::wmma::fragment") is not allowed
fragment a_frag;
^
detected during instantiation of "void moe_gemm_gguf_prefill_kernel(const T *, const uint8_t *, const int32_t *, const int32_t *, const float *, float *, int, int, int32_t, int32_t, int32_t, int) [with T=nv_bfloat16, qk=256, block_q_t=block_q5_K, wrap_size=64]" at line 417

src/moe/moe_wmma_gguf.cu(260): error: incomplete type "nvcuda::wmma::fragment" (aka "nvcuda::wmma::fragment") is not allowed
fragment b_frag;
^
detected during instantiation of "void moe_gemm_gguf_prefill_kernel(const T *, const uint8_t *, const int32_t *, const int32_t *, const float *, float *, int, int, int32_t, int32_t, int32_t, int) [with T=nv_bfloat16, qk=256, block_q_t=block_q5_K, wrap_size=64]" at line 417

src/moe/moe_wmma_gguf.cu(259): error: incomplete type "nvcuda::wmma::fragment" (aka "nvcuda::wmma::fragment") is not allowed
fragment a_frag;
^
detected during instantiation of "void moe_gemm_gguf_prefill_kernel(const T *, const uint8_t *, const int32_t *, const int32_t *, const float *, float *, int, int, int32_t, int32_t, int32_t, int) [with T=nv_bfloat16, qk=256, block_q_t=block_q6_K, wrap_size=64]" at line 417

src/moe/moe_wmma_gguf.cu(260): error: incomplete type "nvcuda::wmma::fragment" (aka "nvcuda::wmma::fragment") is not allowed
fragment b_frag;
^
detected during instantiation of "void moe_gemm_gguf_prefill_kernel(const T *, const uint8_t *, const int32_t *, const int32_t *, const float *, float *, int, int, int32_t, int32_t, int32_t, int) [with T=nv_bfloat16, qk=256, block_q_t=block_q6_K, wrap_size=64]" at line 417

12 errors detected in the compilation of "src/moe/moe_wmma_gguf.cu".

thread 'main' (91160) panicked at /home/agent/.cargo/git/checkouts/bindgen_cuda-327fc90ea2e55a67/c568a81/src/lib.rs:412:13:
nvcc error while compiling "src/moe/moe_wmma.cu":

# CLI "nvcc" "--gpu-architecture=sm_75" "--ptx" "--default-stream" "per-thread" "--output-directory" "/home/agent/git/candle/candle-kernels/target/debug/build/candle-kernels-441dca61f066a9ad/out" "--expt-relaxed-constexpr" "-std=c++17" "-O3" "-Isrc" "-Isrc/moe" "-I/usr/local/cuda/include" "src/moe/moe_wmma.cu"

# stdout

# stderr

note: run with `RUST_BACKTRACE=1` environment variable to display a backtrace
```

AI assistants seem to think that my GPU doesn't support the necessary CUDA features for the kernel to compile for my GPU, but I"m not sure whether that's correct or not.

Is there any way to use candle without the kernels while still running on the GPU?

Contributor guide

No contributing guide indexed for this repository

Research direction

Start by reproducing the cargo build failure for candle-kernels with the reported CUDA libraries and compute capability 75. Inspect candle-kernels/src/moe/moe_wmma.cu and src/moe/moe_wmma_gguf.cu, along with build.rs, then verify that candle-kernels builds successfully and GPU support works on the reported GTX 1650.

Written by the indexing model from the issue text.

Assessment

Tech stack
rust
Domain
build-system, machine-learning
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
30/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.