- Fork cudarc locally (vendor/cudarc): add CudaContext::load_cubin() that calls cuModuleLoadData directly — zero nvrtc dependency - Remove "nvrtc" feature from ml-core, ml-dqn, ml-ppo Cargo.toml - Replace all 89 Ptx::from_binary + load_module calls with load_cubin - ml-core cuda_autograd: wire 9 stub constructors to precompiled cubins (activation, elementwise, linear, loss, reduction, dropout, layer_norm, optimizer) - ml-core build.rs: compile 8 BF16-native CUDA kernels via nvcc - cubin_loader.rs: thin wrapper around CudaContext::load_cubin() - Fix size_of::<f32> in gpu_tensor.rs, stream_ops.rs, layer_norm.rs - Fix test data: Vec<f32> → Vec<half::bf16> for memcpy_htod - Stub ml-ppo/ml-dqn runtime compile_ptx calls (dead code) - backtest_metrics_kernel.cu: full native BF16 rewrite (no float) - backtest_env_kernel.cu: shared memory → __nv_bfloat16 Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
207 lines
3.7 KiB
TOML
207 lines
3.7 KiB
TOML
# 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.3"
|
|
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-13010",
|
|
"f16",
|
|
"cudnn",
|
|
"nccl",
|
|
"cupti",
|
|
"cusparse",
|
|
"cusolver",
|
|
"cusolvermg",
|
|
"cufile",
|
|
"nvtx",
|
|
"cupti",
|
|
"cutensor",
|
|
]
|
|
|
|
[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-version-from-build-system = []
|
|
cudnn = ["driver"]
|
|
cufft = ["driver"]
|
|
cufile = ["driver"]
|
|
cupti = [
|
|
"runtime",
|
|
"driver",
|
|
]
|
|
curand = ["driver"]
|
|
cusolver = [
|
|
"driver",
|
|
"cublas",
|
|
"cublaslt",
|
|
"cusparse",
|
|
]
|
|
cusolvermg = ["cusolver"]
|
|
cusparse = ["driver"]
|
|
cutensor = ["driver"]
|
|
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 = ["driver"]
|
|
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.1.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
|