pytorch/tools
Zain Rizvi 7546972565 [BE] Refactoring test execution and improving comments (#99467)
Sharing code between the code that handles test results in parallel vs serial mode.

Note that the original version of this code had an inconsistency between the two versions where it would execute `print_to_stderr(err_message)` on every test that ran in parallel, but for serial tests it would only invoke `print_to_stderr(err_message)` if `continue_on_error` was also specified.  By sharing code, this PR changes that behavior to be consistent between the two modes.

Also adding some comments.

<!--
copilot:poem
-->
### <samp>🤖 Generated by Copilot at 029342c</samp>

> _Sing, O Muse, of the skillful coder who refined_
> _The PyTorch testing script, `run_test.py`, and shined_
> _A light on its obscure logic, with docstrings and comments_
> _And made it run more smoothly, with better error contents_
Pull Request resolved: https://github.com/pytorch/pytorch/pull/99467
Approved by: https://github.com/huydhn, https://github.com/malfet
2023-04-19 19:29:07 +00:00
..
amd_build Bump black version to 23.1.0 (#96578) 2023-03-15 06:27:59 +00:00
autograd Reland python ops (#99170) 2023-04-18 15:15:46 +00:00
bazel_tools
build_defs
code_analyzer [EdgeML] Remove dependency on all_mobile_model_configs.yaml from pt_operator_library BUCK rule (#99122) 2023-04-18 17:19:55 +00:00
code_coverage Fix typos under tools directory (#97779) 2023-03-30 08:21:35 +00:00
config
coverage_plugins_package
dynamo [dynamo 3.11] enable dynamo unittests in 3.11 (#98104) 2023-04-10 20:04:10 +00:00
gdb Fix typos under tools directory (#97779) 2023-03-30 08:21:35 +00:00
iwyu
jit
linter Convert logging f-strings to use % format, part five (#98765) 2023-04-11 13:17:59 +00:00
lite_interpreter [BE] Enable flake8-comprehension rule C417 (#97880) 2023-03-30 14:34:24 +00:00
lldb Add helpful pretty pretting summaries to torch for lldb debugging (#97101) 2023-03-20 01:27:44 +00:00
onnx Bump black version to 23.1.0 (#96578) 2023-03-15 06:27:59 +00:00
pyi Allow new_full's fill_value argument type to be complex (#91345) 2023-03-21 12:34:00 +00:00
rules
rules_cc
setup_helpers Fix visual studio generator (#98605) 2023-04-14 01:46:46 +00:00
shared
stats Change daily aggregates upload job to use sum and occurence counter instead of averages (#98359) 2023-04-05 16:31:58 +00:00
test Retry at test file level (#97506) 2023-03-31 18:36:53 +00:00
testing [BE] Refactoring test execution and improving comments (#99467) 2023-04-19 19:29:07 +00:00
__init__.py
bazel.bzl
BUCK.bzl Revert "Move functional collectives to the right namespace (#97793)" 2023-03-31 16:02:07 +00:00
BUCK.oss
build_libtorch.py
build_pytorch_libs.py
download_mnist.py
extract_scripts.py
gen_flatbuffers.sh
gen_vulkan_spv.py
generate_torch_version.py
generated_dirs.txt
git_add_generated_dirs.sh
git_reset_generated_dirs.sh
nightly.py Convert logging f-strings to use % format, part four (#98705) 2023-04-11 13:17:59 +00:00
nvcc_fix_deps.py
pytorch.version
README.md Remove fast_nvcc entry in README.md (#97624) 2023-03-28 16:23:09 +00:00
render_junit.py
substitute.py
update_masked_docs.py Bump black version to 23.1.0 (#96578) 2023-03-15 06:27:59 +00:00
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.

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: