TACHY-Compiler
TACHY-Compiler is a comprehensive deep learning compiler and platform conversion framework developed by Deeper-I. It is designed to bridge the gap between popular deep learning frameworks (like PyTorch) and the TACHY hardware accelerator runtime environment.
This compiler handles model parsing, optimization, tensor alignment, and binary generation. It robustly supports large-scale models, complex operators, and dual-checkpoint pipelines out of the box.
Key Features
- PyTorch to ONNX to TACHY: Seamless end-to-end compilation pipeline.
- Dual vs single compile: Dual (
compile-dual) takes distinct prepared eval / comp (from pre + opt via deploy) and produces full NPU-runnable instructions and parameters. Single (compile-single) takes one PT/CKPT (usually scratch pre), feeds it as identical eval and comp through the same backend, and is a temporary NPU usability smoke — not opt-accuracy verification. Seetachy guide compile-modes. eval allows inference verification; comp does not (compile-stage temp). pre = scratch (no transform/pruning); opt = transform and/or pruning. When pruning follows transform, dual pre must still be pre-transform scratch. - Large Model Support: Built-in mechanisms to handle models larger than the Protobuf 2GB limit using
external_datamapping. - Robust ONNX Versioning: Automatically utilizes ONNX Opset 18 for stability, equipped with automatic version conversion and fallback mechanisms to mitigate
onnxscriptconversion issues. - MCP Server Integrated: Exposes tools to LLMs and agentic frameworks via the Model Context Protocol (MCP) using
FastMCP. - Dynamic Binary Resolution: Intelligently locates dependency binaries utilizing environment variables (
TACHY_UTIL_PATH) and relative package paths.
Installation
You can install TACHY-Compiler directly via PyPI:
pip install TACHY-Compiler
Requirements
- Python >= 3.8
numpy,networkx,onnx,commentjson,ordered-set,easydict,DDesignerAPI- (Optional)
torchif utilizing the PyTorch to ONNX conversion pipeline.
CLI Usage
TACHY-Compiler provides a simple, unified command-line interface under the tachy command.
1. Compile modes (dual vs single)
tachy guide compile-modes # goals + procedures (alias: compile-single)
| Mode | Goal | How |
|---|---|---|
| Single | NPU smoke / usable check | One model as both eval and comp (compile-single) |
| Dual | Full instr + params | Distinct eval ≠ comp after pre/opt deploy |
Agents: MCP get_compile_modes_guide, compile_single_model, compile_dual_model.
2. Deploy dual checkpoints (pre / opt → eval / comp)
compile-dual expects prepared eval / comp models, not raw training pre / opt checkpoints. Adapt checkpoints in your environment first:
| Name | Meaning |
|---|---|
| pre | Scratch — no transform / no pruning |
| opt | Transform and/or pruning applied |
| eval | Allows inference verification |
| comp | Compile-stage input (not for inference verification) |
tachy guide deploy-dual # print the full contract + checklist
tachy init-deploy --out ./deploy_dual_pt.py # blank template (hooks to fill in)
# edit hooks, then:
python deploy_dual_pt.py pre.pt opt.pt eval.pt comp.pt
Agents can use the same guide via MCP (get_deploy_dual_guide, init_deploy_template).
3. Dual Checkpoint Compilation
Takes prepared eval and comp models and produces full NPU-runnable instructions and parameters. eval artifacts allow inference verification; comp artifacts do not (temporary files for the next compile stage). Intermediate files are automatically managed and cleaned up if requested.
tachy compile-dual \
--eval_model ./eval_model.pth \
--comp_model ./comp_model.pth \
--input_shape "[1,3,224,224]" \
--output_dir ./dual_output \
--cleanup
Outputs will be cleanly structured into ./dual_output/final_binaries/eval/ and ./dual_output/final_binaries/comp/.
4. Single compile (NPU smoke)
Same backend as dual; pass one model for both slots:
tachy compile-single \
--model ./model.pt \
--input_shape "[1,3,224,224]" \
--output_dir ./single_output
Equivalent: compile-dual with --eval_model and --comp_model set to the same path. Confirm NPU execution; then use dual for production-style deploy.
5. Single Model Pipeline Steps
If you need granular control, you can execute the pipeline steps individually.
Convert PyTorch to ONNX
tachy convert-pt2onnx ./model.pth ./model.onnx "[1,3,224,224]" False
Lint ONNX Model (--format table|markdown|json, --strict treats WARN as failure, --buffer_size N for width check)
tachy lint ./model.onnx
tachy lint ./model.onnx --suggest # search remedies for failed checks
tachy lint ./model.onnx --fix ./model_fixed.onnx # repeat lint -> remedy until clean (--iterate N, default 5)
Each check lives in src/tachy_compiler/compiler/lint/rules/<id>_*.py together with its remedies
(exact: same I/O, layout: host must permute the input, advisory: retraining needed).
Remedies are verified by a full re-lint and an onnxruntime equivalence check.
compile-dual --auto_fix applies the best remedy before ONNX → TACHY conversion.
Convert ONNX to TACHY Format
tachy convert-onnx ./model.onnx ./model.json
Compile TACHY JSON to Runtime Binaries
tachy compile ./model.json ./output_bin_dir
6. Model Context Protocol (MCP) Server
You can spin up the built-in MCP server to allow LLMs and AI Agents to compile models on your behalf.
tachy mcp
Environment Variables
TACHY_UTIL_PATH(Optional): An absolute path to the directory containing external utility binaries (fc.out,block_4bit.out). If not set, the compiler will intelligently look for theoptionaldirectory within the installed package. Download these binaries from https://gofile.me/5NFjK/PXXLhuIqj, then setTACHY_UTIL_PATHto that directory or place them underoptional/.
License
This project is licensed under the BSD-3-Clause License. See the LICENSE file for details.
Metadata
Release files for TACHY-Compiler 0.1.8
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Actions Reset |
|---|---|---|---|---|
| tachy_compiler-0.1.8-py3-none-any.whl | Python 3 | none | any | Details for tachy_compiler-0.1.8-py3-none-any.whl |
Release files / tachy_compiler-0.1.8-py3-none-any.whl
| Download URL | tachy_compiler-0.1.8-py3-none-any.whl |
|---|---|
| Size | 126.5 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
b257badf44f3ce6e8e6b592f6de780963973e0ae40f02d5547c8311c0c7305d4
|
|
BLAKE2b-256 checksum How to use checksums |
b81ec8cc2bbe0c335001c547f615a2ce32bc8b31149ca0c5138da573ba4a3b00
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.11.5
|
Security for TACHY-Compiler 0.1.8
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
No provenance found
None of the files in this release were uploaded with provenance metadata.
A note on package security
PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.
To learn more about protecting yourself from malicious actors, visit our package security documentation.