Skip to main content

Crate torsh_fx

Crate torsh_fx 

Source
Expand description

Graph transformation framework for ToRSh

This crate provides a comprehensive graph transformation framework built on a modular architecture. The FX graph system has been refactored into specialized modules for maintainability and performance.

Re-exports§

pub use fx::Edge;
pub use fx::FxGraph;
pub use fx::GraphStats;
pub use fx::MemoryEstimate;
pub use fx::Node;
pub use fx::SerializableGraph;
pub use benchmarking::BenchmarkResult;
pub use benchmarking::GraphBenchmarkSuite;
pub use benchmarking::RegressionTester;
pub use checkpointing::create_checkpoint;
pub use checkpointing::load_checkpoint;
pub use checkpointing::save_checkpoint;
pub use checkpointing::CheckpointData;
pub use checkpointing::CheckpointFormat;
pub use checkpointing::CheckpointManager;
pub use checkpointing::CheckpointMetadata;
pub use checkpointing::CheckpointOptions;
pub use checkpointing::ResumableInterpreter;
pub use codegen::CacheStats;
pub use codegen::CodeGenBackend;
pub use codegen::CodeGenerator;
pub use codegen::CompiledCode;
pub use codegen::CppCodeGen;
pub use codegen::LazyCompiler;
pub use codegen::PythonCodeGen;
pub use custom_backends::execute_with_auto_backend;
pub use custom_backends::execute_with_backend;
pub use custom_backends::get_backend;
pub use custom_backends::list_available_backends;
pub use custom_backends::register_backend_factory;
pub use custom_backends::BackendCapability;
pub use custom_backends::BackendContext;
pub use custom_backends::BackendExecutor;
pub use custom_backends::BackendFactory;
pub use custom_backends::BackendInfo;
pub use custom_backends::BackendRegistry;
pub use custom_backends::BackendResult;
pub use custom_backends::BackendSelectionStrategy;
pub use custom_backends::CustomBackend;
pub use custom_operations::register_example_operations;
pub use custom_operations::CustomInt16AddOperation;
pub use custom_operations::CustomInt16MulOperation;
pub use custom_operations::CustomInt16SubOperation;
pub use custom_operations::CustomTypeUnifyOperation;
pub use custom_operations::TypeConversionOperation;
pub use custom_types::global_extended_registry;
pub use custom_types::register_extended_operation;
pub use custom_types::CustomTypeUtils;
pub use custom_types::ExtendedCustomOperation;
pub use custom_types::ExtendedOperationRegistry;
pub use custom_types::ExtendedShapeInferenceContext;
pub use custom_types::ExtendedShapeInfo;
pub use distributed::create_execution_plan;
pub use distributed::execute_distributed;
pub use distributed::init_distributed;
pub use distributed::CollectiveOp;
pub use distributed::CommunicationBackendType;
pub use distributed::DistributedConfig;
pub use distributed::DistributedExecutionPlan;
pub use distributed::DistributedExecutor;
pub use distributed::DistributionStrategy;
pub use distributed::ReduceOp;
pub use dynamic_shapes::DynamicDim;
pub use dynamic_shapes::DynamicShape;
pub use dynamic_shapes::DynamicShapeInferenceContext;
pub use dynamic_shapes::DynamicShapeInfo;
pub use dynamic_shapes::ShapeConstraint;
pub use graph_analysis::calculate_graph_metrics;
pub use graph_analysis::DetectedPattern;
pub use graph_analysis::GraphDiff;
pub use graph_analysis::GraphDifference;
pub use graph_analysis::GraphLinter;
pub use graph_analysis::GraphMetrics;
pub use graph_analysis::LintIssue;
pub use graph_analysis::LintReport;
pub use graph_analysis::LintSeverity;
pub use graph_analysis::PatternDetector;
pub use graph_partitioning::DeviceInfo;
pub use graph_partitioning::DeviceType;
pub use graph_partitioning::GraphPartition;
pub use graph_partitioning::GraphPartitioner;
pub use graph_partitioning::PartitionedGraph;
pub use graph_partitioning::PartitioningStrategy;
pub use heterogeneous_computing::DeviceCapability;
pub use heterogeneous_computing::ExecutionPlan;
pub use heterogeneous_computing::HeterogeneousExecutor;
pub use heterogeneous_computing::OperationSpecialization;
pub use heterogeneous_computing::PlacementStrategy;
pub use heterogeneous_computing::SimpleDevice;
pub use memory_optimization::AdaptiveMemoryManager;
pub use memory_optimization::AllocationStrategy;
pub use memory_optimization::GraphMemoryLayout;
pub use memory_optimization::MemoryAnalyzer;
pub use memory_optimization::MemoryMappedGraph;
pub use memory_optimization::MemoryUsageReport;
pub use onnx_export::export_to_onnx;
pub use onnx_export::OnnxExporter;
pub use onnx_export::OnnxModel;
pub use performance::CacheStatistics;
pub use performance::GraphCache;
pub use performance::GraphCompression;
pub use performance::ParallelTraversal;
pub use performance::PerformanceBottleneck;
pub use performance::PerformanceProfiler;
pub use performance::PerformanceReport;
pub use torchscript_compat::TorchScriptExporter;
pub use torchscript_compat::TorchScriptGraph;
pub use torchscript_compat::TorchScriptImporter;
pub use torchscript_compat::TorchScriptModel;
pub use tracer::Module;
pub use tracer::ModuleTracer;
pub use tracer::SymbolicTensor;
pub use tracer::TracingProxy;
pub use emerging_hardware::create_dna_backend;
pub use emerging_hardware::create_neuromorphic_backend;
pub use emerging_hardware::create_photonic_backend;
pub use emerging_hardware::AdaptationStrategy;
pub use emerging_hardware::CompatibilityReport;
pub use emerging_hardware::EmergingHardware;
pub use emerging_hardware::EmergingHardwareBackend;
pub use emerging_hardware::EmergingHardwareResult;
pub use emerging_hardware::ErrorCorrectionScheme;
pub use emerging_hardware::HardwareCapabilities;
pub use emerging_hardware::HardwareConstraint;
pub use emerging_hardware::HardwareSpecifications;
pub use emerging_hardware::NeuromorphicProcessor;
pub use emerging_hardware::OptimizationObjective;
pub use emerging_hardware::PhotonicProcessor;
pub use emerging_hardware::PrecisionType;
pub use emerging_hardware::QuantumInspiredProcessor;
pub use emerging_hardware::SpecializedOperation;
pub use interactive_editor::launch_interactive_editor;
pub use interactive_editor::AutoSaveConfig;
pub use interactive_editor::CollaborativeEdit;
pub use interactive_editor::EditOperation;
pub use interactive_editor::ExportFormat;
pub use interactive_editor::ImportFormat;
pub use interactive_editor::InteractiveGraphEditor;
pub use interactive_editor::PerformanceMetrics;
pub use interactive_editor::UserSession;
pub use interactive_editor::VisualizationConfig;
pub use neural_architecture_search::create_default_search_space;
pub use neural_architecture_search::create_mobile_constraints;
pub use neural_architecture_search::ArchitectureSearchSpace;
pub use neural_architecture_search::CandidateArchitecture;
pub use neural_architecture_search::HardwareConstraints;
pub use neural_architecture_search::HardwarePlatform;
pub use neural_architecture_search::LayerType;
pub use neural_architecture_search::NeuralArchitectureSearch;
pub use neural_architecture_search::ObjectiveWeights;
pub use neural_architecture_search::SearchResults;
pub use neural_architecture_search::SearchStrategy;
pub use neuromorphic_optimization::create_loihi_optimizer;
pub use neuromorphic_optimization::optimize_for_mobile_neuromorphic;
pub use neuromorphic_optimization::EnergyEstimate;
pub use neuromorphic_optimization::NeuromorphicHardware;
pub use neuromorphic_optimization::NeuromorphicOptimizationResult;
pub use neuromorphic_optimization::NeuromorphicOptimizer;
pub use neuromorphic_optimization::NeuronModel;
pub use neuromorphic_optimization::OptimizationConfig;
pub use neuromorphic_optimization::SNNConversionParams;
pub use neuromorphic_optimization::SpikeEncoding;
pub use python_integration::create_jax_integration;
pub use python_integration::create_pytorch_integration;
pub use python_integration::generate_python_api;
pub use python_integration::graph_to_pytorch_code;
pub use python_integration::DeploymentPackage;
pub use python_integration::GeneratedPythonCode;
pub use python_integration::PyTorchModelMetadata;
pub use python_integration::PythonBindingConfig;
pub use python_integration::PythonCodeGenOptions;
pub use python_integration::PythonDeploymentTarget;
pub use python_integration::PythonFramework;
pub use python_integration::PythonIntegrationService;
pub use python_integration::TrainingInfo;
pub use quantization::apply_automatic_precision;
pub use quantization::prepare_graph_for_qat;
pub use quantization::quantize_graph_post_training;
pub use quantization::select_automatic_precision;
pub use quantization::AutomaticPrecisionSelector;
pub use quantization::CalibrationData;
pub use quantization::PTQUtils;
pub use quantization::PrecisionCriteria;
pub use quantization::PrecisionProfile;
pub use quantization::PrecisionRecommendation;
pub use quantization::PrecisionStrategy;
pub use quantization::QATUtils;
pub use quantization::QuantizationAnnotation;
pub use quantization::QuantizationBenchmark;
pub use quantization::QuantizationContext;
pub use quantization::QuantizationParams;
pub use quantization::QuantizationScheme;
pub use quantum_computing::create_local_quantum_backend;
pub use quantum_computing::create_qaoa_circuit;
pub use quantum_computing::create_qiskit_backend;
pub use quantum_computing::create_vqe_circuit;
pub use quantum_computing::integrate_quantum_computing;
pub use quantum_computing::CloudProvider;
pub use quantum_computing::DataTransferType;
pub use quantum_computing::ErrorMitigation;
pub use quantum_computing::HybridOptimizationStrategy;
pub use quantum_computing::HybridWorkflow;
pub use quantum_computing::NoiseModel;
pub use quantum_computing::QuantumBackend;
pub use quantum_computing::QuantumCircuit;
pub use quantum_computing::QuantumComputingBackend;
pub use quantum_computing::QuantumExecutionResult;
pub use quantum_computing::QuantumGate;
pub use quantum_computing::QuantumPrecision;
pub use quantum_computing::StateEncoding;
pub use quantum_computing::SynchronizationType;

Modules§

benchmarking
Benchmarking utilities for FX graph operations and transformations
checkpointing
Checkpointing support for FX graphs and execution states
cloud_deployment
Cloud Deployment Tools and Integrations
codegen
Code generation module for FX graphs - Enhanced Implementation
custom_backends
Custom backends framework for extending torsh-fx with user-defined execution backends
custom_operations
Example custom operations for demonstrating custom data type support
custom_types
Custom data type support for FX graphs
distributed
Distributed execution support for FX graphs
dynamic_shapes
Dynamic shape support for FX graphs
emerging_hardware
Emerging Hardware Architecture Support for ToRSh FX
fx
FX Graph system - unified interface
graph_analysis
Graph analysis and linting utilities for FX graphs
graph_partitioning
Graph partitioning module for distributed execution
heterogeneous_computing
Heterogeneous computing support for FX graphs
interactive_editor
Interactive Graph Editor with Real-time Visualization
interpreter
Graph interpreter
memory_optimization
Memory optimization utilities for FX graphs
model_zoo
Model Zoo Format and Management System
neural_architecture_search
Auto-generated module structure
neuromorphic_optimization
Neuromorphic Computing Optimization Passes
node
Graph node types
onnx_export
ONNX export functionality for FX graphs
passes
Graph transformation passes
performance
Performance optimization and analysis utilities for FX graphs
prelude
Prelude module for convenient imports
python_integration
Python Integration Module for ToRSh FX
quantization
Quantization support framework
quantum_computing
Quantum Computing Backend Support for ToRSh FX
subgraph_rewriter
Subgraph pattern matching and rewriting
torchscript_compat
TorchScript compatibility module
tracer
Module tracing
visualization
Graph visualization and debugging support

Macros§

benchmark
Simple benchmark macro for quick measurements

Constants§

VERSION
VERSION_MAJOR
VERSION_MINOR
VERSION_PATCH

Type Aliases§

TorshResult
Convenience type alias for Results in this crate