pytorch/tools
Mikayla Gawarecki afaee00fec Add python nested_tensor and as_nested_tensor constructors in torch.nested (#85593)
Remove `torch.nested_tensor` which has erroneous behavior wrt gradients (could be either leaf or not leaf). Introduce `torch.nested.nested_tensor` and `torch.nested.as_nested_tensor` in the vein of `torch.tensor` and `torch.as_tensor`. Done in nested `__init__.py` for now but can move to pybind in future (when we want to load from numpy/nested lists ).

Discussed offline with @cpuhrsch and pybind constructor (https://github.com/pytorch/pytorch/pull/85536) was more gnarly than expected, so we can move to that when we do need loading from numpy etc.

Differential Revision: [D39806622](https://our.internmc.facebook.com/intern/diff/D39806622)
Pull Request resolved: https://github.com/pytorch/pytorch/pull/85593
Approved by: https://github.com/drisspg, https://github.com/cpuhrsch
2022-09-28 20:15:02 +00:00
..
amd_build [ROCm] enable nvfuser (#82498) 2022-08-30 21:50:39 +00:00
autograd Add python nested_tensor and as_nested_tensor constructors in torch.nested (#85593) 2022-09-28 20:15:02 +00:00
bazel_tools [bazel] Add --config=shell for easier debugging (#79350) 2022-06-25 02:00:40 +00:00
build_defs Consolidate all python targets in the tools folder (#80408) 2022-06-29 23:27:47 +00:00
code_analyzer Apply ufmt linter to all py files under tools (#81285) 2022-07-13 07:59:22 +00:00
code_coverage Fix use-dict-literal lint (#83718) 2022-08-24 00:26:46 +00:00
config
coverage_plugins_package Apply ufmt linter to all py files under tools (#81285) 2022-07-13 07:59:22 +00:00
fast_nvcc Apply ufmt linter to all py files under tools (#81285) 2022-07-13 07:59:22 +00:00
gdb Apply ufmt linter to all py files under tools (#81285) 2022-07-13 07:59:22 +00:00
iwyu Apply ufmt linter to all py files under tools (#81285) 2022-07-13 07:59:22 +00:00
jit [retake2][mobile] Fix lightweight dispatch OOM error by introducing selective build (#80791) 2022-07-15 18:04:25 +00:00
linter Revert "Revert "Add a lint rule for torch/csrc/util/pybind.h include (#82552)"" (#82599) 2022-08-02 19:37:02 +00:00
lite_interpreter Apply ufmt linter to all py files under tools (#81285) 2022-07-13 07:59:22 +00:00
lldb Run Black on all of tools/ 2022-04-20 17:29:41 +00:00
onnx [ONNX] Rename constants for clarity (#84645) 2022-09-09 01:22:14 +00:00
pyi Delete functorch's monkeypatching (#85430) 2022-09-22 18:47:12 +00:00
rules [AutoAccept][Codemod][FBSourceBuckFormatLinter] Daily arc lint --take BUCKFORMAT (#79692) 2022-06-16 17:01:17 +00:00
setup_helpers [Mobile] Fix The Build For Model Tracer (#84755) 2022-09-09 18:22:24 +00:00
shared Apply ufmt linter to all py files under tools (#81285) 2022-07-13 07:59:22 +00:00
stats mac circleci workflows (#82780) 2022-08-26 18:48:48 +00:00
test fix external codegen kernel error checking (#85029) 2022-09-17 04:08:09 +00:00
testing [ci] test_ops in parallel, ci tests log to file (#85528) 2022-09-23 20:45:20 +00:00
__init__.py
bazel.bzl move gen_aten and gen_aten_hip into shared build structure 2022-06-15 18:22:52 +00:00
BUCK.bzl Add torch.nested namespace (#84102) 2022-09-12 16:31:05 +00:00
BUCK.oss Consolidate all python targets in the tools folder (#80408) 2022-06-29 23:27:47 +00:00
build_libtorch.py Apply ufmt linter to all py files under tools (#81285) 2022-07-13 07:59:22 +00:00
build_pytorch_libs.py Apply ufmt linter to all py files under tools (#81285) 2022-07-13 07:59:22 +00:00
download_mnist.py Apply ufmt linter to all py files under tools (#81285) 2022-07-13 07:59:22 +00:00
extract_scripts.py Run Black on all of tools/ 2022-04-20 17:29:41 +00:00
gen_flatbuffers.sh Update generated header to use flatbuffer v1.12; (#71279) 2022-01-13 17:23:30 -08:00
gen_vulkan_spv.py [vulkan] Automatically generate shader layout from GLSL (#81715) 2022-07-20 01:57:59 +00:00
generate_torch_version.py Apply ufmt linter to all py files under tools (#81285) 2022-07-13 07:59:22 +00:00
generated_dirs.txt
git_add_generated_dirs.sh
git_reset_generated_dirs.sh
nightly.py Apply ufmt linter to all py files under tools (#81285) 2022-07-13 07:59:22 +00:00
nvcc_fix_deps.py Apply ufmt linter to all py files under tools (#81285) 2022-07-13 07:59:22 +00:00
pytorch.version
README.md [ci] delete old linter stuff 2022-05-11 07:40:44 +00:00
render_junit.py Apply ufmt linter to all py files under tools (#81285) 2022-07-13 07:59:22 +00:00
substitute.py move substitute lib to open source (#79093) 2022-06-08 23:00:47 +00:00
update_masked_docs.py [maskedtensor] port torch/_masked into torch/masked (#85515) 2022-09-26 23:41:13 +00:00
vscode_settings.py Run Black on all of tools/ 2022-04-20 17:29:41 +00: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.

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.
  • fast_nvcc - Mostly-transparent wrapper over nvcc that parallelizes compilation when used to build CUDA files for multiple architectures at once.
    • fast_nvcc.py - Python script, entrypoint to the fast nvcc wrapper.

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: