Files
foxhunt/testing/integration/gpu/mod.rs
jgrusewski 9c3d741a08 refactor: restructure repo — crates/, bin/, testing/ layout
Move 17 library crates into crates/, CLI binary into bin/fxt,
consolidate 10 test crates into testing/, split config crate
from deployment config files.

Root directory reduced from 38+ to ~17 directories.
All Cargo.toml paths and build.rs proto refs updated.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-25 11:56:00 +01:00

58 lines
1.6 KiB
Rust

//! GPU Testing Infrastructure for Foxhunt HFT System
//!
//! This module provides comprehensive GPU testing coverage including:
//! - CUDA device initialization and detection
//! - GPU memory management validation
//! - ML model GPU inference testing
//! - Performance benchmarks (GPU vs CPU)
//! - CUDA kernel validation
//! - Production GPU path testing
pub mod cuda_initialization_test;
pub mod gpu_memory_management_test;
pub mod ml_gpu_inference_test;
pub mod cuda_kernel_test;
pub mod gpu_performance_bench;
pub mod production_gpu_integration_test;
// Re-export commonly used test utilities
/// Common GPU test utilities
pub mod utils {
use std::sync::Once;
static INIT: Once = Once::new();
/// Initialize GPU test environment once per test run
pub fn init_gpu_test_env() {
INIT.call_once(|| {
env_logger::init();
log::info!("🚀 Initializing GPU test environment");
});
}
/// Check if CUDA is available for testing
pub fn cuda_available() -> bool {
#[cfg(feature = "cuda")]
{
cudarc::driver::CudaDevice::new(0).is_ok()
}
#[cfg(not(feature = "cuda"))]
{
false
}
}
/// Get test device (CUDA if available, CPU otherwise)
pub fn get_test_device() -> candle_core::Device {
candle_core::Device::cuda_if_available(0).unwrap_or(candle_core::Device::Cpu)
}
/// Skip test if CUDA not available
pub fn require_cuda() {
if !cuda_available() {
eprintln!("⚠️ Skipping CUDA test - CUDA not available");
std::process::exit(0);
}
}
}