mirror of
https://github.com/huggingface/candle.git
synced 2025-06-18 19:47:12 +00:00
Update cudarc to 0.12. (#2451)
* Update cudarc to 0.12. * Some cudnn tweaks.
This commit is contained in:
@ -43,7 +43,7 @@ candle-onnx = { path = "./candle-onnx", version = "0.6.1" }
|
|||||||
candle-transformers = { path = "./candle-transformers", version = "0.6.1" }
|
candle-transformers = { path = "./candle-transformers", version = "0.6.1" }
|
||||||
clap = { version = "4.2.4", features = ["derive"] }
|
clap = { version = "4.2.4", features = ["derive"] }
|
||||||
criterion = { version = "0.5.1", default-features=false }
|
criterion = { version = "0.5.1", default-features=false }
|
||||||
cudarc = { version = "=0.11.6", features = ["std", "cublas", "cublaslt", "curand", "driver", "nvrtc", "f16", "cuda-version-from-build-system", "dynamic-linking"], default-features=false }
|
cudarc = { version = "0.12.0", features = ["std", "cublas", "cublaslt", "curand", "driver", "nvrtc", "f16", "cuda-version-from-build-system", "dynamic-linking"], default-features=false }
|
||||||
fancy-regex = "0.13.0"
|
fancy-regex = "0.13.0"
|
||||||
gemm = { version = "0.17.0", features = ["wasm-simd128-enable"] }
|
gemm = { version = "0.17.0", features = ["wasm-simd128-enable"] }
|
||||||
hf-hub = "0.3.0"
|
hf-hub = "0.3.0"
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
use crate::WithDType;
|
use crate::WithDType;
|
||||||
use cudarc;
|
use cudarc;
|
||||||
use cudarc::cudnn::safe::{Conv2dForward, Cudnn};
|
use cudarc::cudnn::safe::{ConvForward, Cudnn};
|
||||||
use cudarc::driver::{CudaSlice, CudaView, DeviceRepr, ValidAsZeroBits};
|
use cudarc::driver::{CudaSlice, CudaView, DeviceRepr, ValidAsZeroBits};
|
||||||
use std::cell::RefCell;
|
use std::cell::RefCell;
|
||||||
use std::collections::HashMap;
|
use std::collections::HashMap;
|
||||||
@ -87,7 +87,7 @@ pub(crate) fn launch_conv2d<
|
|||||||
cudarc::cudnn::sys::cudnnTensorFormat_t::CUDNN_TENSOR_NCHW,
|
cudarc::cudnn::sys::cudnnTensorFormat_t::CUDNN_TENSOR_NCHW,
|
||||||
[params.b_size as i32, params.c_out as i32, h_out, w_out],
|
[params.b_size as i32, params.c_out as i32, h_out, w_out],
|
||||||
)?;
|
)?;
|
||||||
let conv2d = Conv2dForward {
|
let conv2d = ConvForward {
|
||||||
conv: &conv,
|
conv: &conv,
|
||||||
x: &x,
|
x: &x,
|
||||||
w: &w,
|
w: &w,
|
||||||
|
@ -174,6 +174,7 @@ impl Map1 for Im2Col1D {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#[allow(unused)]
|
||||||
struct Im2Col {
|
struct Im2Col {
|
||||||
h_k: usize,
|
h_k: usize,
|
||||||
w_k: usize,
|
w_k: usize,
|
||||||
@ -183,6 +184,7 @@ struct Im2Col {
|
|||||||
}
|
}
|
||||||
|
|
||||||
impl Im2Col {
|
impl Im2Col {
|
||||||
|
#[allow(unused)]
|
||||||
fn hw_out(&self, h: usize, w: usize) -> (usize, usize) {
|
fn hw_out(&self, h: usize, w: usize) -> (usize, usize) {
|
||||||
let h_out = (h + 2 * self.padding - self.dilation * (self.h_k - 1) - 1) / self.stride + 1;
|
let h_out = (h + 2 * self.padding - self.dilation * (self.h_k - 1) - 1) / self.stride + 1;
|
||||||
let w_out = (w + 2 * self.padding - self.dilation * (self.w_k - 1) - 1) / self.stride + 1;
|
let w_out = (w + 2 * self.padding - self.dilation * (self.w_k - 1) - 1) / self.stride + 1;
|
||||||
|
Reference in New Issue
Block a user