Code Ownership

Ownership is measured by how many commits each author made to each file in the current tree. It highlights bus-factor risk (files only one person has ever touched) and where knowledge is concentrated. The bus factor is the smallest number of people who are, between them, primary owner of more than half of the files.

Files Tracked
22,697
in the current tree
Bus Factor
9
9 authors are primary owner of 11,696 of 22,697 files
Single-Owner Files
11,157
49.2% of tracked files
Contributors
5,089
authors who changed files

Bus factor risk — single-owner files

Files only one author has ever changed. The more a file has changed, the more knowledge is at risk if that person leaves.

FileSole ownerCommits
torch/_inductor/kernel/flex/templates/flash_attention.py.jinjadrisspg15
tools/linter/adapters/raw_throw_linter.pyalbanD10
functorch/docs/source/install.rstRichard Zou10
torch/utils/model_dump/code.jsDavid Reiss10
.github/actions/setup-xpu/action.ymlWang, Chuanqi9
tools/native_aot/export.pySimon Layton8
aten/src/ATen/native/metal/mpscnn/MPSCNNClampOp.mmTao Xu8
torch/_inductor/codegen/metal_flex_attention_template.pyIsalia207
torch/_inductor/kernel/flex/flex_mps.pyIsalia207
aten/src/ATen/native/mps/kernels/DecodeAttention.hIsalia207
Table: the 100 most-changed of 11,157 single-owner files
FileSole ownerCommits
torch/_inductor/kernel/flex/templates/flash_attention.py.jinjadrisspg15
tools/linter/adapters/raw_throw_linter.pyalbanD10
functorch/docs/source/install.rstRichard Zou10
torch/utils/model_dump/code.jsDavid Reiss10
.github/actions/setup-xpu/action.ymlWang, Chuanqi9
tools/native_aot/export.pySimon Layton8
aten/src/ATen/native/metal/mpscnn/MPSCNNClampOp.mmTao Xu8
torch/_inductor/codegen/metal_flex_attention_template.pyIsalia207
torch/_inductor/kernel/flex/flex_mps.pyIsalia207
aten/src/ATen/native/mps/kernels/DecodeAttention.hIsalia207
.github/scripts/s390x-ci/self-hosted-builder/actions-runner.DockerfileAleksei Nikiforov7
tools/native_aot/gen_aot_lib.pySimon Layton6
tools/native_aot/toolchains.pySimon Layton6
.github/scripts/rockset_mocks.json.gzHuy Do6
torch/_inductor/runtime/caching/exceptions.pyNicolas Macchioni6
tools/test/docstring_linter_testdata/python_code.py.txt.lintrunnerTom Ritchford6
test/mobile/custom_build/build.shJiakai Liu6
aten/src/ATen/native/mps/kernels/UnfoldBackward.metalNikita Shulga5
aten/src/ATen/native/mps/kernels/TriangularOps.metalNikita Shulga5
aten/src/ATen/test/mps_test_metal_library.cppNikita Shulga5
.ci/flash-attention/build.shAngel Li5
torch/compiler/precompile.pyBob Ren5
test/inductor/test_module_level_kernels.pyBob Ren5
tools/native_aot/decl.pySimon Layton5
torch/_native/ops/reductions/kernel_rowtile.pySimon Layton5
torch/_native/ops/reductions/tile.pySimon Layton5
aten/src/ATen/xpu/XPUContext.hYu, Guangye5
aten/src/ATen/native/mps/kernels/Sort.metalIsalia205
.github/actions/auto-pr-triage/action.ymlsoulitzer5
test/dynamo_expected_failures/CPython313-test_heapq-TestErrorHandlingC.test_arg_parsingGuilherme Leobas5
test/dynamo_expected_failures/CPython313-test_heapq-TestHeapC.test_heapsortGuilherme Leobas5
test/dynamo_expected_failures/CPython313-test_heapq-TestHeapC.test_push_popGuilherme Leobas5
test/dynamo_expected_failures/CPython313-test_heapq-TestHeapPython.test_heapsortGuilherme Leobas5
test/dynamo_expected_failures/CPython313-test_heapq-TestHeapPython.test_push_popGuilherme Leobas5
test/dynamo_expected_failures/CPython313-test_ordered_dict-PurePythonOrderedDictSubclassTests.test_sorted_iteratorsGuilherme Leobas5
test/dynamo_expected_failures/CPython313-test_ordered_dict-PurePythonOrderedDictTests.test_sorted_iteratorsGuilherme Leobas5
test/dynamo_expected_failures/CPython313-test_collections-TestOneTrickPonyABCs.test_registrationGuilherme Leobas5
test/dynamo_expected_failures/CPython313-test_functools-TestSingleDispatch.test_mro_conflictsGuilherme Leobas5
torch/_higher_order_ops/switch.pyThomas Bohnstingl5
torch/_inductor/heuristics/template/base.pyxinan.lin5
torch/_inductor/heuristics/template/cutedsl.pyxinan.lin5
torch/_inductor/heuristics/template/gemm.pyxinan.lin5
torch/_inductor/heuristics/template/params.pyxinan.lin5
tools/test/test_raw_throw_linter.pyalbanD5
.ci/pytorch/test_fa3_abi_stable.shJane Xu5
torch/csrc/profiler/kineto_metadata.cppryanzhang225
torch/_functorch/_activation_offloading/offload_ops.pyMichael Lazos5
.github/scripts/s390x-ci/self-hosted-builder/fs/usr/bin/actions-runnerAleksei Nikiforov5
scripts/hud/analyze_failing_jobs.pyFrederik Gossen5
torch/onnx/_flags.pyJustin Chu5
benchmarks/inference/results/output_128_false.mdMikayla Gawarecki5
benchmarks/inference/results/output_1_false.mdMikayla Gawarecki5
benchmarks/inference/results/output_256_false.mdMikayla Gawarecki5
benchmarks/inference/results/output_32_false.mdMikayla Gawarecki5
benchmarks/inference/results/output_64_false.mdMikayla Gawarecki5
aten/src/ATen/native/vulkan/glsl/hardsigmoid.glslStephen Jia5
aten/src/ATen/native/vulkan/glsl/hardsigmoid_.glslStephen Jia5
aten/src/ATen/native/vulkan/glsl/hardswish.glslStephen Jia5
aten/src/ATen/native/vulkan/glsl/hardswish_.glslStephen Jia5
aten/src/ATen/native/vulkan/glsl/reflection_pad2d.glslStephen Jia5
aten/src/ATen/native/vulkan/glsl/sigmoid.glslStephen Jia5
aten/src/ATen/native/vulkan/glsl/sigmoid_.glslStephen Jia5
tools/test/docstring_linter_testdata/python_code.py.txt.jsonTom Ritchford5
aten/src/ATen/native/quantized/cpu/qnnpack/test/fully-connected-sparse.ccKimish Patel5
test/cpp_extensions/jit_extension.cppPeter Goldsborough5
test/cpp_extensions/jit_extension2.cppPeter Goldsborough5
aten/src/ATen/native/mps/kernels/RenormKernel.metalNikita Shulga4
aten/src/ATen/native/mps/kernels/Convolution.hIsalia204
scripts/auto_pr_triage/tests/test_apply_actions.pysoulitzer4
scripts/auto_pr_triage/validate_ownership.pysoulitzer4
torch/_vendor/quack/gemm_config.pydrisspg4
torch/_vendor/quack/autotuner.pydrisspg4
torch/_vendor/quack/cache/jit.pydrisspg4
torch/_inductor/heuristics/template/bmm.pyJanani Sriram4
torch/_inductor/kernel/templates/triton_blackwell_ws_persistent_tma_bmm.py.jinjaJanani Sriram4
torch/_inductor/codegen/nv_universal_gemm/epilogue_capabilities.pyMichael Lazos4
test/python_native/test_linear_cross_entropy_override.pyPearu Peterson4
.github/scripts/s390x-ci/self-hosted-builder/actions-runner@.serviceAleksei Nikiforov4
benchmarks/inference/CHANGELOG.mdMikayla Gawarecki4
benchmarks/inference/results/output_128_true.mdMikayla Gawarecki4
benchmarks/inference/results/output_1_true.mdMikayla Gawarecki4
benchmarks/inference/results/output_256_true.mdMikayla Gawarecki4
benchmarks/inference/results/output_32_true.mdMikayla Gawarecki4
benchmarks/inference/results/output_64_true.mdMikayla Gawarecki4
benchmarks/inference/runner.shMikayla Gawarecki4
aten/src/ATen/native/vulkan/ops/Convert.hStephen Jia4
tools/test/docstring_linter_testdata/more_python_code.py.txt.before.txtTom Ritchford4
tools/test/docstring_linter_testdata/python_code.py.txt.recursive.jsonTom Ritchford4
tools/test/docstring_linter_testdata/python_code.py.txt.recursive.terse.jsonTom Ritchford4
tools/test/docstring_linter_testdata/python_code.py.txt.recursive.terse.line.jsonTom Ritchford4
tools/test/docstring_linter_testdata/python_code.py.txt.report.jsonTom Ritchford4
tools/test/docstring_linter_testdata/python_code.py.txt.single.line.jsonTom Ritchford4
tools/test/docstring_linter_testdata/python_code.py.txt.terse.jsonTom Ritchford4
tools/test/docstring_linter_testdata/python_code.py.txt.terse.line.jsonTom Ritchford4
test/cpp/jit/test_cs_debug_info_serialization.cppKimish Patel4
aten/src/ATen/native/metal/MetalCommandBuffer.mmTao Xu4
aten/src/ATen/core/dispatch/README.mdSebastian Messmer4
test/python_native/test_aot_manifest.pySimon Layton3
torch/_native/aot_manifest.pySimon Layton3
test/python_native/test_rmsnorm_cutedsl.pySimon Layton3

Ownership by author

Primary owner = the author with the most commits to a file. Solely owned = files only that author has touched.

AuthorFiles ownedSolely ownedFiles touched
Oguz Ulgen4,5474,5195,400
Guilherme Leobas1,8561,2262,274
cyy1,54285,327
Simon Fan1,0501,0381,263
PyTorch MergeBot1,03707,243
Xuehai Pan49903,177
Nikita Shulga425333,270
Sam Larsen373365542
Rob Timpe367245524
Jason Ansel3012491,037
Edward Z. Yang297322,958
Piotr Bielak277277317
Keith242242244
drisspg217116594
ryanzhang22198177230
Jane Xu171631,010
Ashkan Aliabadi168134371
Stephen Jia14422236
albanD13662,024
eellison13612781
Jerry Zhang1360458
Peter Bell128111,753
Michael Suo12581,567
Tristan Rice12546466
Turner Richmond11243178

Showing top 25 of 5089 contributors.

Most shared files

Files touched by the most people — shared code where changes are most likely to need coordination.

FileContributorsPrimary ownerOwner share
test/test_nn.py441Adam Paszke3.6%
aten/src/ATen/native/native_functions.yaml426PyTorch MergeBot5.9%
test/test_torch.py371Gregory Chanan4.2%
torch/testing/_internal/common_methods_invocations.py351kshitij123459.1%
torch/_torch_docs.py319Vishwak Srinivasan4.7%
test/inductor/test_torchinductor.py289PyTorch MergeBot11.7%
torch/nn/functional.py273Tongzhou Wang3.9%
caffe2/CMakeLists.txt269PyTorch MergeBot8.5%
CMakeLists.txt258Nikita Shulga7.1%
test/test_cuda.py251PyTorch MergeBot8.2%
torch/_C/__init__.pyi.in241PyTorch MergeBot14.7%
torch/__init__.py234PyTorch MergeBot10.6%
setup.py229Adam Paszke8.3%
test/test_jit.py221eellison11.9%
tools/autograd/derivatives.yaml219PyTorch MergeBot6.8%
test/test_autograd.py217soulitzer9.3%
torch/testing/_internal/common_utils.py212PyTorch MergeBot9.5%
test/run_test.py208Catherine Lee12.8%
torch/_meta_registrations.py203PyTorch MergeBot13.3%
cmake/Dependencies.cmake200cyy7.3%