Skip to content

Dispatcher for optimized connectivity routines #1559

Description

@cmdupuis3

See #1195

Proposed Feature

I propose we implement a bit of new architecture to describe full batches of desired connectivity routines, so they can exploit optimized routines without the optimized and non-optimized paths interfering with each other.

Status Quo

Currently, the architecture for connectivity build routines is designed under the assumption that these routines are orthogonal. However, if we are going to implement optimized routines that apply to multiple connectivity types, it will become important to know which optimization paths are available at a high level. Implementing optimizations with internal grid state checks will impose branch conditions inside the optimized routines, which is counterproductive.

Possible Solution

I think we need a grid connectivity descriptor, that can be used to either describe which connectivities a grid currently has, or to launch multiple connectivity routines at once. Something like:

(Surface API): Enum for list building -> Connectivity boolean dataclass -> Dispatcher like _grid_connectivity(conn: Connectivity) -> branch-free optimized connectivity routines (Low level)

Metadata

Metadata

Assignees

Labels

improvementImprovements on existing features or infrastructureredesignContent relating to the ongoing redesign

Fields

No fields configured for Feature.

Projects

Status
📚 Backlog

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions