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)
74 lines
1.6 KiB
Python
74 lines
1.6 KiB
Python
import subprocess
|
|
import sys
|
|
import os
|
|
from typing import List
|
|
|
|
|
|
def run_cmd(cmd: List[str]) -> None:
|
|
print(f"Running: {cmd}")
|
|
result = subprocess.run(
|
|
cmd,
|
|
stdout=subprocess.PIPE,
|
|
stderr=subprocess.PIPE,
|
|
)
|
|
stdout, stderr = (
|
|
result.stdout.decode("utf-8").strip(),
|
|
result.stderr.decode("utf-8").strip(),
|
|
)
|
|
print(stdout)
|
|
print(stderr)
|
|
if result.returncode != 0:
|
|
print(f"Failed to run {cmd}")
|
|
exit(1)
|
|
|
|
|
|
def run_timed_cmd(cmd: List[str]) -> None:
|
|
run_cmd(["time"] + cmd)
|
|
|
|
|
|
def update_submodules() -> None:
|
|
run_cmd(["git", "submodule", "update", "--init", "--recursive"])
|
|
|
|
|
|
def gen_compile_commands() -> None:
|
|
os.environ["USE_NCCL"] = "0"
|
|
os.environ["USE_DEPLOY"] = "1"
|
|
os.environ["CC"] = "clang"
|
|
os.environ["CXX"] = "clang++"
|
|
run_timed_cmd([sys.executable, "setup.py", "--cmake-only", "build"])
|
|
|
|
|
|
def run_autogen() -> None:
|
|
run_timed_cmd(
|
|
[
|
|
sys.executable,
|
|
"-m",
|
|
"torchgen.gen",
|
|
"-s",
|
|
"aten/src/ATen",
|
|
"-d",
|
|
"build/aten/src/ATen",
|
|
"--per-operator-headers",
|
|
]
|
|
)
|
|
|
|
run_timed_cmd(
|
|
[
|
|
sys.executable,
|
|
"tools/setup_helpers/generate_code.py",
|
|
"--native-functions-path",
|
|
"aten/src/ATen/native/native_functions.yaml",
|
|
"--gen_lazy_ts_backend",
|
|
]
|
|
)
|
|
|
|
|
|
def generate_build_files() -> None:
|
|
update_submodules()
|
|
gen_compile_commands()
|
|
run_autogen()
|
|
|
|
|
|
if __name__ == "__main__":
|
|
generate_build_files()
|