pytorch/benchmarks
jainapurva a9b29caeae Add attention benchmarking numbers to pytorch operator microbenchmarks (#164155)
This pull request introduces a standardized YAML-based configuration system for transformer attention benchmarks, making it easier to run and manage comprehensive performance tests. It adds example configs, and a wrapper script to convert YAML configs into CLI arguments for the benchmark runner.

#### Next Steps:
CI Enablement: This change would further lead to running the attention ops in CI for regression tracking.

#### Developer flow: (Run locally)
`python score_mod.py --config configs/config_test.yaml`

#### Enabling CI run: https://github.com/pytorch/pytorch/pull/165915

Pull Request resolved: https://github.com/pytorch/pytorch/pull/164155
Approved by: https://github.com/jbschlosser
2025-10-28 23:46:04 +00:00
..
data Dataloader benchmark script (#159432) 2025-08-06 19:05:19 +00:00
distributed [SymmMem] Tiled reduce (#162243) 2025-10-08 02:03:04 +00:00
dynamo Fix accuracy for layernorm/rmsnorm benchmarking (#166005) 2025-10-24 18:14:51 +00:00
fastrnns Enable PLW0127 in ruff (#165851) 2025-10-21 03:30:57 +00:00
framework_overhead_benchmark Fix unused Python variables outside torch/ and test/ (#136359) 2024-12-11 17:10:23 +00:00
functional_autograd_benchmark [9/N] Apply ruff UP035 rule (#165515) 2025-10-17 00:09:51 +00:00
fuser Fix unused Python variables outside torch/ and test/ (#136359) 2024-12-11 17:10:23 +00:00
gpt_fast Enable all PIE rules on ruff (#165814) 2025-10-18 07:36:18 +00:00
inductor_backends [9/N] Apply ruff UP035 rule (#165515) 2025-10-17 00:09:51 +00:00
inference [BE] fix typos in benchmarks/ (#156077) 2025-06-17 13:12:18 +00:00
instruction_counts Enable ruff rule E721 (#165162) 2025-10-13 01:48:55 +00:00
nested Fix unused Python variables outside torch/ and test/ (#136359) 2024-12-11 17:10:23 +00:00
operator_benchmark [Pytorch] Add NEON Vectorized<double> translation layers (#166092) 2025-10-23 20:20:48 +00:00
overrides_benchmark [BE][Easy][3/19] enforce style for empty lines in import segments in benchmarks/ (#129754) 2024-07-17 14:34:42 +00:00
profiler_benchmark Apply TorchFix TOR203 fixes (#143691) 2024-12-23 18:21:03 +00:00
record_function_benchmark
serialization Fix unused Python variables outside torch/ and test/ (#136359) 2024-12-11 17:10:23 +00:00
sparse [build] modernize build-frontend: python setup.py develop/install -> [uv ]pip install --no-build-isolation [-e ]. (#156027) 2025-07-09 11:24:27 +00:00
static_runtime [3/N] Use internal linkage in C++ files (#151297) 2025-05-05 17:48:39 +00:00
tensorexpr [BE] fix typos in benchmarks/ (#156077) 2025-06-17 13:12:18 +00:00
transformer Add attention benchmarking numbers to pytorch operator microbenchmarks (#164155) 2025-10-28 23:46:04 +00:00
compare-fastrnn-results.py [BE][Easy][3/19] enforce style for empty lines in import segments in benchmarks/ (#129754) 2024-07-17 14:34:42 +00:00
compare.sh
README.md [build] modernize build-frontend: python setup.py develop/install -> [uv ]pip install --no-build-isolation [-e ]. (#156027) 2025-07-09 11:24:27 +00:00
upload_scribe.py Fix broken URLs (#152237) 2025-04-27 09:56:42 +00:00

PyTorch Benchmarks

This folder contains scripts that produce reproducible timings of various PyTorch features.

It also provides mechanisms to compare PyTorch with other frameworks.

Setup environment

Make sure you're on a machine with CUDA, torchvision, and pytorch installed. Install in the following order:

# Install torchvision. It comes with the pytorch stable release binary
python -m pip install torch torchvision

# Install the latest pytorch master from source.
# It should supersede the installation from the release binary.
cd $PYTORCH_HOME
python -m pip install --no-build-isolation -v -e .

# Check the pytorch installation version
python -c "import torch; print(torch.__version__)"

Benchmark List

Please refer to each subfolder to discover each benchmark suite. Links are provided where descriptions exist: