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.3.0.tar.gz (34.2 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.3.0-py3-none-any.whl (24.4 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: tt_lang_t27-0.3.0.tar.gz
  • Upload date:
  • Size: 34.2 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.3.0.tar.gz
Algorithm Hash digest
SHA256 27cb9d0cdd3e660e78def7334dd104b2f406e91ba1b374344e89b347c8771c08
MD5 61236335cf44e6d1638b47b4c65534c9
BLAKE2b-256 827b85154cb7f1466f00e5819752b031b928631546e6c974daa2b5b5a27d92f5

See more details on using hashes here.

Provenance

The following attestation bundles were made for tt_lang_t27-0.3.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.3.0-py3-none-any.whl.

File metadata

  • Download URL: tt_lang_t27-0.3.0-py3-none-any.whl
  • Upload date:
  • Size: 24.4 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.3.0-py3-none-any.whl
Algorithm Hash digest
SHA256 98b22bbeeebfb6248a82fe2f6f04cca2df0a0c9dbb1106831d834ce32b2310e4
MD5 413c9d34ff7d6a0b8f4f3c67335cd460
BLAKE2b-256 d75c9e61f8ca9c6b1083b10c1f3a682e5ed8a76befceaebaee4115ad36497a16

See more details on using hashes here.

Provenance

The following attestation bundles were made for tt_lang_t27-0.3.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