pytorch/tools
Jason Ansel eebc93d41e Better fix for f-strings in set_linter for py3.12 (#143725)
#143628 didn't handle a few cases right for example:
```py
$ python3 tools/linter/adapters/set_linter.py torch/_inductor/scheduler.py
torch/_inductor/scheduler.py:261:24: Builtin `set` is deprecated
  259 |                 multiline=False,
  260 |             )
  261 |         return f"{self}{data_str}"
                               ^
  262 |
  263 |     def log_details(self) -> None:

torch/_inductor/scheduler.py:261:33: Builtin `set` is deprecated
  259 |                 multiline=False,
  260 |             )
  261 |         return f"{self}{data_str}"
                                        ^
  262 |
  263 |     def log_details(self) -> None:
```
also multi-line fstrings
Pull Request resolved: https://github.com/pytorch/pytorch/pull/143725
Approved by: https://github.com/yanboliang
2024-12-22 22:51:27 +00:00
..
alerts
amd_build [BE][Easy] use pathlib.Path instead of dirname / ".." / pardir (#129374) 2024-12-21 22:08:01 +00:00
autograd [gen_autograd_functions] rename some variables (#143166) 2024-12-16 23:18:55 +00:00
bazel_tools
build/bazel
build_defs
code_analyzer [3/N] Apply py39 ruff fixes (#142115) 2024-12-11 17:50:10 +00:00
code_coverage [BE][Easy] use pathlib.Path instead of dirname / ".." / pardir (#129374) 2024-12-21 22:08:01 +00:00
config
coverage_plugins_package
dynamo
flight_recorder [fr] recognize all_reduce_barrier as a valid op (#143354) 2024-12-17 21:09:18 +00:00
gdb Add gdb print methods support same as pytorch-lldb (#140935) 2024-11-19 01:28:30 +00:00
github
iwyu
jit [3/N] Apply py39 ruff fixes (#142115) 2024-12-11 17:50:10 +00:00
linter Better fix for f-strings in set_linter for py3.12 (#143725) 2024-12-22 22:51:27 +00:00
lite_interpreter c10::string_view -> std::string_view in more places (#142517) 2024-12-12 19:45:59 +00:00
lldb
onnx [BE][Easy] use pathlib.Path instead of dirname / ".." / pardir (#129374) 2024-12-21 22:08:01 +00:00
packaging tools: Add a tool to build wheels for multiple python versions (#143361) 2024-12-17 21:56:06 +00:00
pyi [3/N] Apply py39 ruff fixes (#142115) 2024-12-11 17:50:10 +00:00
rules
rules_cc [BE] Fix incompatible-std-redefinition warning (#141630) 2024-11-27 05:06:36 +00:00
setup_helpers [BE][Easy] use pathlib.Path instead of dirname / ".." / pardir (#129374) 2024-12-21 22:08:01 +00:00
shared
stats [BE][Easy] use pathlib.Path instead of dirname / ".." / pardir (#129374) 2024-12-21 22:08:01 +00:00
test Enable ruff's unused variable checking everywhere in pytorch (#136965) 2024-12-22 02:33:11 +00:00
testing [BE][Easy] use pathlib.Path instead of dirname / ".." / pardir (#129374) 2024-12-21 22:08:01 +00:00
__init__.py
bazel.bzl
BUCK.bzl
BUCK.oss
build_libtorch.py [BE][Easy] use pathlib.Path instead of dirname / ".." / pardir (#129374) 2024-12-21 22:08:01 +00:00
build_pytorch_libs.py Fix access to _msvccompiler from newer distutils (#141363) 2024-11-25 01:50:47 +00:00
build_with_debinfo.py
download_mnist.py
extract_scripts.py [3/N] Apply py39 ruff fixes (#142115) 2024-12-11 17:50:10 +00:00
gen_flatbuffers.sh
gen_vulkan_spv.py [BE][Easy] use pathlib.Path instead of dirname / ".." / pardir (#129374) 2024-12-21 22:08:01 +00:00
generate_torch_version.py
generated_dirs.txt
git_add_generated_dirs.sh
git_reset_generated_dirs.sh
nightly.py [3/N] Apply py39 ruff fixes (#142115) 2024-12-11 17:50:10 +00:00
nightly_hotpatch.py [3/N] Apply py39 ruff fixes (#142115) 2024-12-11 17:50:10 +00:00
nvcc_fix_deps.py
README.md
render_junit.py
substitute.py
update_masked_docs.py
vscode_settings.py

This folder contains a number of scripts which are used as part of the PyTorch build process. This directory also doubles as a Python module hierarchy (thus the __init__.py).

Overview

Modern infrastructure:

  • autograd - Code generation for autograd. This includes definitions of all our derivatives.
  • jit - Code generation for JIT
  • shared - Generic infrastructure that scripts in tools may find useful.
    • module_loader.py - Makes it easier to import arbitrary Python files in a script, without having to add them to the PYTHONPATH first.

Build system pieces:

  • setup_helpers - Helper code for searching for third-party dependencies on the user system.
  • build_pytorch_libs.py - cross-platform script that builds all of the constituent libraries of PyTorch, but not the PyTorch Python extension itself.
  • build_libtorch.py - Script for building libtorch, a standalone C++ library without Python support. This build script is tested in CI.

Developer tools which you might find useful:

Important if you want to run on AMD GPU:

  • amd_build - HIPify scripts, for transpiling CUDA into AMD HIP. Right now, PyTorch and Caffe2 share logic for how to do this transpilation, but have separate entry-points for transpiling either PyTorch or Caffe2 code.
    • build_amd.py - Top-level entry point for HIPifying our codebase.

Tools which are only situationally useful: