tenstorrent/pytorch2.0_ttnn

[Deprecated] ⭐️ TT-NN Compiler for PyTorch 2 ⭐️ Enables running PyTorch models on Tenstorrent hardware using eager or compile path

Python

62

708 commits

updated Oct 16, 2026

See the code

README

Ask DeepWiki

Visit TT-Forge for our latest compiler project

Pytorch 2.0 TT-NN is no longer maintained, please consider using TT-Forge instead.

The PyTorch 2.0 TT-NN Compiler enables seamless execution of PyTorch models on Tenstorrent AI accelerators. By leveraging the TT-NN backend, you can achieve significant performance improvements while maintaining PyTorch's familiar API.

🚀 Quick Start

Installation

Install from the repo:

pip install git+https://bitbucket.org/tenstorrent/pytorch2.0_ttnn

or as an editable package from source:

git clone https://github.com/tenstorrent/pytorch2.0_ttnn.git
cd pytorch2.0_ttnn
pip install -e .

✨ Basic Usage

Option 1: Eager Mode: get your model running by switching to a TT device

import torch
import torch_ttnn

model = YourModel()

device = ttnn.open_device(device_id=0)
model.to(torch_ttnn.ttnn_device_as_torch_device(device))

output = model(input_data)

Option 2: Compilation Mode (Recommended): get more perf with a JIT compiler

import torch
import torch_ttnn

model = YourModel()

device = ttnn.open_mesh_device(ttnn.MeshShape(1, 2))  # 1x2 device grid
option = torch_ttnn.TorchTtnnOption(device=device, data_parallel=2)

model = torch.compile(model, backend=torch_ttnn.backend, options=option)
output = model(input_data)

📊 Model Support

We've extensively tested the compiler across a diverse range of model architectures. Here's a summary of our validation results:

ModelStatusBatchCompiled First Run (ms)Original Throughput (Inferences Per Second)Compiled Throughput (Inferences Per Second)Accuracy (%)Torch Ops Before (Unique Ops)Torch Ops Remain (Unique Ops)To/From Device Ops
Autoencoder (linear)✅1311.220.469125431.0344827586207100.022 (3)0 (0)0
BERT✅846304.710.11521924.90660024906600699.67987 (19)0 (0)0
DPR✅117436.80.53831540.3063280935106899.35518 (20)0 (0)1
HardNet✅167585.850.20227719.02949571836346498.42245 (10)0 (0)124
Mnist✅19216.9329.1971327.868852459016499.4214 (8)0 (0)1
MobileNetV2✅1130241.51.0870428.45759817871371398.62154 (9)0 (0)0
OpenPose V2✅123585.550.27785533.14550878355982691.08155 (7)0 (0)6
Perceiver IO✅156269.310.095101418.82175795219273399.941531 (20)0 (0)1
ResNet18✅124086.480.45721667.613252197430798.7870 (9)0 (0)1
ResNet50✅490657.230.75868956.27462014631401498.43176 (9)0 (0)1
RoBERTa✅138704.760.24602220.3045685279187813.29517 (20)0 (0)2
U-Net✅138981.530.015823555.52470849528039100.068 (6)0 (0)12
Unet-brain✅137742.610.017015754.76451259583789N/A68 (6)0 (0)12
Unet-carvana✅1102409.370.012221235.14938488576450599.4367 (5)0 (0)12
albert/albert-base-v2✅137930.941.0340533.28894806924101698.36591 (19)0 (0)2
albert/albert-base-v2-classification✅18825.881.3347736.6434591425430699.97579 (19)0 (0)2
albert/albert-large-v2✅117674.750.87443919.2938452633609997.091143 (19)0 (0)2
albert/albert-xlarge-v2✅144929.230.56707715.9515074174509596.851143 (19)0 (0)2
densenet121✅1257260.770.26995312.25640397107488799.54432 (10)0 (0)597
densenet161✅1262930.540.1009938.57706492838150799.22572 (10)0 (0)1147
densenet169✅177540.640.2284318.14398566658522599.45600 (10)0 (0)1241
densenet201✅1407171.930.2070186.6947847626698899.01712 (10)0 (0)1905
distilbert-base-uncased✅131281.241.0854178.9265982636148499.9250 (16)0 (0)1
dla34.in1k✅1127568.50.27062737.14710252600297599.32135 (9)0 (0)23
ese_vovnet19b_dw.ra_in1k✅1100735.870.51627341.5627597672485599.18111 (12)0 (0)19
ghostnet_100.in1k✅1229980.191.5313917.2681747539285199.32515 (14)0 (0)64
mobilenet_v2✅1104479.281.0451931.0366232153941798.62154 (9)0 (0)0
mobilenet_v3_large✅1203098.391.2688328.0190529560100999.27188 (11)0 (0)0
mobilenet_v3_small✅1144514.171.9434132.851511169513899.0158 (11)0 (0)0
mobilenetv1_100.ra4_e3600_r224_in1k✅196973.840.77004847.0809792843691295.4385 (7)0 (0)0
regnet_x_16gf✅171873.680.068122114.74491300501327299.32235 (8)0 (0)0
regnet_x_1_6gf✅172529.830.53990426.11647949856359699.33195 (8)0 (0)0
regnet_x_32gf✅184967.40.03357619.02282775421817498.76245 (8)0 (0)0
regnet_x_3_2gf✅150834.010.29308420.71251035625517699.15265 (8)0 (0)0
regnet_x_400mf✅170402.61.0891824.58210422812192899.28235 (8)0 (0)0
regnet_x_800mf✅1105997.170.8506831.7158261972724499.19175 (8)0 (0)0
regnet_x_8gf✅1111156.080.13134521.5563699073076198.52245 (8)0 (0)0
regnet_y_16gf✅173889.040.06594719.96512207274539199.5303 (10)0 (0)0
regnet_y_1_6gf✅178875.580.32320913.96843134515993999.33447 (10)0 (0)0
regnet_y_32gf✅1184387.660.030898.20748522652659199.17335 (10)0 (0)0
regnet_y_3_2gf✅1162774.450.2957917.5994368180218299.64351 (10)0 (0)0
regnet_y_400mf✅1152323.331.0002823.35357309668379299.26271 (10)0 (0)0
regnet_y_800mf✅197060.580.73748524.9563264287496999.46239 (10)0 (0)0
regnet_y_8gf✅1114078.860.12036416.18122977346278599.72287 (10)0 (0)0
resnet101✅112076.630.13285915.86546089163890498.96346 (9)0 (0)1
resnet152✅118440.050.092373510.91226538629419597.94516 (9)0 (0)1
resnet18✅136033.950.40247868.9179875947622499.4470 (9)0 (0)1
resnet34✅14727.90.22945640.6504065040650498.51126 (9)0 (0)1
resnet50✅1110324.240.23015431.66561114629512498.49176 (9)0 (0)1
resnext101_32x8d✅145034.760.06480388.1314034802406999.31346 (9)0 (0)1
resnext101_64x4d✅119511.790.06721858.16526496284804599.45346 (9)0 (0)1
resnext50_32x4d✅1107909.870.22393929.94908655286013898.92176 (9)0 (0)1
textattack/albert-base-v2-imdb✅143008.150.95238138.299502106472616100.0582 (20)0 (0)2
tf_efficientnet_lite0.in1k✅1163827.810.83201626.9832703723691398.94149 (9)0 (0)5
tf_efficientnet_lite1.in1k✅1103670.210.75837420.02402883460152399.15194 (9)0 (0)5
tf_efficientnet_lite2.in1k✅1143822.510.61232918.17851299763679498.74194 (9)0 (0)5
twmkn9/albert-base-v2-squad2✅123010.630.81508234.0831629175187599.88583 (21)0 (0)2
vgg11✅173151.640.084326199.800399201596899.533 (8)0 (0)5
vgg11_bn✅17317.340.10533388.4955752212389498.8141 (9)0 (0)5
vgg13✅16149.230.054170382.5082508250825199.2937 (8)0 (0)5
vgg13_bn✅183132.140.052495473.637702503681997.2947 (9)0 (0)5
vgg16✅12179.870.038906174.6268656716417899.5443 (8)0 (0)5
vgg16_bn✅13153.120.03900964.850843060959898.1756 (9)0 (0)5
vgg19✅177033.660.029593361.95786864931845699.249 (8)0 (0)5
vgg19_bn✅18779.610.02919558.0720092915214995.7365 (9)0 (0)5
wide_resnet101_2✅113378.940.044197816.0513643659711198.82346 (9)0 (0)1
wide_resnet50_2✅1103416.340.081249727.81641168289290598.48176 (9)0 (0)1
xception71.tf_in1k✅1148902.580.04802727.12758374910905298.63393 (9)0 (0)0
Autoencoder (conv)🚧16269.50.628366265.2519893899204100.09 (3)1 (1)1
Autoencoder (conv)-train🚧124091.860.289166135.1351351351351100.030 (7)11 (4)0
Autoencoder (linear)-train🚧117176.170.47488673.74631268436578100.0116 (8)14 (2)0
Bloom🚧140360.680.17931510.98297638660076898.741512 (30)1 (1)0
CLIP🚧169209.040.2762226.069802731411229599.551161 (29)7 (6)2
CLIP-train🚧180908.660.0822110.7799886121662625100.03352 (42)291 (17)5
DETR🚧1192804.270.009690740.186934756031449989.951672 (41)9 (6)3
DINOv2🚧132883.370.25965418.0180180180180298.83696 (24)20 (2)2
GLPN-KITTI🚧1294036.880.01006720.0169375087228169999.722949 (26)22 (2)6
GPT-2🚧134722.020.33180733.14550878355982699.97565 (29)3 (3)2
GaussianSplatting🚧148105.780.1329220.092929461891950949.71489 (35)39 (4)4
GaussianSplatting-train🚧161072.960.07651360.02465193319227497543.71685 (53)207 (13)8
HardNet-train🚧1195041.980.1503160.4870208931963181100.0800 (21)278 (8)120
Mnist-train🚧128705.960.45454837.622272385252074100.054 (15)10 (6)0
MobileNetSSD🚧1332164.541.627150.759099707746612645.92520 (30)7 (4)32
OpenPose V2-train🚧190531.260.2115430.721807984639926100.0490 (14)180 (6)6
ResNet18-train🚧159470.420.3535511.2256403971074887100.0221 (19)81 (8)0
ResNet50-train🚧1102246.890.1568910.5537865152983525100.0563 (19)212 (8)0
SegFormer🚧130064.140.02418223.504222588218803499.87680 (21)16 (1)4
SegFormer-train🚧1190721.050.02119940.2452783909737552100.01829 (37)155 (11)4
Stable Diffusion V2🚧1434509.730.000784950.004098514350025830599.591738 (26)71 (3)28
U-Net-train🚧179629.480.01445850.1526083824732325100.0220 (15)86 (7)8
Unet-brain-train🚧178777.060.01269750.1598782367349027100.0220 (15)86 (7)8
Unet-carvana-train🚧180383.190.01011840.0594745306270043100.0214 (13)85 (6)8
YOLOS🚧145630.260.4977873.785154623566372798.22721 (27)21 (3)2
YOLOv3🚧192599.280.0050258917.59633996128805298.23250 (7)2 (1)4
albert/albert-xxlarge-v2🚧117928.080.3090498.39912649084495198.26591 (19)24 (1)2
dla34.in1k-train🚧192803.860.223420.7613594834937264100.0432 (18)156 (7)17
ese_vovnet19b_dw.ra_in1k-train🚧196678.650.4057851.2328632014991616100.0360 (25)130 (9)16
facebook/deit-base-patch16-224🚧124527.930.3389549.26097425449157298.37541 (15)1 (1)1
facebook/deit-base-patch16-224-train🚧129755.520.03033660.9905795881170072100.01518 (24)139 (9)2
ghostnet_100.in1k-train🚧1260290.620.8018920.7104038645970234100.01439 (29)419 (10)64
ghostnetv2_100.in1k🚧1343874.910.8381958.41042893187552699.41683 (18)24 (2)68
ghostnetv2_100.in1k-train🚧195658.660.5849940.3513024538476401100.01957 (36)625 (16)68
googlenet🚧1139609.890.52225322.7376080036380299.4214 (15)1 (1)51
hrnet_w18.ms_aug_in1k🚧1159902.020.1906644.42243056784008599.561209 (11)31 (1)0
hrnet_w18.ms_aug_in1k-train🚧1161973.760.150640.3487747542881856100.03757 (21)1323 (8)0
inception_v4.tf_in1k🚧1168391.540.07246965.94601022713759198.67495 (11)14 (1)84
inception_v4.tf_in1k-train🚧1158333.710.05553370.20988517182249591100.01702 (24)634 (10)80
mixer_b16_224.goog_in21k🚧118465.330.2635877.6213703223839640.32392 (12)1 (1)0
mixer_b16_224.goog_in21k-train🚧140335.930.03708411.1090655014085133100.0959 (19)101 (6)0
mobilenetv1_100.ra4_e3600_r224_in1k-train🚧181606.620.763651.0999164063531173100.0231 (15)110 (6)0
regnet_y_128gf🚧1298255.020.001853850.0166981817015981598.68447 (10)3 (1)0
ssd300_vgg16🚧1255629.890.2768451.3041040153362633N/A330 (29)8 (5)37
ssdlite320_mobilenet_v3_large🚧1272755.241.622510.741009699816970647.01520 (30)7 (4)32
swin_b🚧1110297.890.2263224.176934965122593599.382492 (32)110 (2)479
swin_s🚧119245.310.3695054.45791726105563599.582492 (32)110 (2)479
swin_t🚧1192988.430.5893528.3913736678694399.61238 (32)50 (2)227
swin_v2_b🚧1107336.840.1982543.469692238298463499.93164 (40)158 (3)473
swin_v2_s🚧122575.380.2951193.55290272152348599.653164 (40)158 (3)473
swin_v2_t🚧1187456.620.4729166.51890482398956999.461574 (40)74 (3)221
tf_efficientnet_lite0.in1k-train🚧1147764.650.5531310.22743865410902045100.0403 (17)187 (7)5
tf_efficientnet_lite1.in1k-train🚧1101632.130.4759710.2175445313655705100.0523 (17)242 (7)5
tf_efficientnet_lite2.in1k-train🚧1161603.30.3840840.131343220850999100.0523 (17)242 (7)5
tf_efficientnet_lite3.in1k🚧1157894.510.3783623.73231814279849298.96221 (9)5 (1)5
tf_efficientnet_lite3.in1k-train🚧1128574.910.2636090.06615694942367373100.0595 (17)280 (8)5
tf_efficientnet_lite4.in1k🚧1148212.380.2017352.209261223047013499.09275 (9)6 (1)5
tf_efficientnet_lite4.in1k-train🚧1142411.390.1371260.06980447069713026100.0739 (17)347 (8)5
vit_b_16🚧118571.820.2030051.020491468691321899.51216 (14)13 (2)1
vit_b_32🚧117291.170.44113.588860178007464798.39216 (14)13 (2)1
vit_h_14🚧1382279.740.007099720.01120239067979019295.81556 (14)33 (2)1
vit_l_16🚧125280.470.09953290.391178150353233999.51420 (14)25 (2)1
vit_l_32🚧112820.280.1499681.535320037461808898.84420 (14)25 (2)1
xception71.tf_in1k-train🚧1155176.60.04121910.06015638253203027100.01276 (18)514 (6)0
FLAN-T5❌N/AN/A0.390116N/AN/A4182 (42)N/AN/A
Falcon-7B❌N/AN/A0.0316554N/AN/A2623 (31)N/AN/A
GPTNeo❌N/AN/A0.262519N/AN/A2895 (44)N/AN/A
Llama❌N/AN/A0.0219249N/AN/A2704 (29)N/AN/A
OPT❌N/AN/A0.205786N/AN/A3419 (34)N/AN/A
ViLT❌N/AN/A0.22532N/AN/A766 (29)N/AN/A
Whisper❌N/AN/A0.028717N/AN/A4842 (43)N/AN/A
YOLOv5❌N/AN/A0.0533503N/AN/A228 (13)N/AN/A
codegen❌N/AN/A0.249193N/AN/A9279 (42)N/AN/A
speecht5-tts❌N/AN/A0.0524124N/AN/A2725 (38)N/AN/A
t5-base❌N/AN/A0.197262N/AN/A5569 (44)N/AN/A
t5-large❌N/AN/A0.157036N/AN/A10837 (44)N/AN/A
t5-small❌N/AN/A0.501487N/AN/A2935 (44)N/AN/A

Explanation of Metrics

Model: Name of the model.
Status: Indicates whether the model is:

  • ✅ End-to-end on device: All PyTorch operations have been converted to TT-NN operations.
  • 🚧 Compiled: The converted model runs but some operations still fallback to PyTorch. This may be due to an unsupported operation or configuration.
  • ❌ Traced: The model does not run but its PyTorch operations are traced for future development. This may indicate a temporary incompatibility with a compiler pass.
    Batch: Batch size used for inference
    Compiled First Run (ms): Time until the first compiled run finishes (ms), including compilation time and warming caches.
    Original Throughput (Inferences Per Second): Execution throughput (in inferences per second) of the model before conversion.
    Compiled Throughput (Inferences Per Second): Execution throughput (in inferences per second) of the model after conversion, once caches are warm.
    Accuracy (%): Model accuracy on a predefined test dataset after conversion.
    Torch Ops Before (Unique Ops): The total number of operations used by the model in the original Torch implementation. The number in parentheses represents the total unique ops.
    Torch Ops Remain (Unique Ops): The total number of operations used after conversion to TT-NN. The number in parentheses represents the total unique ops.
    To/From Device Ops: The number of to/from_device operations (data transfer to/from the device).

Contributing

Whether you are new to Tenstorrent hardware or an experienced developer, there are many ways to contribute.

Getting Started

Start with our high level Contribution guide. You can find more information here:

We encourage contributions and offer 🤑 Bounties for some issues.

Development Environment

To get started with development, you'll need a Wormhole or Blackhole Tenstorrent accelerator card, which:

Install the development dependencies:

pip install -r requirements-dev.txt
pip install -e .

You can build the wheel file with

python -m build

Project Structure

  • torch_ttnn/: Main package directory containing the core implementation
  • tests/: Test files for the project including model suites. We use pytest as our testing framework.
  • tools/: Development and utility scripts
  • docs/: Project documentation and reports
  • demo/: Example code and usage demonstrations

Questions and Support

If you have questions or need help getting started, please:

  1. Review the existing documentation
  2. Ask PyTorch TT-NN DeepWiki or TT-Metal DeepWiki
  3. Ask on Discord
  4. Open an issue on GitHub
pytorch
ttnn

tenstorrent/pytorch2.0_ttnn

[Deprecated] ⭐️ TT-NN Compiler for PyTorch 2 ⭐️ Enables running PyTorch models on Tenstorrent hardware using eager or compile path

Python

62

708 commits

updated Oct 16, 2026

See the code

README

Ask DeepWiki

Visit TT-Forge for our latest compiler project

Pytorch 2.0 TT-NN is no longer maintained, please consider using TT-Forge instead.

The PyTorch 2.0 TT-NN Compiler enables seamless execution of PyTorch models on Tenstorrent AI accelerators. By leveraging the TT-NN backend, you can achieve significant performance improvements while maintaining PyTorch's familiar API.

🚀 Quick Start

Installation

Install from the repo:

pip install git+https://bitbucket.org/tenstorrent/pytorch2.0_ttnn

or as an editable package from source:

git clone https://github.com/tenstorrent/pytorch2.0_ttnn.git
cd pytorch2.0_ttnn
pip install -e .

✨ Basic Usage

Option 1: Eager Mode: get your model running by switching to a TT device

import torch
import torch_ttnn

model = YourModel()

device = ttnn.open_device(device_id=0)
model.to(torch_ttnn.ttnn_device_as_torch_device(device))

output = model(input_data)

Option 2: Compilation Mode (Recommended): get more perf with a JIT compiler

import torch
import torch_ttnn

model = YourModel()

device = ttnn.open_mesh_device(ttnn.MeshShape(1, 2))  # 1x2 device grid
option = torch_ttnn.TorchTtnnOption(device=device, data_parallel=2)

model = torch.compile(model, backend=torch_ttnn.backend, options=option)
output = model(input_data)

📊 Model Support

We've extensively tested the compiler across a diverse range of model architectures. Here's a summary of our validation results:

ModelStatusBatchCompiled First Run (ms)Original Throughput (Inferences Per Second)Compiled Throughput (Inferences Per Second)Accuracy (%)Torch Ops Before (Unique Ops)Torch Ops Remain (Unique Ops)To/From Device Ops
Autoencoder (linear)✅1311.220.469125431.0344827586207100.022 (3)0 (0)0
BERT✅846304.710.11521924.90660024906600699.67987 (19)0 (0)0
DPR✅117436.80.53831540.3063280935106899.35518 (20)0 (0)1
HardNet✅167585.850.20227719.02949571836346498.42245 (10)0 (0)124
Mnist✅19216.9329.1971327.868852459016499.4214 (8)0 (0)1
MobileNetV2✅1130241.51.0870428.45759817871371398.62154 (9)0 (0)0
OpenPose V2✅123585.550.27785533.14550878355982691.08155 (7)0 (0)6
Perceiver IO✅156269.310.095101418.82175795219273399.941531 (20)0 (0)1
ResNet18✅124086.480.45721667.613252197430798.7870 (9)0 (0)1
ResNet50✅490657.230.75868956.27462014631401498.43176 (9)0 (0)1
RoBERTa✅138704.760.24602220.3045685279187813.29517 (20)0 (0)2
U-Net✅138981.530.015823555.52470849528039100.068 (6)0 (0)12
Unet-brain✅137742.610.017015754.76451259583789N/A68 (6)0 (0)12
Unet-carvana✅1102409.370.012221235.14938488576450599.4367 (5)0 (0)12
albert/albert-base-v2✅137930.941.0340533.28894806924101698.36591 (19)0 (0)2
albert/albert-base-v2-classification✅18825.881.3347736.6434591425430699.97579 (19)0 (0)2
albert/albert-large-v2✅117674.750.87443919.2938452633609997.091143 (19)0 (0)2
albert/albert-xlarge-v2✅144929.230.56707715.9515074174509596.851143 (19)0 (0)2
densenet121✅1257260.770.26995312.25640397107488799.54432 (10)0 (0)597
densenet161✅1262930.540.1009938.57706492838150799.22572 (10)0 (0)1147
densenet169✅177540.640.2284318.14398566658522599.45600 (10)0 (0)1241
densenet201✅1407171.930.2070186.6947847626698899.01712 (10)0 (0)1905
distilbert-base-uncased✅131281.241.0854178.9265982636148499.9250 (16)0 (0)1
dla34.in1k✅1127568.50.27062737.14710252600297599.32135 (9)0 (0)23
ese_vovnet19b_dw.ra_in1k✅1100735.870.51627341.5627597672485599.18111 (12)0 (0)19
ghostnet_100.in1k✅1229980.191.5313917.2681747539285199.32515 (14)0 (0)64
mobilenet_v2✅1104479.281.0451931.0366232153941798.62154 (9)0 (0)0
mobilenet_v3_large✅1203098.391.2688328.0190529560100999.27188 (11)0 (0)0
mobilenet_v3_small✅1144514.171.9434132.851511169513899.0158 (11)0 (0)0
mobilenetv1_100.ra4_e3600_r224_in1k✅196973.840.77004847.0809792843691295.4385 (7)0 (0)0
regnet_x_16gf✅171873.680.068122114.74491300501327299.32235 (8)0 (0)0
regnet_x_1_6gf✅172529.830.53990426.11647949856359699.33195 (8)0 (0)0
regnet_x_32gf✅184967.40.03357619.02282775421817498.76245 (8)0 (0)0
regnet_x_3_2gf✅150834.010.29308420.71251035625517699.15265 (8)0 (0)0
regnet_x_400mf✅170402.61.0891824.58210422812192899.28235 (8)0 (0)0
regnet_x_800mf✅1105997.170.8506831.7158261972724499.19175 (8)0 (0)0
regnet_x_8gf✅1111156.080.13134521.5563699073076198.52245 (8)0 (0)0
regnet_y_16gf✅173889.040.06594719.96512207274539199.5303 (10)0 (0)0
regnet_y_1_6gf✅178875.580.32320913.96843134515993999.33447 (10)0 (0)0
regnet_y_32gf✅1184387.660.030898.20748522652659199.17335 (10)0 (0)0
regnet_y_3_2gf✅1162774.450.2957917.5994368180218299.64351 (10)0 (0)0
regnet_y_400mf✅1152323.331.0002823.35357309668379299.26271 (10)0 (0)0
regnet_y_800mf✅197060.580.73748524.9563264287496999.46239 (10)0 (0)0
regnet_y_8gf✅1114078.860.12036416.18122977346278599.72287 (10)0 (0)0
resnet101✅112076.630.13285915.86546089163890498.96346 (9)0 (0)1
resnet152✅118440.050.092373510.91226538629419597.94516 (9)0 (0)1
resnet18✅136033.950.40247868.9179875947622499.4470 (9)0 (0)1
resnet34✅14727.90.22945640.6504065040650498.51126 (9)0 (0)1
resnet50✅1110324.240.23015431.66561114629512498.49176 (9)0 (0)1
resnext101_32x8d✅145034.760.06480388.1314034802406999.31346 (9)0 (0)1
resnext101_64x4d✅119511.790.06721858.16526496284804599.45346 (9)0 (0)1
resnext50_32x4d✅1107909.870.22393929.94908655286013898.92176 (9)0 (0)1
textattack/albert-base-v2-imdb✅143008.150.95238138.299502106472616100.0582 (20)0 (0)2
tf_efficientnet_lite0.in1k✅1163827.810.83201626.9832703723691398.94149 (9)0 (0)5
tf_efficientnet_lite1.in1k✅1103670.210.75837420.02402883460152399.15194 (9)0 (0)5
tf_efficientnet_lite2.in1k✅1143822.510.61232918.17851299763679498.74194 (9)0 (0)5
twmkn9/albert-base-v2-squad2✅123010.630.81508234.0831629175187599.88583 (21)0 (0)2
vgg11✅173151.640.084326199.800399201596899.533 (8)0 (0)5
vgg11_bn✅17317.340.10533388.4955752212389498.8141 (9)0 (0)5
vgg13✅16149.230.054170382.5082508250825199.2937 (8)0 (0)5
vgg13_bn✅183132.140.052495473.637702503681997.2947 (9)0 (0)5
vgg16✅12179.870.038906174.6268656716417899.5443 (8)0 (0)5
vgg16_bn✅13153.120.03900964.850843060959898.1756 (9)0 (0)5
vgg19✅177033.660.029593361.95786864931845699.249 (8)0 (0)5
vgg19_bn✅18779.610.02919558.0720092915214995.7365 (9)0 (0)5
wide_resnet101_2✅113378.940.044197816.0513643659711198.82346 (9)0 (0)1
wide_resnet50_2✅1103416.340.081249727.81641168289290598.48176 (9)0 (0)1
xception71.tf_in1k✅1148902.580.04802727.12758374910905298.63393 (9)0 (0)0
Autoencoder (conv)🚧16269.50.628366265.2519893899204100.09 (3)1 (1)1
Autoencoder (conv)-train🚧124091.860.289166135.1351351351351100.030 (7)11 (4)0
Autoencoder (linear)-train🚧117176.170.47488673.74631268436578100.0116 (8)14 (2)0
Bloom🚧140360.680.17931510.98297638660076898.741512 (30)1 (1)0
CLIP🚧169209.040.2762226.069802731411229599.551161 (29)7 (6)2
CLIP-train🚧180908.660.0822110.7799886121662625100.03352 (42)291 (17)5
DETR🚧1192804.270.009690740.186934756031449989.951672 (41)9 (6)3
DINOv2🚧132883.370.25965418.0180180180180298.83696 (24)20 (2)2
GLPN-KITTI🚧1294036.880.01006720.0169375087228169999.722949 (26)22 (2)6
GPT-2🚧134722.020.33180733.14550878355982699.97565 (29)3 (3)2
GaussianSplatting🚧148105.780.1329220.092929461891950949.71489 (35)39 (4)4
GaussianSplatting-train🚧161072.960.07651360.02465193319227497543.71685 (53)207 (13)8
HardNet-train🚧1195041.980.1503160.4870208931963181100.0800 (21)278 (8)120
Mnist-train🚧128705.960.45454837.622272385252074100.054 (15)10 (6)0
MobileNetSSD🚧1332164.541.627150.759099707746612645.92520 (30)7 (4)32
OpenPose V2-train🚧190531.260.2115430.721807984639926100.0490 (14)180 (6)6
ResNet18-train🚧159470.420.3535511.2256403971074887100.0221 (19)81 (8)0
ResNet50-train🚧1102246.890.1568910.5537865152983525100.0563 (19)212 (8)0
SegFormer🚧130064.140.02418223.504222588218803499.87680 (21)16 (1)4
SegFormer-train🚧1190721.050.02119940.2452783909737552100.01829 (37)155 (11)4
Stable Diffusion V2🚧1434509.730.000784950.004098514350025830599.591738 (26)71 (3)28
U-Net-train🚧179629.480.01445850.1526083824732325100.0220 (15)86 (7)8
Unet-brain-train🚧178777.060.01269750.1598782367349027100.0220 (15)86 (7)8
Unet-carvana-train🚧180383.190.01011840.0594745306270043100.0214 (13)85 (6)8
YOLOS🚧145630.260.4977873.785154623566372798.22721 (27)21 (3)2
YOLOv3🚧192599.280.0050258917.59633996128805298.23250 (7)2 (1)4
albert/albert-xxlarge-v2🚧117928.080.3090498.39912649084495198.26591 (19)24 (1)2
dla34.in1k-train🚧192803.860.223420.7613594834937264100.0432 (18)156 (7)17
ese_vovnet19b_dw.ra_in1k-train🚧196678.650.4057851.2328632014991616100.0360 (25)130 (9)16
facebook/deit-base-patch16-224🚧124527.930.3389549.26097425449157298.37541 (15)1 (1)1
facebook/deit-base-patch16-224-train🚧129755.520.03033660.9905795881170072100.01518 (24)139 (9)2
ghostnet_100.in1k-train🚧1260290.620.8018920.7104038645970234100.01439 (29)419 (10)64
ghostnetv2_100.in1k🚧1343874.910.8381958.41042893187552699.41683 (18)24 (2)68
ghostnetv2_100.in1k-train🚧195658.660.5849940.3513024538476401100.01957 (36)625 (16)68
googlenet🚧1139609.890.52225322.7376080036380299.4214 (15)1 (1)51
hrnet_w18.ms_aug_in1k🚧1159902.020.1906644.42243056784008599.561209 (11)31 (1)0
hrnet_w18.ms_aug_in1k-train🚧1161973.760.150640.3487747542881856100.03757 (21)1323 (8)0
inception_v4.tf_in1k🚧1168391.540.07246965.94601022713759198.67495 (11)14 (1)84
inception_v4.tf_in1k-train🚧1158333.710.05553370.20988517182249591100.01702 (24)634 (10)80
mixer_b16_224.goog_in21k🚧118465.330.2635877.6213703223839640.32392 (12)1 (1)0
mixer_b16_224.goog_in21k-train🚧140335.930.03708411.1090655014085133100.0959 (19)101 (6)0
mobilenetv1_100.ra4_e3600_r224_in1k-train🚧181606.620.763651.0999164063531173100.0231 (15)110 (6)0
regnet_y_128gf🚧1298255.020.001853850.0166981817015981598.68447 (10)3 (1)0
ssd300_vgg16🚧1255629.890.2768451.3041040153362633N/A330 (29)8 (5)37
ssdlite320_mobilenet_v3_large🚧1272755.241.622510.741009699816970647.01520 (30)7 (4)32
swin_b🚧1110297.890.2263224.176934965122593599.382492 (32)110 (2)479
swin_s🚧119245.310.3695054.45791726105563599.582492 (32)110 (2)479
swin_t🚧1192988.430.5893528.3913736678694399.61238 (32)50 (2)227
swin_v2_b🚧1107336.840.1982543.469692238298463499.93164 (40)158 (3)473
swin_v2_s🚧122575.380.2951193.55290272152348599.653164 (40)158 (3)473
swin_v2_t🚧1187456.620.4729166.51890482398956999.461574 (40)74 (3)221
tf_efficientnet_lite0.in1k-train🚧1147764.650.5531310.22743865410902045100.0403 (17)187 (7)5
tf_efficientnet_lite1.in1k-train🚧1101632.130.4759710.2175445313655705100.0523 (17)242 (7)5
tf_efficientnet_lite2.in1k-train🚧1161603.30.3840840.131343220850999100.0523 (17)242 (7)5
tf_efficientnet_lite3.in1k🚧1157894.510.3783623.73231814279849298.96221 (9)5 (1)5
tf_efficientnet_lite3.in1k-train🚧1128574.910.2636090.06615694942367373100.0595 (17)280 (8)5
tf_efficientnet_lite4.in1k🚧1148212.380.2017352.209261223047013499.09275 (9)6 (1)5
tf_efficientnet_lite4.in1k-train🚧1142411.390.1371260.06980447069713026100.0739 (17)347 (8)5
vit_b_16🚧118571.820.2030051.020491468691321899.51216 (14)13 (2)1
vit_b_32🚧117291.170.44113.588860178007464798.39216 (14)13 (2)1
vit_h_14🚧1382279.740.007099720.01120239067979019295.81556 (14)33 (2)1
vit_l_16🚧125280.470.09953290.391178150353233999.51420 (14)25 (2)1
vit_l_32🚧112820.280.1499681.535320037461808898.84420 (14)25 (2)1
xception71.tf_in1k-train🚧1155176.60.04121910.06015638253203027100.01276 (18)514 (6)0
FLAN-T5❌N/AN/A0.390116N/AN/A4182 (42)N/AN/A
Falcon-7B❌N/AN/A0.0316554N/AN/A2623 (31)N/AN/A
GPTNeo❌N/AN/A0.262519N/AN/A2895 (44)N/AN/A
Llama❌N/AN/A0.0219249N/AN/A2704 (29)N/AN/A
OPT❌N/AN/A0.205786N/AN/A3419 (34)N/AN/A
ViLT❌N/AN/A0.22532N/AN/A766 (29)N/AN/A
Whisper❌N/AN/A0.028717N/AN/A4842 (43)N/AN/A
YOLOv5❌N/AN/A0.0533503N/AN/A228 (13)N/AN/A
codegen❌N/AN/A0.249193N/AN/A9279 (42)N/AN/A
speecht5-tts❌N/AN/A0.0524124N/AN/A2725 (38)N/AN/A
t5-base❌N/AN/A0.197262N/AN/A5569 (44)N/AN/A
t5-large❌N/AN/A0.157036N/AN/A10837 (44)N/AN/A
t5-small❌N/AN/A0.501487N/AN/A2935 (44)N/AN/A

Explanation of Metrics

Model: Name of the model.
Status: Indicates whether the model is:

  • ✅ End-to-end on device: All PyTorch operations have been converted to TT-NN operations.
  • 🚧 Compiled: The converted model runs but some operations still fallback to PyTorch. This may be due to an unsupported operation or configuration.
  • ❌ Traced: The model does not run but its PyTorch operations are traced for future development. This may indicate a temporary incompatibility with a compiler pass.
    Batch: Batch size used for inference
    Compiled First Run (ms): Time until the first compiled run finishes (ms), including compilation time and warming caches.
    Original Throughput (Inferences Per Second): Execution throughput (in inferences per second) of the model before conversion.
    Compiled Throughput (Inferences Per Second): Execution throughput (in inferences per second) of the model after conversion, once caches are warm.
    Accuracy (%): Model accuracy on a predefined test dataset after conversion.
    Torch Ops Before (Unique Ops): The total number of operations used by the model in the original Torch implementation. The number in parentheses represents the total unique ops.
    Torch Ops Remain (Unique Ops): The total number of operations used after conversion to TT-NN. The number in parentheses represents the total unique ops.
    To/From Device Ops: The number of to/from_device operations (data transfer to/from the device).

Contributing

Whether you are new to Tenstorrent hardware or an experienced developer, there are many ways to contribute.

Getting Started

Start with our high level Contribution guide. You can find more information here:

We encourage contributions and offer 🤑 Bounties for some issues.

Development Environment

To get started with development, you'll need a Wormhole or Blackhole Tenstorrent accelerator card, which:

Install the development dependencies:

pip install -r requirements-dev.txt
pip install -e .

You can build the wheel file with

python -m build

Project Structure

  • torch_ttnn/: Main package directory containing the core implementation
  • tests/: Test files for the project including model suites. We use pytest as our testing framework.
  • tools/: Development and utility scripts
  • docs/: Project documentation and reports
  • demo/: Example code and usage demonstrations

Questions and Support

If you have questions or need help getting started, please:

  1. Review the existing documentation
  2. Ask PyTorch TT-NN DeepWiki or TT-Metal DeepWiki
  3. Ask on Discord
  4. Open an issue on GitHub
pytorch
ttnn

Significant stargazers

Aaron Pham

541 followers · starred Oct 2025

varshith257

52 followers · starred May 2025

Daniel Levin

60 followers · starred Jan 2025

woruyu

3 followers · starred Oct 2025