pytorch/tools
Nikolay Korovaiko d332724071 Python Bindings for SymInts (#78135)
This PR adds support for `SymInt`s in python. Namely,
* `THPVariable_size` now returns `sym_sizes()`
* python arg parser is modified to parse PyObjects into ints and `SymbolicIntNode`s
* pybind11 bindings for `SymbolicIntNode` are added, so size expressions can be traced
* a large number of tests added to demonstrate how to implement python symints.
Pull Request resolved: https://github.com/pytorch/pytorch/pull/78135
Approved by: https://github.com/ezyang
2022-06-14 02:17:59 +00:00
..
amd_build
autograd Python Bindings for SymInts (#78135) 2022-06-14 02:17:59 +00:00
build_defs [Test] create shared targets for xplat aten (#78345) 2022-06-08 22:20:03 +00:00
code_analyzer Re-land BUCK build for pytorch mobile (#77612) 2022-05-17 00:30:13 +00:00
code_coverage [codemod][usort] apply import merging for fbcode (1 of 11) (#78973) 2022-06-06 23:44:28 +00:00
config
coverage_plugins_package
fast_nvcc
gdb
iwyu
jit [retake][mobile] Fix lightweight dispatch OOM error by introducing selective build 2022-06-13 17:23:02 +00:00
linter Add option to skip binaries when doing pip install for lintrunner (#78668) 2022-06-02 20:50:57 +00:00
lite_interpreter rename BUILD.buck to BUCK.oss (#78792) 2022-06-03 07:23:16 +00:00
lldb
onnx [ONNX] Refactor to remove inline imports - attempt 2 (#77448) 2022-05-16 14:44:24 +00:00
pyi ENH: Add a force argument to numpy() (#78564) 2022-06-06 14:14:17 +00:00
rules turn on -Werror=extra in Bazel 2022-06-13 21:07:31 +00:00
setup_helpers [retake][mobile] Fix lightweight dispatch OOM error by introducing selective build 2022-06-13 17:23:02 +00:00
shared
stats [ci] convert empty s3 artifacts from error to warning 2022-06-13 18:46:04 +00:00
test [ci] write test suites to rockset 2022-06-10 15:38:09 +00:00
testing [ci] remove TD + test specification code from run_test.py 2022-06-13 16:09:53 +00:00
__init__.py
bazel.bzl
build_libtorch.py
build_pytorch_libs.py
cpuinfo_target_definition.bzl Add all bzl files per D36874458 2022-06-06 09:40:19 -07:00
download_mnist.py
extract_scripts.py
gen_flatbuffers.sh
generate_torch_version.py tools: Add ability to grab release versions 2022-06-01 17:19:17 +00:00
generated_dirs.txt
git_add_generated_dirs.sh
git_reset_generated_dirs.sh
miniz_target_definition.bzl Add all bzl files per D36874458 2022-06-06 09:40:19 -07:00
nightly.py
nvcc_fix_deps.py
perf_kernel_defs.bzl Add all bzl files per D36874458 2022-06-06 09:40:19 -07:00
pytorch.version
README.md
render_junit.py
sgx_aten_target_definitions.bzl Add all bzl files per D36874458 2022-06-06 09:40:19 -07:00
sgx_caffe2_target_definitions.bzl Add all bzl files per D36874458 2022-06-06 09:40:19 -07:00
sgx_target_definitions.bzl Add all bzl files per D36874458 2022-06-06 09:40:19 -07:00
substitute.py move substitute lib to open source (#79093) 2022-06-08 23:00:47 +00:00
target_definitions.bzl Add all bzl files per D36874458 2022-06-06 09:40:19 -07:00
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.
  • 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: