huggingface / candle

Minimalist ML framework for Rust
Apache License 2.0
14.32k stars 804 forks source link

nvcc fatal : Cannot find compiler 'cl.exe' in PATH #2241

Open kdletters opened 1 month ago

kdletters commented 1 month ago

I add the 'cl.exe' to PATH, but still says can not found.

error: failed to run custom build command for `candle-kernels v0.5.1 (https://github.com/huggingface/candle.git#cd4d941e)`

Caused by:
  process didn't exit successfully: `F:\Projects\Rust\candle-test\target\debug\build\candle-kernels-29a5e65e9694b700\build-script-build` (exit code: 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=89
  cargo:info=Builder { cuda_root: Some("C:\\Program Files\\NVIDIA GPU Computing Toolkit\\CUDA\\v12.4"), kernel_paths: ["src\\affine.cu", "src\\binary.cu", "src\\cast.cu", "src\\conv.cu", "src\\fill.cu", "src\\indexing.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"], compute_cap: Some(89), out_dir: "F:\\Projects\\Rust\\candle-test\\target\\debug\\build\\candle-kernels-50199e501f055724\\out", extra_args: [] }
  cargo:rustc-env=CUDA_INCLUDE_DIR=C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v12.4\include
  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-env-changed=NVCC_CCBIN
  cargo:rerun-if-changed=src\affine.cu
  cargo:rerun-if-changed=src\indexing.cu
  cargo:rerun-if-changed=src\cast.cu
  cargo:rerun-if-changed=src\binary.cu
  cargo:rerun-if-changed=src\quantized.cu
  cargo:rerun-if-changed=src\reduce.cu
  cargo:rerun-if-changed=src\conv.cu
  cargo:rerun-if-changed=src\ternary.cu
  cargo:rerun-if-changed=src\unary.cu
  cargo:rerun-if-changed=src\fill.cu
  cargo:rerun-if-changed=src\sort.cu
  nvcc fatal   : Cannot find compiler 'cl.exe' in PATH
  nvcc fatal   : Cannot find compiler 'cl.exe' in PATH
  nvcc fatal   : Cannot find compiler 'cl.exe' in PATH
  nvcc fatal   : Cannot find compiler 'cl.exe' in PATH
  nvcc fatal   : Cannot find compiler 'cl.exe' in PATH
  nvcc fatal   : Cannot find compiler 'cl.exe' in PATH
  nvcc fatal   : Cannot find compiler 'cl.exe' in PATH
  nvcc fatal   : Cannot find compiler 'cl.exe' in PATH
  nvcc fatal   : Cannot find compiler 'cl.exe' in PATH
  nvcc fatal   : Cannot find compiler 'cl.exe' in PATH
  nvcc fatal   : Cannot find compiler 'cl.exe' in PATH

  --- stderr
  thread 'main' panicked at C:\Users\Administrator\.cargo\registry\src\index.crates.io-6f17d22bba15001f\bindgen_cuda-0.1.5\src\lib.rs:391:13:
  nvcc error while compiling "src\\affine.cu":

  # CLI "nvcc" "--gpu-architecture=sm_89" "--ptx" "--default-stream" "per-thread" "--output-directory" "F:\\Projects\\Rust\\candle-test\\target\\debug\\build\\candle-kernels-50199e501f055724\\out" "-Isrc" "-IC:\\Program Files\\NVIDIA GPU Computing Toolkit\\CUDA\\v12.4\\include" "src\\affine.cu"

  # stdout

  # stderr

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

image

deadash commented 4 weeks ago

You need to call vs first and then cargo build.

C:\ProgramData\Microsoft\Windows\Start Menu\Programs\Visual Studio 2022\Visual Studio Tools\VC\x64 Native Tools Command Prompt for VS 2022