From 435a736af116ad974b635febb214bfe63dd72f83 Mon Sep 17 00:00:00 2001 From: Jonathan Newnham Date: Thu, 25 May 2023 11:39:33 +1200 Subject: [PATCH] Fix windows cuda build * add ggml-cuda.cu * sort out linker paths using CUDA_PATH --- sys/Cargo.toml | 2 ++ sys/build.rs | 15 ++++++++++++--- 2 files changed, 14 insertions(+), 3 deletions(-) diff --git a/sys/Cargo.toml b/sys/Cargo.toml index e8d78ad..5bbc6dd 100644 --- a/sys/Cargo.toml +++ b/sys/Cargo.toml @@ -17,6 +17,8 @@ include = [ "whisper.cpp/ggml.h", "whisper.cpp/ggml-opencl.c", "whisper.cpp/ggml-opencl.h", + "whisper.cpp/ggml-cuda.cu", + "whisper.cpp/ggml-cuda.h", "whisper.cpp/LICENSE", "whisper.cpp/whisper.cpp", "whisper.cpp/whisper.h", diff --git a/sys/build.rs b/sys/build.rs index 98b0512..86cc7ed 100644 --- a/sys/build.rs +++ b/sys/build.rs @@ -34,11 +34,20 @@ fn main() { #[cfg(feature = "cuda")] { println!("cargo:rustc-link-lib=cublas"); - println!("cargo:rustc-link-lib=culibos"); println!("cargo:rustc-link-lib=cudart"); println!("cargo:rustc-link-lib=cublasLt"); - println!("cargo:rustc-link-search=/usr/local/cuda/lib64"); - println!("cargo:rustc-link-search=/opt/cuda/lib64"); + #[cfg(target_os = "windows")] + { + let cuda_path = PathBuf::from(env::var("CUDA_PATH").unwrap()).join("lib/x64"); + println!("cargo:rustc-link-search={}", cuda_path.display()); + } + #[cfg(not(target_os = "windows"))] + { + println!("cargo:rustc-link-lib=culibos"); + println!("cargo:rustc-link-search=/usr/local/cuda/lib64"); + println!("cargo:rustc-link-search=/opt/cuda/lib64"); + + } } println!("cargo:rerun-if-changed=wrapper.h");