80 lines
2.5 KiB
Rust
80 lines
2.5 KiB
Rust
// rtx-graph: Unified data+compute graph representation for RustyTorch++
|
|
// Phase 6: Self-Optimizing Platform
|
|
// Production-ready implementation with strict TDD approach
|
|
|
|
//! # RustyTorch++ Unified Graph System
|
|
//!
|
|
//! This crate provides a unified representation for both data processing operations (ETL-style)
|
|
//! and compute operations (ML-style) within a single graph intermediate representation.
|
|
//!
|
|
//! ## Key Features
|
|
//! - Unified data and compute operations in single IR
|
|
//! - Graph optimization passes for performance
|
|
//! - Parallel execution planning
|
|
//! - Memory usage analysis and optimization
|
|
//! - Serialization/deserialization support
|
|
//! - Integration with RustyTorch++ runtime system
|
|
//!
|
|
//! ## Usage
|
|
//! ```rust,ignore
|
|
//! use rtx_graph::{GraphBuilder, DataOp, ComputeOp};
|
|
//!
|
|
//! let mut builder = GraphBuilder::new();
|
|
//!
|
|
//! // Add data operation
|
|
//! let read_node = builder.add_data_op(DataOp::Read {
|
|
//! source: "dataset.parquet".to_string(),
|
|
//! format: "parquet".to_string(),
|
|
//! schema: None,
|
|
//! })?;
|
|
//!
|
|
//! // Add compute operation
|
|
//! let tensor_node = builder.add_compute_op(ComputeOp::TensorLoad {
|
|
//! data_node: read_node,
|
|
//! shape: vec![1024, 768],
|
|
//! dtype: "f32".to_string(),
|
|
//! })?;
|
|
//!
|
|
//! let graph = builder.build()?;
|
|
//! ```
|
|
|
|
pub mod error;
|
|
pub mod evolution;
|
|
pub mod execution;
|
|
pub mod governance;
|
|
pub mod graph;
|
|
pub mod memory;
|
|
pub mod operations;
|
|
pub mod optimization;
|
|
pub mod optimizer;
|
|
pub mod serialization;
|
|
pub mod telemetry;
|
|
pub mod zerocopy;
|
|
|
|
// Re-export main types for convenient access
|
|
pub use error::{GraphError, Result};
|
|
pub use evolution::{
|
|
EvolutionFramework, EvolutionProposal, ExecutionResult, ProposalType, SandboxEnvironment,
|
|
};
|
|
pub use execution::{ExecutionContext, ExecutionPlan};
|
|
pub use governance::{
|
|
AuditLogEntry, CompliancePolicy, GovernancePipeline, ProvenanceRecord, Sbom, SbomEntry,
|
|
};
|
|
pub use graph::{Graph, GraphBuilder, GraphEdge, GraphNode, NodeId};
|
|
pub use memory::MemoryAnalysis;
|
|
pub use operations::{ComputeOp, DataOp, OperationType};
|
|
pub use optimization::OptimizationPass;
|
|
pub use optimizer::{
|
|
AbTest, OptimizationConfig, OptimizationDecision, SelfOptimizer, WorkloadPattern,
|
|
};
|
|
pub use telemetry::{
|
|
BottleneckDetector, MetricType, PerformanceMetrics, RealTimeAnalyzer, TelemetryCollector,
|
|
};
|
|
pub use zerocopy::{
|
|
GpuDevice, GpuDirectConfig, GpuMemoryRegion, RdmaConfig, TransferOperation, ZeroCopyError,
|
|
ZeroCopyManager, ZeroCopyMetrics,
|
|
};
|
|
|
|
// Additional exports
|
|
pub use uuid::Uuid;
|