[package] name = "infer-compute" version.workspace = true edition.workspace = true authors.workspace = true license.workspace = true description = "Compute backends — CPU (BLAS), Metal (GPU), CUDA (planned). Owns matmul dispatch, Q4 kernels, buffer management." keywords = ["matmul", "metal", "gpu", "quantization", "blas"] categories = ["science"] [dependencies] # Matrix types ndarray = { version = "0.16", features = ["blas"] } [target.'cfg(target_os = "linux")'.dependencies] blas-src = { version = "0.10", features = ["openblas"], default-features = false } openblas-src = { version = "0.10", features = ["system"] } # Metal GPU (macOS only, optional) [target.'cfg(target_os = "macos")'.dependencies] metal = { version = "0.29", optional = true } blas-src = { version = "0.10", features = ["accelerate"] } [dependencies.cudarc] version = "0.12" optional = true features = ["cublas", "nvrtc"] [features] default = [] metal = ["dep:metal"] cuda = ["dep:cudarc"] [build-dependencies] cc = "1.0" [target.'cfg(unix)'.dependencies] libc = "0.2" [dev-dependencies] criterion = "0.5" serde_json = "1" memmap2 = "0.9" infer-models = { path = "../infer-models" } [[bench]] name = "matmul" harness = false [[bench]] name = "linalg" harness = false