Skip to main content

Open Apache-2.0 numeric-format SSOT bridge: 83-format catalog from t27 (GF + MXFP4 + IEEE + posit + takum + lns + ...) for tt-lang kernels.

Project description

tt-lang-t27

License: Apache-2.0 arXiv:2606.05017

Open numeric-format SSOT bridge from gHashTag/t27 (83-format catalog, GoldenFloat family, Apache-2.0, Tiny Tapeout silicon) into tenstorrent/tt-lang kernel author workflows.

v0.3.0 ships the full 83-format catalog from gHashTag/t27 directly inside the wheel. import tt_lang_t27 now exposes every IEEE 754 binary + decimal float, every fp8 / fp6 / fp4, every microscaling format, every posit / takum, every lns, every GF ladder rung, every historical vendor float (IBM HFP, VAX, Cray, x87, MS MBF, ...), and every theoretical / compression format, with bit layout + bias + cluster + status (Verified / Open / ... ) + standard

  • use case + GF relation -- all in one frozen dataclass per format.

What this is

A pure-Python side-package -- zero coupling with tt-lang upstream. Reads the t27 FORMAT-SPEC-001.json registry, validates kernel functions against bit-precise conformance vectors, and (optionally) hands off to a Coq formal oracle.

What this is NOT

  • Not a fork of tt-lang.
  • Not a patch to tt-lang.
  • Not a build-time dependency of tt-lang.
  • Not a CLA / copyright crossing.

Both repos remain Apache-2.0, separately governed.

Install

pip install tt-lang-t27       # from PyPI (planned)
# or
pip install git+https://github.com/gHashTag/tt-lang-t27

No Coq / no MLIR / no ttnn dependencies.

Quickstart

from tt_lang_t27 import t27_kernel, load_registry, load_vectors

@t27_kernel(
    fmt="GF16",
    registry_path="format-spec-001.json",
    vectors_path="gf16_conformance_v0.json",
)
def my_matmul(a, b):
    return a @ b

Every call logs a deterministic provenance tag:

[t27] kernel=my_matmul fmt=GF16 ssot=d9b76c5 tag=0a5ecb845def
[t27]   vector-check n=21 fmt=GF16

CLI

tt-lang-t27-conform \
  --registry format-spec-001.json \
  --vectors  gf16_conformance_v0.json
# OK conform=true reasons=0 sha256=<hex>

tt-lang-t27-mxfp4-conform \
  --vectors  mxfp4_conformance_v0.json
# OK mxfp4_conform=true reasons=0 sha256=<hex>

83-format catalog (new in v0.3)

The full catalog is loaded once from a JSON resource shipped inside the wheel. No network calls, no file paths to manage.

import tt_lang_t27 as t27

t27.catalog_count()                # 83
t27.clusters()                     # ['Ieee754Binary', 'Ieee754Decimal', ...]
t27.by_id("bfloat16").e_int        # 8
t27.by_id("bfloat16").bias_int     # 127
len(t27.by_cluster("GoldenFloat")) # 22
len(t27.by_status("Verified"))     # >= 20
t27.ANCHOR                         # 'phi^2 + 1/phi^2 = 3 = L_2'
t27.ARXIV                          # 'arXiv:2606.05017'

From the command line:

tt-lang-t27-catalog --count                     # 83
tt-lang-t27-catalog --clusters                  # 13 cluster names
tt-lang-t27-catalog --cluster GoldenFloat       # 22 GF rungs
tt-lang-t27-catalog --status Verified           # all Verified formats
tt-lang-t27-catalog --show bfloat16             # full record for bfloat16
tt-lang-t27-catalog --json > catalog.json       # full JSON dump

Each record carries: id, name, bits, s, e, m, bias, phi_distance (signed, -1.0 = undefined sentinel), storage, cluster, status, standard, use_case, gf_relation, source.

Canonical source of truth (upstream gHashTag/t27): specs/numeric/formats_catalog.t27.

MXFP4 cross-validation (new in v0.2)

tt_lang_t27.mxfp4 is a pure-Python reference codec for OCP MXFP4 (S1E2M1, block_size=32, E8M0 shared scale). Constants pinned to tt-metal kMxFp4Params:

  • block_size = 32
  • scale_bias = 0x7F (E8M0 bias 127)
  • elem_exp_bits = 2, elem_man_bits = 1, elem_exp_bias = 1
  • saturation sat_pos_bits = 0x7, sat_neg_bits = 0xF
  • inf / nan: NotRepresentable

The vectors/mxfp4_conformance_v0.json pack carries 12 32-element blocks with expected scale byte + 32 nibbles + packed bytes hex. Any reference implementation (including tt-metal's pack_as_mxfp4_tiles<float>) can verify bit-exact parity by re-encoding each input_f32 and comparing to expected_bytes_hex.

Provenance tag formula

sha256(kernel_name || ssot_commit || fmt || anchor_hash)

anchor_hash = SHA-256("phi^2 + 1/phi^2 = 3").

References

Anchor

phi^2 + 1/phi^2 = 3 = L_2 (Lucas number).

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

tt_lang_t27-0.4.0.tar.gz (48.8 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

tt_lang_t27-0.4.0-py3-none-any.whl (25.6 kB view details)

Uploaded Python 3

File details

Details for the file tt_lang_t27-0.4.0.tar.gz.

File metadata

  • Download URL: tt_lang_t27-0.4.0.tar.gz
  • Upload date:
  • Size: 48.8 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for tt_lang_t27-0.4.0.tar.gz
Algorithm Hash digest
SHA256 b205a30f571f5894e93494685b00e80cdb5fc986bebbb689610d773b3304c59b
MD5 051e40fbc17181d71283bd8b842e0677
BLAKE2b-256 3841fa22e08e78db22af0f8fee1aab3d68e8cb164225e8969e4fd06d458af0f1

See more details on using hashes here.

Provenance

The following attestation bundles were made for tt_lang_t27-0.4.0.tar.gz:

Publisher: publish.yml on gHashTag/tt-lang-t27

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file tt_lang_t27-0.4.0-py3-none-any.whl.

File metadata

  • Download URL: tt_lang_t27-0.4.0-py3-none-any.whl
  • Upload date:
  • Size: 25.6 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for tt_lang_t27-0.4.0-py3-none-any.whl
Algorithm Hash digest
SHA256 2001f151098a14fcbae1e602b8f142a32a6feb6eef940aeab5f02e16b48305fb
MD5 1303d1b6df5d7c7b1175cb9c2c911208
BLAKE2b-256 efa2a17cf97457d9a0d7524e8d4ecad7b754bcbeca3bb5aee12949c6beacbf7d

See more details on using hashes here.

Provenance

The following attestation bundles were made for tt_lang_t27-0.4.0-py3-none-any.whl:

Publisher: publish.yml on gHashTag/tt-lang-t27

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page