pllm
SDK
Numerics

Numerics

Understand PLLM's integer arithmetic, quantization, rounding, approximation, and overflow checks.

PLLM documentationView Markdown ↗

A numeric policy records the number domain, scales, rounding, signed decoding, modulus, wire width, coefficient limits, approximation method, and allowed error. Its digest is part of the executable plan and related evidence.

Read numeric semantics and model quality for how these choices affect overflow, token agreement, and model behavior.

The native matrix core validates dimensions and coefficients, selects a scalar or SIMD kernel at runtime, and uses bounded integer arithmetic. Native execution does not remove quantization error, conversions, protocol messages, or client state.

Tests must cover reference arithmetic, boundary values, overflow rejection, and a trusted comparison for each approximation. Token agreement and task quality need separate end-to-end evidence.

The first locked nonlinear profile is pllm.numeric.silu.quadratic_q7.v1: signed Q7 inputs in [-128, 128], scale 128, deterministic ties-to-even rounding, and a declared encoded-domain SiLU error bound of 0.02285. The compiler includes the numeric type in the protected plan and rejects other numeric representations for this kernel.

Python SDK example

import numpy as np

from pllm import AuthenticatedMPC, TrustedPreprocessor

mpc = AuthenticatedMPC(TrustedPreprocessor(modulus=65537, seed=0))
decoded = mpc.centered(np.array([0, 32768, 65536], dtype=np.int64))
assert decoded.tolist() == [0, 32768, -1]

API: Python objects and signatures

This shows center decoding in the reference arithmetic path; it does not establish full-model numeric fidelity.

On this page

Loading documentation index…

Search runs locally in this browser.