pytorch/tools
Nathan Goldbaum 9d3402e4cb Add the __torch_function__ API override mechanism (#30730)
Summary:
This is a re-do of https://github.com/pytorch/pytorch/issues/27064, which was reverted (b8792c0438). This was landed at the same time as other work that added new operators to the `torch` namespace so the check for whether the `torch` namespace is exhaustively checked for overridability was triggering test failures.

I've temporarily disabled that check and added an explanatory comment that the check will be re-enabled in a future PR that will be merged during a time when the commit velocity on PyTorch is lower.
Pull Request resolved: https://github.com/pytorch/pytorch/pull/30730

Differential Revision: D18813270

Pulled By: ezyang

fbshipit-source-id: 70477c4656dca8fea6e7bc59259555041fcfbf68
2019-12-04 13:19:07 -08:00
..
amd_build Move torch.cuda's atfork handler into C++ (#29101) 2019-11-11 07:34:27 -08:00
autograd Add the __torch_function__ API override mechanism (#30730) 2019-12-04 13:19:07 -08:00
code_analyzer add LLVM code analyzer in order to replace static dispatch 2019-12-04 01:02:33 -08:00
docker clean up runtime dockerfile, use cuda 9 package (#7230) 2018-05-02 23:54:05 -07:00
jit Fix typos (#30606) 2019-12-02 20:17:42 -08:00
pyi Improve Tensor type hints (#28578) 2019-10-27 04:43:51 -07:00
setup_helpers Add more comment on NumPy detection in Python scripts. 2019-11-26 17:38:27 -08:00
shared Ignore F401 in all __init__.py without putting noqa (#25823) 2019-10-23 15:28:13 -07:00
__init__.py
aten_mirror.sh Restore TBB module (#20454) 2019-05-28 02:49:36 -07:00
build_libtorch.py Specify build dir as a global variable in BUILD_DIR in the build system. 2019-07-25 07:19:47 -07:00
build_pytorch_libs.py Remove tools/setup_helpers/cuda.py. (#28617) 2019-11-06 07:12:01 -08:00
build_variables.py remove tuple_parser (#30659) 2019-12-03 14:49:59 -08:00
clang_format.py Enable EXE001 flake8 check. (#27560) 2019-10-09 09:15:29 -07:00
clang_tidy.py Fix typos (#30606) 2019-12-02 20:17:42 -08:00
download_mnist.py Turn on F401: Unused import warning. (#18598) 2019-03-30 09:01:17 -07:00
flake8_hook.py Add missing shebangs to Python files with executable permissions. 2019-06-06 10:53:40 -07:00
generated_dirs.txt Add simple scripts for checking if generated code changed. (#12835) 2018-10-22 07:33:32 -07:00
git_add_generated_dirs.sh Add simple scripts for checking if generated code changed. (#12835) 2018-10-22 07:33:32 -07:00
git_reset_generated_dirs.sh Add simple scripts for checking if generated code changed. (#12835) 2018-10-22 07:33:32 -07:00
git-pre-commit Remove THD (#22065) 2019-06-25 12:19:13 -07:00
pytorch.version Convert all tabs to spaces, add CI. (#18959) 2019-04-09 08:12:26 -07:00
README.md Stop doing nn wrap. (#25353) 2019-08-30 07:42:20 -07:00

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.

Legacy infrastructure (we should kill this):

  • cwrap - Implementation of legacy code generation for THNN/THCUNN. This is used by nnwrap.

Build system pieces:

  • setup_helpers - Helper code for searching for third-party dependencies on the user system.
  • build_pytorch_libs.sh - Script that builds all of the constituent libraries of PyTorch, but not the PyTorch Python extension itself. We are working on eliminating this script in favor of a unified cmake build.
  • build_pytorch_libs.bat - Same as above, but for Windows.
  • 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: