Files
rustytorch/crates/core/rtx-graph/src/lib.rs
T
2026-03-04 00:08:42 +00:00

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;