Metadata-Version: 2.4
Name: ankhdjet
Version: 0.0.1
Summary: Open weights-to-masks compiler: neural network checkpoints into mask-programmed compute-in-ROM silicon. Kernel release; the full compiler ships with the paper.
Project-URL: Homepage, https://github.com/mpai17/ankhdjet
Author-email: Mohnish Pai <mohnishpai7@gmail.com>
License-Expression: Apache-2.0
License-File: LICENSE
Keywords: ASIC,BitNet,EDA,ROM,compiler,compute-in-memory,silicon,ternary
Classifier: Development Status :: 2 - Pre-Alpha
Classifier: Intended Audience :: Developers
Classifier: Intended Audience :: Science/Research
Classifier: Programming Language :: Python :: 3
Classifier: Topic :: Scientific/Engineering :: Electronic Design Automation (EDA)
Requires-Python: >=3.10
Description-Content-Type: text/markdown

# Ankhdjet

Ankhdjet is an open compiler that turns neural network checkpoints into
mask-programmed compute-in-ROM silicon: a model becomes a mask set, and a
model update becomes a mask respin rather than a re-implementation.

This 0.0.x release is a name-reserving kernel: it ships the package
skeleton, a command-line banner, and a reference ternary quantizer
(BitNet-style absmean). The full compiler (checkpoint to ternary IR to
SystemVerilog to signed-off GDS on open PDKs, with its bit-exact
verification chain) is released alongside the accompanying paper.

The first fabrication vehicle (a 64x32 ternary compute-in-ROM read
demonstrator) is submitted on the TinyTapeout ttsky26c shuttle, with
silicon expected in March 2027.

Quantize a matrix to ternary weights with per-tensor scale:

```python
from ankhdjet import ternary_quantize
w, scale = ternary_quantize([[0.4, -1.2, 0.05], [0.9, -0.3, 0.0]])
```

License: Apache-2.0.
