Repository navigation
Releases
Releases · moritztng/tt-fluid
tt-fluid 0.1.0
First public release of tt-fluid: OpenFOAM's steady incompressible solver (simpleFoam, k-omega SST) running entirely on Tenstorrent chips.
Highlights
ttfluid run CASEruns an ordinary OpenFOAM case on Tenstorrent chips, every SIMPLE iteration on the device, and writes the fields back as an OpenFOAM time directory. This release was verified from a clean clone on a Blackhole p300 board (1 and 2 chips). On OpenFOAM's pitzDaily tutorial (k-omega SST) the device converges by residualControl and its fields lie within 0.4 % (U) and 0.8 % (p) of OpenFOAM v2412's converged solution.ttfluid check CASEruns the same program on a CPU emulator, no card needed; it follows the device closely but not bit for bit (the chip approximates division and the elementary functions).- On the OpenFOAM HPC benchmark HPC_motorbike Small (8.66 M cells, 800 iterations) a QuietBox 2 costs $0.115 per case: 2.34x less than 8x H100 SXM running SPUMA, 3.19x less than 8x B200 (derived). Its Cd is 10 drag counts (0.2 %) below OpenFOAM fp64, inside the reference's own uncertainty; the eight H100 runs scatter from -4 to +30.
python3 bench/per_dollar.pyreproduces the cost table from the raw data inresults/. - CPU test suite against OpenFOAM v2412 references (mesh, laminar SIMPLE, wall distance, k-omega SST from OpenFOAM's own state); CI with ruff, pytest and a full-history gitleaks scan.
- Docs: getting started, tutorial, architecture, performance methodology, accuracy, FAQ.
Known limitations are listed in the README: steady incompressible SST only on the device, fp32, a first-iteration SST difference to OpenFOAM on pitzDaily that is not yet explained, and about 220 GB of host RAM to lower the 8.66 M-cell case.
Development history before this release lives in a private repository; this repository starts from a curated snapshot.