This document is relevant for: Trn2, Trn3

nki.compiler.CompileConfig#

class nki.compiler.CompileConfig[source]#

Per-kernel compile configuration passed to @nki.jit(compile_config=...).

Options that impact downstream compiler behavior.

Methods

Attributes

address_rotation

Backend address-rotation policy (an AddressRotation).

barrier_check

Compile with the LNC core barrier checker enabled.

dead_code_elim

Leave this kernel's memlocs eligible for backend dead-code elimination.

nki_alloc_fallback

Fall back to the default neuronx-cc allocation flow when NKI's own LinearScanAllocation fails during compilation.

non_ssa_legalization

Enable the backend's non-SSA legalization pass on this kernel's memlocs.

prefetch_auto

the compiler classifies load destinations automatically, reserves a fixed prefetch ring + slack band in SBUF, and lets compute/prefetch spill into the shared slack.

address_rotation: AddressRotation = Ellipsis#

Backend address-rotation policy (an AddressRotation).

barrier_check: bool = Ellipsis#

Compile with the LNC core barrier checker enabled.

dead_code_elim: bool = Ellipsis#

Leave this kernel’s memlocs eligible for backend dead-code elimination.

nki_alloc_fallback: bool = Ellipsis#

Fall back to the default neuronx-cc allocation flow when NKI’s own LinearScanAllocation fails during compilation. On by default; set False to surface the failure (e.g. an SBUF/PSUM out-of-memory) instead of retrying.

non_ssa_legalization: bool = Ellipsis#

Enable the backend’s non-SSA legalization pass on this kernel’s memlocs.

prefetch_auto: bool = Ellipsis#

the compiler classifies load destinations automatically, reserves a fixed prefetch ring + slack band in SBUF, and lets compute/prefetch spill into the shared slack. Mutually exclusive with a manual NKI_PREFETCH_RING_SIZE. Off by default.

Type:

Enable AUTO DMA-prefetch allocation

This document is relevant for: Trn2, Trn3