Skip to content

Configuration and specifications

Execution configuration

ExecutionConfig is immutable. It validates settings at construction; a backend checks device availability when the runner creates its provider.

Setting Default Meaning
backend "auto" auto/numpy, mlx, torch, or an installed backend name
device "auto" Device within that backend; select one explicitly for reproducibility
dtype None NumPy uses float64; MLX/PyTorch require explicit "float32" or "float64"
memory_budget None Positive bytes or size string; limits planned resources and working buffers
embedding_workers 1 Requested projection concurrency; can be reduced by the plan
pair_order_strategy "auto" auto, memory, or external
temporary_directory None Parent directory for external ordering files; defaults to the system temporary directory
temporary_budget None Positive bytes or size string; required for external ordering

See backends for valid device/dtype combinations and memory and execution for what the budgets cover.

ExecutionConfig dataclass

ExecutionConfig(backend='auto', device='auto', dtype=None, memory_budget=None, embedding_workers=1, pair_order_strategy='auto', temporary_directory=None, temporary_budget=None)

Select the exact execution capabilities available to ZADU.

memory_budget_bytes property

memory_budget_bytes

Normalized memory budget in bytes.

temporary_budget_bytes property

temporary_budget_bytes

Maximum package-managed temporary disk usage in bytes.

resolved_backend property

resolved_backend

resolved_device property

resolved_device

resolved_dtype property

resolved_dtype

Measure identifiers

Use MEASURE for named identifiers, or pass a short alias from the measure reference. Enum values are full module IDs.

MEASURE

Specification helper

from zadu import MEASURE, make_spec

specs = [make_spec(MEASURE.TNC, k=10), make_spec(MEASURE.STRESS)]

make_spec

make_spec(id, **params)

Build one ZADU specification item with typed autocomplete-friendly arguments.