pytorch/tools
dan_the_3rd 4a384d813b [SDPA/memeff] Backport changes from xFormers to PT (#127090)
Backporting a few fixes from xFormers:
* Bug fixes for local attention (which is not exposed in PT at the moment)
* Massively reduced memory usage on the BW pass (see also https://github.com/facebookresearch/xformers/pull/1028)

Essentially this will also make xFormers build process much easier, as we will be able to use mem-eff from PyTorch (if the user has a recent enough version) rather than building it at xFormers install time
The goal is to have the source of truth for these files in PT moving forward, and remove them from xFormers eventually once our users have a recent-enough version of PT.
Pull Request resolved: https://github.com/pytorch/pytorch/pull/127090
Approved by: https://github.com/drisspg
2024-06-05 07:33:27 +00:00
..
alerts
amd_build
autograd [SDPA/memeff] Backport changes from xFormers to PT (#127090) 2024-06-05 07:33:27 +00:00
bazel_tools
build/bazel Update requests to 2.32.2 (#126805) 2024-05-23 00:21:28 +00:00
build_defs
code_analyzer [3/N][Easy] fix typo for usort config in pyproject.toml (kown -> known): sort torchgen (#127124) 2024-05-25 19:20:03 +00:00
code_coverage
config
coverage_plugins_package
dynamo
gdb
github
iwyu
jit
linter
lite_interpreter [3/N][Easy] fix typo for usort config in pyproject.toml (kown -> known): sort torchgen (#127124) 2024-05-25 19:20:03 +00:00
lldb
onnx
pyi [3/N][Easy] fix typo for usort config in pyproject.toml (kown -> known): sort torchgen (#127124) 2024-05-25 19:20:03 +00:00
rules
rules_cc
setup_helpers Use Python::NumPy target (#127399) 2024-05-29 23:17:58 +00:00
shared
stats [AMD] Fix deprecated amdsmi api (#126962) 2024-05-26 20:11:23 +00:00
test [3/N][Easy] fix typo for usort config in pyproject.toml (kown -> known): sort torchgen (#127124) 2024-05-25 19:20:03 +00:00
testing [TD] Upload names of failures to s3 for pytest cache (#126315) 2024-05-21 16:29:31 +00:00
__init__.py
bazel.bzl
BUCK.bzl
BUCK.oss
build_libtorch.py
build_pytorch_libs.py
build_with_debinfo.py
download_mnist.py
extract_scripts.py [1/N][Easy] fix typo for usort config in pyproject.toml (kown -> known): sort stdlib (#127122) 2024-05-25 08:25:50 +00:00
gen_flatbuffers.sh
gen_vulkan_spv.py [BE]: Update ruff to v0.4.4 (#125031) 2024-05-12 20:02:37 +00:00
generate_torch_version.py
generated_dirs.txt
git_add_generated_dirs.sh
git_reset_generated_dirs.sh
nightly.py
nvcc_fix_deps.py
pytorch.version
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: