Expand description
NPU-Native Synaptogenesis - Zero-Copy Morphology Application
This module re-exports core morphology implementations from the core_morphologies module for backward compatibility. All core morphologies have been refactored into separate modules in the core_morphologies directory.
§Architecture
Python: Call rust_apply_projector(npu, src_area_id, dst_area_id, params)
↓
Rust: 1. Query neurons from NPU (zero copy)
2. Apply morphology rules (SIMD optimized)
3. Create synapses directly in NPU
4. Return synapse count
↓
Python: Receives u32 (synapse count only)§Performance Impact
- Eliminates: 6+ seconds of FFI overhead per area pair
- Eliminates: Python list building and marshaling
- Enables: SIMD-optimized morphology application
- Result: ~50+ second improvement for typical genomes
Copyright 2025 Neuraville Inc. Licensed under the Apache License, Version 2.0
Re-exports§
pub use crate::connectivity::core_morphologies::apply_block_connection_morphology;pub use crate::connectivity::core_morphologies::apply_block_connection_morphology_batched;pub use crate::connectivity::core_morphologies::apply_expander_morphology;pub use crate::connectivity::core_morphologies::apply_patterns_morphology;pub use crate::connectivity::core_morphologies::apply_projector_morphology;pub use crate::connectivity::core_morphologies::apply_vectors_morphology;pub use crate::connectivity::core_morphologies::apply_vectors_morphology_with_dimensions;