mod config;
mod engine;
mod memory_pool;
mod reporting;
#[cfg(test)]
mod tests;
pub use config::{
AdaptiveTuningConfig, CachedOperation, ChunkStrategy, EagerExecutionConfig, ExecutionMetrics,
GpuAccelerationConfig, GpuSchedulingStrategy, MemoryOptimizationConfig, ModelComplexity,
OpSignature, ParallelExecutionConfig, PerformanceMonitoringConfig, PoolStrategy,
PreallocationStrategy, PredictionAlgorithm, SimdExecutionConfig, ThreadPoolStrategy,
UltraLatencyConfig,
};
pub use engine::EagerExecutionEngine;
pub use reporting::{CacheStatistics, EagerPerformanceReport};
lazy_static::lazy_static! {
pub static ref EAGER_ENGINE: EagerExecutionEngine =
EagerExecutionEngine::new(EagerExecutionConfig::default());
}
#[macro_export]
macro_rules! eager_execute {
($op:expr, $inputs:expr, $executor:expr) => {
$crate::eager_execution::EAGER_ENGINE.execute_operation(
$op,
$inputs,
&std::collections::HashMap::new(),
$executor,
)
};
($op:expr, $inputs:expr, $params:expr, $executor:expr) => {
$crate::eager_execution::EAGER_ENGINE.execute_operation($op, $inputs, $params, $executor)
};
}