fhelium.backend.ntt._selection
Select supported native NTT schedules from represented execution facts.
algorithm_name
function View source
python
def algorithm_name(policy: NttBackendPolicy) -> str: ...1
Identify the algorithm independently of its stage grouping.
table_layout
function View source
python
def table_layout(policy: NttBackendPolicy) -> str: ...1
Identify interchangeable native table operands, without comparing data.
table_count
function View source
python
def table_count(policy: NttBackendPolicy) -> int: ...1
Count table operands after the common RNS parameter Tensor.
select_policy
function View source
python
def select_policy(*, selected: str | None=None, algorithm: str | None=None, group_width: int | None=None, radix: int | None=None, tables: str | None=None, device_type: str | None=None, log_n: int | None=None) -> NttBackendPolicy | None: ...1
Apply caller constraints and a stable default, without timing candidates.
An unspecified device alone does not select CPU or CUDA. A represented algorithm or table layout can determine a schedule before placement; the selected executor still requires its supported device at execution.
select_operation_policy
function View source
python
def select_operation_policy(operation, *, log_n): ...1
Apply NTT constraints recorded on a concrete operation's input and attributes.