Files
foxhunt/crates/ml-ppo/Cargo.toml
jgrusewski 22004a7368 refactor(cuda): eliminate candle from ml-core, ml-ppo, and 4 thin crates
Hard refactor — no shims, no compat layers. Candle removed from Cargo.toml
and all source files in 6 crates:

- ml-core: MlDevice enum, checkpoint.rs (safetensors direct), cudarc imports
  fixed from candle re-export to direct, AdamWConfig lr_decay, cuda_compat
  gutted. Net -7,341 lines.
- ml-ppo: All 16 files rewritten. LSTM→CudaLSTM, VarMap→GpuVarStore,
  PPOAgent 2306→700 lines, checkpoint→binary format.
- ml-ensemble: GPU-resident sigmoid via custom CUDA kernel.
- ml-explainability: Integrated gradients via GPU finite-difference kernels.
- ml-labeling: Device→MlDevice.
- ml-hyperopt: Cargo.toml only.

Remaining: ml-dqn (24 files), ml-supervised (4 files), ml crate (104 files).

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-17 22:27:56 +01:00

55 lines
1.3 KiB
TOML

[package]
name = "ml-ppo"
version.workspace = true
edition.workspace = true
rust-version.workspace = true
authors.workspace = true
license.workspace = true
repository.workspace = true
homepage.workspace = true
documentation.workspace = true
publish.workspace = true
keywords.workspace = true
categories.workspace = true
description = "PPO reinforcement learning for Foxhunt trading"
[features]
default = ["cuda"]
cuda = ["ml-core/cuda", "cudarc"]
[dependencies]
ml-core.workspace = true
common.workspace = true
# CUDA (direct cudarc — candle eliminated)
cudarc = { version = "0.19", optional = true, default-features = false, features = ["driver", "nvrtc", "cublas", "dynamic-linking", "std", "cuda-version-from-build-system"] }
# Serialization
serde = { workspace = true, features = ["derive"] }
serde_json.workspace = true
# Core utilities
thiserror.workspace = true
anyhow.workspace = true
tracing.workspace = true
rand.workspace = true
rand_distr.workspace = true
rust_decimal.workspace = true
# CUDA helpers
fastrand = "2"
# Concurrency
parking_lot = { version = "0.12", features = ["hardware-lock-elision"] }
# Numerics
ndarray = { workspace = true, features = ["rayon"] }
statrs.workspace = true
[dev-dependencies]
tokio = { workspace = true, features = ["test-util", "macros"] }
approx.workspace = true
[lints]
workspace = true