# This is a comment.
# Each line is a file pattern followed by one or more owners.

/torch/utils/cpp_extension.py @fmassa @soumith @ezyang

# Not there to strictly require the approval, but to be tagged as a reviewer
# on the PRs to push them into a high priority inbox.
/torch/csrc/autograd/ @albanD @soulitzer
/torch/autograd/ @albanD @soulitzer
/tools/autograd/ @albanD @soulitzer
/torch/nn/ @albanD @jbschlosser
/torch/optim/ @albanD
/test/test_public_bindings.py @albanD
/docs/source/conf.py @albanD
/aten/src/ATen/native/native_functions.yaml @bdhirsh

# Tensorpipe RPC Agent.
/torch/csrc/distributed/rpc/tensorpipe_agent.cpp @jiayisuse @osalpekar @lw @beauby
/torch/csrc/distributed/rpc/tensorpipe_agent.h @jiayisuse @osalpekar @lw @beauby

# Distributed package
# This list is mostly if you'd like to be tagged as reviewer, feel free to add
# or remove yourself from it.
/torch/csrc/distributed/ @mrshenli @zhaojuanmao @pritamdamania87 @rohan-varma @mingzhe09088 @H-Huang @bowangbj
/torch/distributed/ @mrshenli @zhaojuanmao @pritamdamania87 @rohan-varma @mingzhe09088 @H-Huang @bowangbj
/torch/nn/parallel/ @mrshenli @zhaojuanmao @pritamdamania87 @rohan-varma @mingzhe09088 @H-Huang @bowangbj

# Distributed tests
# This list is mostly if you'd like to be tagged as reviewer, feel free to add
# or remove yourself from it.
/test/distributed @mrshenli @pritamdamania87 @zhaojuanmao @rohan-varma @H-Huang @bowangbj
/torch/testing/_internal/distributed @mrshenli @pritamdamania87 @zhaojuanmao @rohan-varma @H-Huang @bowangbj

# ONNX Export
/torch/csrc/jit/passes/onnx.h @bowenbao @shubhambhokare1
/torch/csrc/jit/passes/onnx.cpp @bowenbao @shubhambhokare1
/torch/csrc/jit/passes/onnx/ @bowenbao @shubhambhokare1
/torch/onnx/ @bowenbao @shubhambhokare1
/test/onnx/ @bowenbao @shubhambhokare1

# Docker
/.circleci/docker/ @jeffdaily @jithunnair-amd

# Github Actions
# This list is for people wanting to be notified every time there's a change
# related to Github Actions
/.github/ @seemethere @janeyx99 @atalman

# Custom Test Infrastructure
/test/run_test.py @pytorch-dev-infra
/torch/testing/_internal/common_device_type.py @mruberry
/torch/testing/_internal/common_utils.py @pytorch-dev-infra

# Parametrizations
/torch/nn/utils/parametriz*.py @lezcano

# torch.linalg
# docs
/torch/linalg/ @lezcano @IvanYashchuk
# code
/aten/src/ATen/native/**/*LinearAlgebra* @lezcano @nikitaved @IvanYashchuk
# tests
/test/test_linalg.py @lezcano @nikitaved @IvanYashchuk
