refactor(cuda): eliminate all CPU fallbacks — CUDA mandatory across ML stack
- Remove ALL #[cfg(feature = "cuda")] guards (~400+ occurrences) - Remove ALL #[cfg_attr(not(feature = "cuda"), ignore)] test annotations (~250) - Make cuda default feature in 9 ML crates (ml, ml-core, ml-dqn, ml-ppo, etc.) - Convert nvrtc JIT compilation to precompiled nvcc (searchsorted, prefix_sum) - Move compile_ptx_for_device() to ml-core for shared access - Delete dead CPU code: multi_step.rs, self_supervised_pretraining.rs, training_guard_gpu_tests.rs, CPU PER buffer paths, CPU Q-diagnostics - Replace unwrap_or(Device::Cpu) with hard errors everywhere - Remove dead is_cuda() else branches in DQN/PPO/hyperopt trainers - Change config defaults from "cpu" to "cuda" (rainbow, tlob, pipeline) - Port IQL value network to GPU kernel (5 CUDA entry points) - Port HER goal relabeling to GPU kernel (warp-per-sample) - Wire DSR GPU-to-CPU sync in training loop - cfg!(feature = "cuda") → true in inference_validator Zero warnings, zero errors across entire workspace. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
@@ -13,9 +13,9 @@ keywords.workspace = true
|
||||
categories.workspace = true
|
||||
|
||||
[features]
|
||||
# MINIMAL features for HFT inference only - ALL HEAVY ML REMOVED
|
||||
# CUDA opt-in: service crates build on CPU nodes without nvcc
|
||||
default = ["minimal-inference"]
|
||||
# CUDA default: all ML training is GPU-only. Service crates on CPU nodes
|
||||
# must opt out with `default-features = false, features = ["minimal-inference"]`.
|
||||
default = ["minimal-inference", "cuda"]
|
||||
|
||||
# PRODUCTION FEATURES - LIGHTWEIGHT ONLY
|
||||
minimal-inference = [] # Minimal inference with no optional deps
|
||||
|
||||
Reference in New Issue
Block a user