neuralqx.experimental.operators.symbolic.compiler.lowering package

Symbolic compiler lowering backends.

class AbstractSymbolicLowerer

Bases: ABC

Abstract base for backend-specific symbolic operator lowerers.

A lowerer converts a compiled symbolic IR (held in a SymbolicCompilationContext) into an executable ComputationalJaxOperator subclass packaged inside a SymbolicCompiledArtifact.

The compiler picks the lowerer via supports(), then calls lower().

Subclasses must implement:
  • name - unique lowerer identifier (used in artifact tagging).

  • backend - target backend name (e.g. "jax").

  • supports() - returns True when this lowerer can handle the given context.

  • lower() - performs the actual compilation.

class SymbolicLowererRegistry(lowerers=None)

Bases: object

Registry that maps compilation contexts to concrete lowerers.

Lowerers are registered in priority order (first registered = highest priority). When resolve() is called, it returns the first lowerer whose supports() predicate returns True for the given context.

Parameters:

lowerers (list[AbstractSymbolicLowerer] | None) – Initial ordered lowerer sequence (highest priority first).

class JAXSymbolicLowerer

Bases: AbstractSymbolicLowerer

JAX-backend symbolic operator lowerer.

Submodules