## Major Accomplishments via Parallel Agent Deployment ### Type System Unification ✅ - Eliminated duplicate MarketDataEvent definitions - Unified data/src/types.rs and providers/common.rs - Removed conversion layer completely ### ML Crate CUDA Integration ✅ - Restored candle-core 0.9 with CUDA 12.9 support - Fixed cudarc version compatibility (0.13.9 → 0.16.6) - All ML models now compile with hardware acceleration ### Critical Infrastructure Fixes ✅ - trading_engine: Fixed SIMD arch module references - Services: All 3 services compile cleanly - Dependencies: Added missing statrs, petgraph where needed - ONNX removal: Proper stub implementations added ### Architecture Validation ✅ - Workspace integrity: All 19 members verified and working - Service separation: Trading/Backtesting/ML services operational - Configuration: PostgreSQL hot-reload system functional ## Results: 100% Core Component Success - trading_engine: 0 errors ✅ - ml: 0 errors ✅ - All services: 0 errors ✅ - Type system: Unified ✅ - CUDA: Fully operational ✅ 🤖 Generated with [Claude Code](https://claude.ai/code) Co-Authored-By: Claude <noreply@anthropic.com>
144 lines
4.0 KiB
TOML
144 lines
4.0 KiB
TOML
[package]
|
|
name = "ml"
|
|
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
|
|
|
|
[features]
|
|
# MINIMAL features for HFT inference only - ALL HEAVY ML REMOVED
|
|
default = ["minimal-inference"]
|
|
|
|
# PRODUCTION FEATURES - LIGHTWEIGHT ONLY
|
|
minimal-inference = [] # Minimal inference with no optional deps
|
|
financial = [] # Basic financial calculations
|
|
high-precision = ["rust_decimal/serde-float"]
|
|
|
|
# PERFORMANCE FEATURES - NO HEAVY ML
|
|
simd = [] # SIMD without heavy dependencies
|
|
|
|
# ALL HEAVY ML FEATURES REMOVED:
|
|
# cuda, gpu, pytorch, linfa-ml - MOVED TO ml_training_service
|
|
# optimization, graph-models, reinforcement-learning - MOVED TO ml_training_service
|
|
# transformers-advanced - MOVED TO ml_training_service
|
|
|
|
[dependencies]
|
|
# Core async and utilities
|
|
tokio.workspace = true
|
|
futures.workspace = true
|
|
async-trait.workspace = true
|
|
|
|
# Serialization and error handling
|
|
serde.workspace = true
|
|
serde_json.workspace = true
|
|
uuid.workspace = true
|
|
thiserror.workspace = true
|
|
anyhow.workspace = true
|
|
|
|
# System and I/O
|
|
memmap2.workspace = true
|
|
tempfile.workspace = true
|
|
tracing.workspace = true
|
|
prometheus.workspace = true
|
|
reqwest.workspace = true
|
|
|
|
# Internal workspace crates
|
|
trading_engine.workspace = true
|
|
config.workspace = true
|
|
risk = { path = "../risk" }
|
|
model_loader = { path = "../crates/model_loader" } # ml_models feature is now default
|
|
|
|
|
|
# Essential ML frameworks for HFT inference - CUDA REQUIRED FOR PERFORMANCE
|
|
candle-core = { version = "0.9", features = ["cuda", "cudnn"] } # CUDA mandatory for HFT latency
|
|
candle-nn = { version = "0.9" }
|
|
candle-optimisers = { version = "0.9" }
|
|
|
|
# HEAVY ML FRAMEWORKS REMOVED - MOVED TO ml_training_service
|
|
# ort (ONNX Runtime) - REMOVED (1000+ dependencies alone!)
|
|
# tch, torch-sys (PyTorch bindings) - REMOVED (500+ dependencies!)
|
|
|
|
|
|
# Mathematical libraries
|
|
ndarray = { version = "0.15", features = ["rayon", "blas", "serde"] }
|
|
nalgebra = { version = "0.33", features = ["serde-serialize"] }
|
|
arrayfire = { version = "3.8", optional = true }
|
|
|
|
# MINIMAL statistics only - ALL HEAVY ML ALGORITHMS REMOVED
|
|
# linfa ecosystem (linfa, linfa-clustering, linfa-linear, linfa-reduction) - REMOVED (200+ deps)
|
|
# smartcore - REMOVED (100+ dependencies)
|
|
# Basic statistics - always included (not optional)
|
|
statrs.workspace = true # Required for statistical computations
|
|
|
|
|
|
rust_decimal.workspace = true
|
|
|
|
|
|
# gymnasium, rerun - REMOVED (RL frameworks moved to ml_training_service)
|
|
|
|
|
|
# cudarc, wgpu - REMOVED (GPU frameworks moved to ml_training_service)
|
|
rayon.workspace = true
|
|
crossbeam = { version = "0.8", features = ["std"] }
|
|
|
|
|
|
petgraph = { version = "0.6", features = ["serde"] } # Required for TGNN graphs
|
|
semver = "1.0"
|
|
|
|
|
|
|
|
# chronoutil, ta, polars - REMOVED or moved to workspace dependencies
|
|
|
|
|
|
# argmin, nlopt, ipopt - REMOVED (optimization frameworks moved to ml_training_service)
|
|
|
|
|
|
half = { version = "2.6.0", features = ["serde"] }
|
|
rand = { version = "0.8.5", features = ["small_rng", "getrandom"] }
|
|
rand_distr = { version = "0.4.3" }
|
|
chrono = { version = "0.4.38", features = ["serde", "clock"] }
|
|
parking_lot = { version = "0.12", features = ["hardware-lock-elision"] }
|
|
dashmap = { version = "6.1", features = ["serde"] }
|
|
once_cell = "1.19"
|
|
lazy_static.workspace = true
|
|
flate2 = "1.0"
|
|
sha2 = "0.10"
|
|
bincode = "1.3"
|
|
fastrand = "2.1"
|
|
# wide - REMOVED (SIMD moved to trading_engine)
|
|
num-traits = "0.2"
|
|
libc = "0.2"
|
|
fs2 = "0.4"
|
|
num_cpus = "1.16"
|
|
approx.workspace = true
|
|
|
|
|
|
[dev-dependencies]
|
|
tokio-test = "0.4"
|
|
proptest = "1.5"
|
|
tempfile = "3.12"
|
|
futures-test = "0.3"
|
|
mockall = "0.13"
|
|
test-case = "3.0"
|
|
rstest = "0.22"
|
|
criterion = { version = "0.5", features = ["html_reports", "async_tokio"] }
|
|
|
|
|
|
tokio = { workspace = true, features = ["test-util", "macros"] }
|
|
insta = "1.34" # Snapshot testing for ML outputs
|
|
serial_test = "3.0" # Sequential testing for GPU resources
|
|
|
|
[[example]]
|
|
name = "cuda_test"
|
|
path = "examples/cuda_test.rs"
|
|
|
|
[lints]
|
|
workspace = true
|