# 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 = "2021"
name = "cudarc"
version = "0.19.7"
authors = ["Chelsea Lowman <clowman1993@gmail.com>"]
build = "build.rs"
autolib = false
autobins = false
autoexamples = false
autotests = false
autobenches = false
description = "Safe and minimal CUDA bindings"
homepage = "https://github.com/chelsea0x3b/cudarc"
documentation = "https://docs.rs/cudarc"
readme = "README.md"
keywords = [
    "cuda",
    "nvidia",
    "gpu",
    "cudnn",
    "cublas",
]
categories = [
    "api-bindings",
    "hardware-support",
    "memory-management",
    "no-std",
    "science",
]
license = "MIT OR Apache-2.0"
repository = "https://github.com/chelsea0x3b/cudarc"

[package.metadata.docs.rs]
features = [
    "cuda-13020",
    "f16",
    "cudnn",
    "nccl",
    "cupti",
    "cusparse",
    "cusolver",
    "cusolvermg",
    "cufile",
    "nvtx",
    "cupti",
    "cutensor",
    "cufft",
]

[features]
cublas = ["driver"]
cublaslt = ["driver"]
cuda-11040 = []
cuda-11050 = []
cuda-11060 = []
cuda-11070 = []
cuda-11080 = []
cuda-12000 = []
cuda-12010 = []
cuda-12020 = []
cuda-12030 = []
cuda-12040 = []
cuda-12050 = []
cuda-12060 = []
cuda-12080 = []
cuda-12090 = []
cuda-13000 = []
cuda-13010 = []
cuda-13020 = []
cuda-version-from-build-system = []
cudnn = ["cudnn-09021"]
cudnn-08009 = ["driver"]
cudnn-09010 = ["driver"]
cudnn-09021 = ["driver"]
cudnn-version-from-build-system = []
cufft = ["driver"]
cufile = ["driver"]
cupti = [
    "runtime",
    "driver",
]
curand = ["driver"]
cusolver = [
    "driver",
    "cublas",
    "cublaslt",
    "cusparse",
]
cusolvermg = ["cusolver"]
cusparse = ["driver"]
cutensor = ["cutensor-02006"]
cutensor-02003 = ["driver"]
cutensor-02004 = ["driver"]
cutensor-02005 = ["driver"]
cutensor-02006 = ["driver"]
cutensor-version-from-build-system = []
default = [
    "std",
    "cublas",
    "cublaslt",
    "curand",
    "driver",
    "runtime",
    "nvrtc",
    "fallback-dynamic-loading",
]
driver = []
dynamic-linking = []
dynamic-loading = []
f16 = ["dep:half"]
f4 = ["dep:float4"]
f8 = ["dep:float8"]
fallback-dynamic-loading = []
fallback-latest = []
nccl = ["nccl-02030"]
nccl-02018 = ["driver"]
nccl-02019 = ["driver"]
nccl-02020 = ["driver"]
nccl-02021 = ["driver"]
nccl-02022 = ["driver"]
nccl-02024 = ["driver"]
nccl-02025 = ["driver"]
nccl-02026 = ["driver"]
nccl-02027 = ["driver"]
nccl-02028 = ["driver"]
nccl-02029 = ["driver"]
nccl-02030 = ["driver"]
nccl-version-from-build-system = []
no-std = ["no-std-compat/std"]
nvrtc = []
nvtx = ["driver"]
runtime = ["driver"]
static-linking = []
std = []

[lib]
name = "cudarc"
path = "src/lib.rs"

[[example]]
name = "01-allocate"
path = "examples/01-allocate.rs"

[[example]]
name = "02-copy"
path = "examples/02-copy.rs"

[[example]]
name = "03-launch-kernel"
path = "examples/03-launch-kernel.rs"

[[example]]
name = "04-streams"
path = "examples/04-streams.rs"

[[example]]
name = "05-device-repr"
path = "examples/05-device-repr.rs"

[[example]]
name = "06-threading"
path = "examples/06-threading.rs"

[[example]]
name = "08-cupti"
path = "examples/08-cupti.rs"

[[example]]
name = "09-constant-memory"
path = "examples/09-constant-memory.rs"

[[example]]
name = "10-function-attributes"
path = "examples/10-function-attributes.rs"

[[example]]
name = "12-context-config"
path = "examples/12-context-config.rs"

[[example]]
name = "13-copy-multi-gpu"
path = "examples/13-copy-multi-gpu.rs"

[[example]]
name = "cufile-copy"
path = "examples/cufile-copy.rs"

[[example]]
name = "matmul-kernel"
path = "examples/matmul-kernel.rs"

[[example]]
name = "nvrtc-compile"
path = "examples/nvrtc-compile.rs"

[dependencies.float4]
version = "0.2.0"
optional = true

[dependencies.float8]
version = "0.7.0"
optional = true

[dependencies.half]
version = "2"
features = [
    "num-traits",
    "rand_distr",
]
optional = true
default-features = false

[dependencies.libloading]
version = "0.9.0"

[dependencies.no-std-compat]
version = "0.4.1"
features = ["alloc"]
optional = true
