Focused By Design

This inventory is organized around backend-relevant PyTorch behavior. It combines PyTorch OpInfo-sourced tests, generated dispatcher cases, hand-authored backend semantics, harness self-checks, and targeted path-shape cases.

It is not intended to reproduce every framework, frontend, distributed, packaging, or internal implementation test in the full PyTorch project.

The inventory is small enough to support repeated backend development and CI runs. Coverage audits keep the smaller scope accountable by showing covered, pending, excluded, and unknown dispatcher surfaces.

Current Shape

The July 20, 2026 stats run collected 19,395 pytest nodes at semantic level 8.

18,578Executable nodes
814Structured filtered nodes
3Pytest skip-marked nodes
19,222Parameterized node IDs
173Unparameterized node IDs

Test Breakdown

PyTorch OpInfo-derived operator tests means TorchCTS builds tests from PyTorch's own OpInfo operator metadata and sample inputs. That gives TorchCTS broad operator coverage without pretending those cases were hand-written one by one.

13,070PyTorch OpInfo-derived operator tests
4,258Generated dispatcher and variant tests
2,053Hand-authored backend behavior tests
14Harness self-checks
PyTorch OpInfo-derived operator tests13,070 nodes: forward 10,553, backward 2,315, errors 202.
Generated4,258 nodes: foreach/fused 1,969, out 898, functional 578, other 813.
Hand-authored2,053 nodes: path-shape 850, operators other 478, compiler 144, dtypes 135, workloads other 120, other 326.
Harness self-checks14 nodes.
Source site-stats.md Generated 2026-07-20 at 21:07 UTC. Small leaf families are grouped so the chart stays readable.

Suite Counts

Top-level test kinds: PyTorch OpInfo-derived operator tests 13,070, generated 4,258, hand-authored 2,053, and 14 harness self-checks.

SuiteCollected Nodes
PyTorch OpInfo-derived operator tests13,070
generated4,258
operators1,193
compiler144
dtypes135
workloads255
strides87
autograd78
training56
stress30
rng28
memory24
Harness self-checks14
device_api12
errors5
multi_device3
serialization3

Generated File Counts

Generated Test FileCollected Nodes
test_foreach_fused.py1,969
test_out_variants.py898
test_functional_variants.py578
test_inplace_variants.py346
test_oracle_surfaces.py273
test_view_aliases.py100
test_autograd_backward_variants.py38
test_layout_storage_variants.py24
test_factories.py20
test_rng_variants.py12

Path-shape tests are tracked separately because they come from a curated corpus instead of the generated dispatcher suite.

Path-Shape Test FileCollected Nodes
torchcts/operators/test_operator_path_shapes.py715
torchcts/workloads/test_workload_path_shapes.py135

Semantic Level Inventory

Semantic levels describe run depth. Higher levels do not replace lower levels. They add more behavior, more resource pressure, or more backend integration surface.

Level 1

Core primitives for continuous backend validation: basic tensor creation, simple unary and binary operations, basic dtype behavior, and the smallest generated dispatcher cases.

Level 2

Normal operator correctness: broad PyTorch OpInfo-derived forward and backward cases, common tensor-producing operators, common tensor-consuming operators, and expected error behavior.

Level 3

Mainstream framework semantics: mutation, aliasing, out= behavior, view behavior, RNG behavior, metadata behavior, and generated functional/inplace/out variants.

Level 4

Production bring-up depth: training-adjacent coverage, autograd-adjacent behavior, backend-family cases, and broader generated variant coverage that starts to expose real backend gaps.

Level 5

Advanced tensor behavior: numeric edge cases, layout and storage behavior, sparse and nested coverage, noncontiguous tensors, channels-last paths, stride-sensitive cases, and most standard-tier path-shape rows.

Level 6

Backend integration: compiler paths, device API, streams and events, allocator behavior, guarded allocation, quantization-adjacent plumbing, and low-level implementation surfaces.

Level 7

Heavy integration: realistic workloads, model-shaped tests, multi-device behavior, and selected path-shape rows that are more expensive or more dependent on the target hardware.

Level 8

Release-depth validation: stress, adversarial behavior, large tensor pressure, rapid allocation patterns, edge numerics, and cases intended for final validation rather than every local edit.

LevelNodesExecutableSurfacesGen'd
143643510418418
213,78913,6551340964143
31,08574134131,049711
42,4052,1742310382273
51,2481,196520376343
61991712801919
720317924060
830273000

Levels 7 and 8 live primarily in hand-authored workload, multi-device, and stress tests, so generated-dispatcher counts can be zero while pytest nodes are nonzero.

Path-Shape Corpus

The path-shape corpus tracks reviewed cases for shapes, layouts, strides, masks, model roles, dtypes, resource tiers, and cost classes. It is built to hit backend branch points, not to enumerate every possible tensor size.

1,320Tracked path-shape rows
850Default rows
470Heavy rows
12Families

By corpus level, TorchCTS tracks 890 level 5 rows, 80 level 7 rows, and 350 level 8 rows. The default pytest collection currently includes 770 level 5 rows and 80 level 7 rows.

FamilyTotal RowsDefault Rows
matmul210140
attention15080
convolution14090
reduction12085
indexing11080
spatial10065
model_patterns9555
normalization9065
fft8545
sorting8055
broadcasting7555
linear_algebra6535