pytorch/tools
albanD cd4aa9c95c Fix inplace check logic to be triggered when written to Tensor does not require gradients (#46296)
Summary:
Fix https://github.com/pytorch/pytorch/issues/46242

This ensures that the `check_inplace()` run the proper checks even if the Tensor that is being modified inplace does not requires gradient. As the Tensor written into it might require gradient and will make this inplace modification actually differentiable.
This contains:
- Codegen changes to tell `check_inplace()` if the inplace will be differentiable
- Changes in `handle_view_on_rebase` to work properly even when called for an input that does not require gradients (which was assumed to be true before)
- Corresponding tests (both warnings and the error raise internal assert errors without this fix)

Pull Request resolved: https://github.com/pytorch/pytorch/pull/46296

Reviewed By: ezyang

Differential Revision: D24903770

Pulled By: albanD

fbshipit-source-id: 74e65dad3d2e3b9f762cbb7b39f92f19d9a0b094
2020-11-16 08:06:06 -08:00
..
amd_build Remove __future__ imports for legacy Python2 supports (#45033) 2020-09-23 17:57:02 -07:00
autograd Fix inplace check logic to be triggered when written to Tensor does not require gradients (#46296) 2020-11-16 08:06:06 -08:00
clang_format_hash [PyTorch][tools] Add linux64 clang-format hash 2020-03-13 14:22:17 -07:00
code_analyzer [pytorch][bot] update mobile op deps (#47825) 2020-11-12 19:19:25 -08:00
code_coverage add lcov to oss for beautiful html report (#44568) 2020-09-11 15:29:24 -07:00
codegen [pytorch][codegen] migrate gen_annotated_fn_args.py to new codegen model (#47745) 2020-11-14 02:24:39 -08:00
config Bazel build of pytorch with gating CI (#36011) 2020-04-06 22:50:33 -07:00
docker clean up runtime dockerfile, use cuda 9 package (#7230) 2018-05-02 23:54:05 -07:00
jit [pytorch] add script to run all codegen (#46243) 2020-10-29 22:55:12 -07:00
pyi [pytorch][codegen] gen_python_functions.py loading native_functions.yaml / deprecated.yaml directly (#47746) 2020-11-14 02:27:57 -08:00
rules remediation of S205607 2020-07-17 17:19:47 -07:00
setup_helpers [pytorch][codegen] migrate gen_annotated_fn_args.py to new codegen model (#47745) 2020-11-14 02:24:39 -08:00
shared Cleanup unused code for Python < 3.6 (#47822) 2020-11-13 21:37:01 -08:00
__init__.py remediation of S205607 2020-07-17 17:19:47 -07:00
aten_mirror.sh Restore TBB module (#20454) 2019-05-28 02:49:36 -07:00
build_libtorch.py Remove Incorrect Comment in tools/build_libtorch and remove Python2 support in the module import (#44888) 2020-09-18 10:03:36 -07:00
build_pytorch_libs.py Cleanup unused code for Python < 3.6 (#47822) 2020-11-13 21:37:01 -08:00
build_variables.bzl [NNC] Remove all deferred expansion from Reductions (#47709) 2020-11-12 20:17:52 -08:00
clang_format_all.py Replaced whitelist with allowlist (#45796) 2020-10-06 09:18:51 -07:00
clang_format_ci.sh Removed whitelist reference from tools/clang_format_ci.sh (#41636) 2020-07-21 12:32:14 -07:00
clang_format_utils.py clang-format don't run on master (#37058) 2020-04-22 11:37:22 -07:00
clang_tidy.py Remove __future__ imports for legacy Python2 supports (#45033) 2020-09-23 17:57:02 -07:00
download_mnist.py Remove Incorrect Comment in tools/build_libtorch and remove Python2 support in the module import (#44888) 2020-09-18 10:03:36 -07:00
flake8_hook.py Add missing shebangs to Python files with executable permissions. 2019-06-06 10:53:40 -07:00
generate_torch_version.py Fix torch.version.debug generation (#47006) 2020-10-28 12:48:30 -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-clang-format clang-format don't run on master (#37058) 2020-04-22 11:37:22 -07:00
git-pre-commit [ONNX] Utilize ONNX shape inference for ONNX exporter (#40628) 2020-08-30 18:35:46 -07:00
nightly.py nightly robustness fixes for linking across devices (#43771) 2020-09-21 12:32:32 -07:00
pytorch.version Convert all tabs to spaces, add CI. (#18959) 2019-04-09 08:12:26 -07:00
README.md no more build_pytorch_libs.sh/.bat (#32319) 2020-01-23 14:45:54 -08:00
update_disabled_tests.sh we should have a config-based way to skip flaky tests (#30978) 2019-12-17 11:58:43 -08: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.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: