# THIS FILE IS AUTOMATICALLY GENERATED BY CARGO
#
# When uploading crates to the registry Cargo will automatically
# "normalize" Cargo.toml files for maximal compatibility
# with all versions of Cargo and also rewrite `path` dependencies
# to registry (e.g., crates.io) dependencies.
#
# If you are reading this file be aware that the original Cargo.toml
# will likely look very different (and much more reasonable).
# See Cargo.toml.orig for the original contents.

[package]
edition = "2024"
rust-version = "1.85"
name = "baracuda"
version = "0.0.1-alpha.47"
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",
    "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"]
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.47"
optional = true

[dependencies.baracuda-cudf]
version = "0.0.1-alpha.47"
optional = true

[dependencies.baracuda-cudnn]
version = "0.0.1-alpha.47"
optional = true

[dependencies.baracuda-cufft]
version = "0.0.1-alpha.47"
optional = true

[dependencies.baracuda-cufile]
version = "0.0.1-alpha.47"
optional = true

[dependencies.baracuda-curand]
version = "0.0.1-alpha.47"
optional = true

[dependencies.baracuda-cusolver]
version = "0.0.1-alpha.47"
optional = true

[dependencies.baracuda-cusparse]
version = "0.0.1-alpha.47"
optional = true

[dependencies.baracuda-cvcuda]
version = "0.0.1-alpha.47"
optional = true

[dependencies.baracuda-driver]
version = "0.0.1-alpha.47"
optional = true

[dependencies.baracuda-nccl]
version = "0.0.1-alpha.47"
optional = true

[dependencies.baracuda-npp]
version = "0.0.1-alpha.47"
optional = true

[dependencies.baracuda-nvcomp]
version = "0.0.1-alpha.47"
optional = true

[dependencies.baracuda-nvjitlink]
version = "0.0.1-alpha.47"
optional = true

[dependencies.baracuda-nvjpeg]
version = "0.0.1-alpha.47"
optional = true

[dependencies.baracuda-nvml]
version = "0.0.1-alpha.47"
optional = true

[dependencies.baracuda-nvrtc]
version = "0.0.1-alpha.47"
optional = true

[dependencies.baracuda-runtime]
version = "0.0.1-alpha.47"
optional = true

[dependencies.baracuda-tensorrt]
version = "0.0.1-alpha.47"
optional = true

[dependencies.baracuda-types]
version = "0.0.1-alpha.47"

[dev-dependencies.baracuda-nvrtc]
version = "0.0.1-alpha.47"
