[package]
edition = "2024"
rust-version = "1.85"
name = "baracuda"
version = "0.0.1-alpha.68"
authors = ["The baracuda contributors"]
build = false
autolib = false
autobins = false
autoexamples = false
autotests = false
autobenches = false
description = "Idiomatic Rust wrappers for the NVIDIA CUDA stack (Driver API, Runtime API, NVRTC, cuBLAS, cuDNN, NCCL, NVML, ...). Umbrella crate."
homepage = "https://github.com/ciresnave/baracuda"
readme = "README.md"
keywords = [
"cuda",
"gpu",
"nvidia",
"driver",
"runtime",
]
categories = [
"api-bindings",
"external-ffi-bindings",
"hardware-support",
]
license = "MIT OR Apache-2.0"
repository = "https://github.com/ciresnave/baracuda"
[features]
async = ["baracuda-driver?/async"]
cublas = [
"dep:baracuda-cublas",
"driver",
]
cudf = ["dep:baracuda-cudf"]
cudnn = [
"dep:baracuda-cudnn",
"driver",
]
cufft = [
"dep:baracuda-cufft",
"driver",
]
cufile = ["dep:baracuda-cufile"]
curand = [
"dep:baracuda-curand",
"driver",
]
cusolver = [
"dep:baracuda-cusolver",
"driver",
]
cusparse = [
"dep:baracuda-cusparse",
"driver",
]
cvcuda = ["dep:baracuda-cvcuda"]
default = [
"driver",
"runtime",
]
driver = ["dep:baracuda-driver"]
driver-runtime-interop = ["baracuda-runtime?/driver-interop"]
full = [
"ml",
"imaging",
"nvcomp",
"nvml",
"cufile",
"cudf",
]
half-crate = [
"baracuda-types/half-crate",
"baracuda-cudnn?/half-crate",
"baracuda-nccl?/half-crate",
]
imaging = [
"npp",
"nvjpeg",
"nvimagecodec",
"cvcuda",
]
math = [
"cublas",
"curand",
"cufft",
"cusparse",
"cusolver",
]
ml = [
"driver",
"runtime",
"nvrtc",
"nvjitlink",
"math",
"cudnn",
"nccl",
"tensorrt",
]
nccl = [
"dep:baracuda-nccl",
"driver",
]
npp = [
"dep:baracuda-npp",
"driver",
]
nvcomp = ["dep:baracuda-nvcomp"]
nvimagecodec = [
"dep:baracuda-nvimagecodec",
"driver",
]
nvjitlink = ["dep:baracuda-nvjitlink"]
nvjpeg = [
"dep:baracuda-nvjpeg",
"driver",
]
nvml = ["dep:baracuda-nvml"]
nvrtc = ["dep:baracuda-nvrtc"]
runtime = ["dep:baracuda-runtime"]
tensorrt = ["dep:baracuda-tensorrt"]
[lib]
name = "baracuda"
path = "src/lib.rs"
[[example]]
name = "graph_capture"
path = "examples/graph_capture.rs"
[[example]]
name = "hello_kernel"
path = "examples/hello_kernel.rs"
[[example]]
name = "hello_nvrtc"
path = "examples/hello_nvrtc.rs"
[[example]]
name = "hello_runtime"
path = "examples/hello_runtime.rs"
[[example]]
name = "matmul_cublas"
path = "examples/matmul_cublas.rs"
required-features = [
"cublas",
"curand",
]
[dependencies.baracuda-cublas]
version = "0.0.1-alpha.68"
optional = true
[dependencies.baracuda-cudf]
version = "0.0.1-alpha.68"
optional = true
[dependencies.baracuda-cudnn]
version = "0.0.1-alpha.68"
optional = true
[dependencies.baracuda-cufft]
version = "0.0.1-alpha.68"
optional = true
[dependencies.baracuda-cufile]
version = "0.0.1-alpha.68"
optional = true
[dependencies.baracuda-curand]
version = "0.0.1-alpha.68"
optional = true
[dependencies.baracuda-cusolver]
version = "0.0.1-alpha.68"
optional = true
[dependencies.baracuda-cusparse]
version = "0.0.1-alpha.68"
optional = true
[dependencies.baracuda-cvcuda]
version = "0.0.1-alpha.68"
optional = true
[dependencies.baracuda-driver]
version = "0.0.1-alpha.68"
optional = true
[dependencies.baracuda-nccl]
version = "0.0.1-alpha.68"
optional = true
[dependencies.baracuda-npp]
version = "0.0.1-alpha.68"
optional = true
[dependencies.baracuda-nvcomp]
version = "0.0.1-alpha.68"
optional = true
[dependencies.baracuda-nvimagecodec]
version = "0.0.1-alpha.68"
optional = true
[dependencies.baracuda-nvjitlink]
version = "0.0.1-alpha.68"
optional = true
[dependencies.baracuda-nvjpeg]
version = "0.0.1-alpha.68"
optional = true
[dependencies.baracuda-nvml]
version = "0.0.1-alpha.68"
optional = true
[dependencies.baracuda-nvrtc]
version = "0.0.1-alpha.68"
optional = true
[dependencies.baracuda-runtime]
version = "0.0.1-alpha.68"
optional = true
[dependencies.baracuda-tensorrt]
version = "0.0.1-alpha.68"
optional = true
[dependencies.baracuda-types]
version = "0.0.1-alpha.68"
[dev-dependencies.baracuda-nvrtc]
version = "0.0.1-alpha.68"
[lints.clippy]
too_many_arguments = "allow"
type_complexity = "allow"
[lints.clippy.all]
level = "warn"
priority = -1
[lints.rust]
missing_debug_implementations = "warn"
missing_docs = "deny"
unreachable_pub = "warn"