pytorch/tools
albanD 95ea778ac6 Set proper output differentiability for unique function (#47930)
Summary:
Fixes https://github.com/pytorch/pytorch/issues/47851

Since the definitions of these functions in `native_functions.yaml` has special dispatch, we were already generating the proper `NotImplemented` behavior for these functions but we were wrongfully setting that gradient of all of the outputs.

Added entries in `derivatives.yaml` to allow us to specify which outpus are differentiable or not.

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

Reviewed By: smessmer

Differential Revision: D24960667

Pulled By: albanD

fbshipit-source-id: 19e5bb3029cf0d020b31e2fa264b3a03dd86ec10
2020-11-16 12:26:10 -08:00
..
amd_build Remove __future__ imports for legacy Python2 supports (#45033) 2020-09-23 17:57:02 -07:00
autograd Set proper output differentiability for unique function (#47930) 2020-11-16 12:26:10 -08:00
clang_format_hash
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
docker
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
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_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
generate_torch_version.py Fix torch.version.debug generation (#47006) 2020-10-28 12:48:30 -07:00
generated_dirs.txt
git-clang-format
git-pre-commit [ONNX] Utilize ONNX shape inference for ONNX exporter (#40628) 2020-08-30 18:35:46 -07:00
git_add_generated_dirs.sh
git_reset_generated_dirs.sh
nightly.py nightly robustness fixes for linking across devices (#43771) 2020-09-21 12:32:32 -07:00
pytorch.version
README.md
update_disabled_tests.sh

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: