Exemple #1
0
 def build(self, commit: Commit):
     # checkout pytorch commit
     print(f"Checking out pytorch commit {commit.sha} ...",
           end="",
           flush=True)
     gitutils.checkout_git_commit(self.srcpath, commit.sha)
     print("done.")
     # checkout pytorch deps commit
     ctime = datetime.strptime(commit.ctime.split(" ")[0], "%Y-%m-%d")
     self.checkout_deps(ctime)
     # setup environment variables
     build_env = self.setup_build_env(os.environ.copy())
     # build pytorch
     print(f"Building pytorch commit {commit.sha} ...", end="", flush=True)
     # pytorch doesn't update version.py in incremental compile, so generate it manually
     command = "python tools/generate_torch_version.py --is_debug on"
     subprocess.check_call(command,
                           cwd=self.srcpath,
                           env=build_env,
                           shell=True)
     command = "python setup.py install &> /dev/null"
     subprocess.check_call(command,
                           cwd=self.srcpath,
                           env=build_env,
                           shell=True)
     print("done")
     self.build_install_deps(build_env)
Exemple #2
0
 def checkout_deps(self, cdate: datetime):
     for pkg in TORCHBENCH_DEPS:
         dep_commit = gitutils.get_git_commit_on_date(TORCHBENCH_DEPS[pkg], cdate)
         print(f"Checking out {pkg} commit {dep_commit} ...", end="", flush=True)
         assert dep_commit, "Failed to find the commit on {cdate} of {pkg}"
         assert gitutils.checkout_git_commit(TORCHBENCH_DEPS[pkg], dep_commit), "Failed to checkout commit {commit} of {pkg}"
         print("done.")
Exemple #3
0
 def build(self, commit: Commit):
     # checkout pytorch commit
     print(f"Checking out pytorch commit {commit.sha} ...", end="", flush=True)
     gitutils.checkout_git_commit(self.srcpath, commit.sha)
     print("done.")
     # checkout pytorch deps commit
     ctime = datetime.strptime(commit.ctime.split(" ")[0], "%Y-%m-%d")
     self.checkout_deps(ctime)
     # setup environment variables
     build_env = self.setup_build_env(os.environ.copy())
     # build pytorch
     print(f"Building pytorch commit {commit.sha} ...", end="", flush=True)
     # Check if version.py exists, if it does, remove it.
     # This is to force pytorch update the version.py file upon incremental compilation
     version_py_path = os.path.join(self.srcpath, "torch/version.py")
     if os.path.exists(version_py_path):
         os.remove(version_py_path)
     command = "python setup.py install"
     subprocess.check_call(command, cwd=self.srcpath, env=build_env, shell=True)
     print("done")
     self.build_install_deps(build_env)