mirror of
https://github.com/pytorch/pytorch.git
synced 2025-10-20 21:14:14 +08:00
Summary: Pull Request resolved: https://github.com/pytorch/pytorch/pull/76275 In preparation for addressing https://github.com/pytorch/pytorch/issues/73212 Diff was generated with: ``` git mv tools/codegen torchgen git grep -l 'tools.codegen' | xargs sed -i 's/tools.codegen/torchgen/g' sed -i "s/\${TOOLS_PATH}\/codegen/\${TORCH_ROOT}\/torchgen/g" caffe2/CMakeLists.txt ``` and a manual edits to: * tools/test/test_gen_backend_stubs.py * torchgen/build.bzl * torchgen/gen_backend_stubs.py aka this diff: ``` diff --git a/tools/test/test_gen_backend_stubs.py b/tools/test/test_gen_backend_stubs.py index 3dc26c6d2d..104054575e 100644 --- a/tools/test/test_gen_backend_stubs.py +++ b/tools/test/test_gen_backend_stubs.py @@ -9,7 +9,7 @@ from torchgen.gen_backend_stubs import run from torchgen.gen import _GLOBAL_PARSE_NATIVE_YAML_CACHE # noqa: F401 path = os.path.dirname(os.path.realpath(__file__)) -gen_backend_stubs_path = os.path.join(path, '../torchgen/gen_backend_stubs.py') +gen_backend_stubs_path = os.path.join(path, '../../torchgen/gen_backend_stubs.py') # gen_backend_stubs.py is an integration point that is called directly by external backends. # The tests here are to confirm that badly formed inputs result in reasonable error messages. diff --git a/torchgen/build.bzl b/torchgen/build.bzl index ed04e35a43..d00078a3cf 100644 --- a/torchgen/build.bzl +++ b/torchgen/build.bzl @@ -1,6 +1,6 @@ def define_targets(rules): rules.py_library( - name = "codegen", + name = "torchgen", srcs = rules.glob(["**/*.py"]), deps = [ rules.requirement("PyYAML"), @@ -11,6 +11,6 @@ def define_targets(rules): rules.py_binary( name = "gen", - srcs = [":codegen"], + srcs = [":torchgen"], visibility = ["//visibility:public"], ) diff --git a/torchgen/gen_backend_stubs.py b/torchgen/gen_backend_stubs.py index c1a672a655..beee7a15e0 100644 --- a/torchgen/gen_backend_stubs.py +++ b/torchgen/gen_backend_stubs.py @@ -474,7 +474,7 @@ def run( ) -> None: # Assumes that this file lives at PYTORCH_ROOT/torchgen/gen_backend_stubs.py - pytorch_root = pathlib.Path(__file__).parent.parent.parent.absolute() + pytorch_root = pathlib.Path(__file__).parent.parent.absolute() template_dir = os.path.join(pytorch_root, "aten/src/ATen/templates") def make_file_manager(install_dir: str) -> FileManager: ``` run_all_fbandroid_tests Test Plan: sandcastle Reviewed By: albanD, ngimel Differential Revision: D35770317 fbshipit-source-id: 153ac4a7fef15b1e750812a90bfafdbc8f1ebcdf (cherry picked from commit c6d485d1d4648fa1c8a4c14c5bf3d8e899b9b4dd)
57 lines
1.5 KiB
Bash
Executable File
57 lines
1.5 KiB
Bash
Executable File
#!/usr/bin/env bash
|
|
|
|
# This script can also be used to test whether your diff changes any codegen output.
|
|
#
|
|
# Run it before and after your change:
|
|
# .jenkins/pytorch/codegen-test.sh <baseline_output_dir>
|
|
# .jenkins/pytorch/codegen-test.sh <test_output_dir>
|
|
#
|
|
# Then run diff to compare the generated files:
|
|
# diff -Naur <baseline_output_dir> <test_output_dir>
|
|
|
|
set -eu -o pipefail
|
|
|
|
if [ "$#" -eq 0 ]; then
|
|
# shellcheck disable=SC2034
|
|
COMPACT_JOB_NAME="${BUILD_ENVIRONMENT}"
|
|
# shellcheck source=./common.sh
|
|
source "$(dirname "${BASH_SOURCE[0]}")/common.sh"
|
|
OUT="$(dirname "${BASH_SOURCE[0]}")/../../codegen_result"
|
|
else
|
|
OUT=$1
|
|
fi
|
|
|
|
set -x
|
|
|
|
rm -rf "$OUT"
|
|
|
|
# aten codegen
|
|
python -m torchgen.gen \
|
|
-d "$OUT"/torch/share/ATen
|
|
|
|
# torch codegen
|
|
python -m tools.setup_helpers.generate_code \
|
|
--install_dir "$OUT"
|
|
|
|
# pyi codegen
|
|
mkdir -p "$OUT"/pyi/torch/_C
|
|
mkdir -p "$OUT"/pyi/torch/nn
|
|
python -m tools.pyi.gen_pyi \
|
|
--native-functions-path aten/src/ATen/native/native_functions.yaml \
|
|
--deprecated-functions-path tools/autograd/deprecated.yaml \
|
|
--out "$OUT"/pyi
|
|
|
|
# autograd codegen (called by torch codegen but can run independently)
|
|
python -m tools.autograd.gen_autograd \
|
|
"$OUT"/torch/share/ATen/Declarations.yaml \
|
|
aten/src/ATen/native/native_functions.yaml \
|
|
"$OUT"/autograd \
|
|
tools/autograd
|
|
|
|
# annotated_fn_args codegen (called by torch codegen but can run independently)
|
|
mkdir -p "$OUT"/annotated_fn_args
|
|
python -m tools.autograd.gen_annotated_fn_args \
|
|
aten/src/ATen/native/native_functions.yaml \
|
|
"$OUT"/annotated_fn_args \
|
|
tools/autograd
|