已合并
doc: readme.md 补充 torch_env_patch.sh 使用说明 #38071
doc: readme.md 补充 torch_env_patch.sh 使用说明 #38071
已合并
kerer-sk创建于 6月10日
1 个文件变更+41-8
Mtest_upstream/readme.md+41-8
@@ -11,31 +11,64 @@
11```text11```text
12 pytorch/ # PyTorch 源码根目录12 pytorch/ # PyTorch 源码根目录
13 ├─ ...(其他 PyTorch 原生文件/目录)13 ├─ ...(其他 PyTorch 原生文件/目录)
14- └─ test_upstream/ # 补丁目录14+ └─ test_upstream/ # 补丁目录
15- ├─ apply_test_patch.sh # 批量应用脚本15+ ├─ apply_test_patch.sh # 源码测试 patch 批量应用脚本
16- ├─ *.patch # 补丁文件(支持子目录嵌套)16+ ├─ torch_env_patch.sh # 环境 torch 包 patch 应用脚本
17- ├─ ...(其他补丁子目录)17+ ├─ test/ # 源码测试用例 patch 文件
18+ ├─ torch/ # 环境 torch 安装包 patch 文件
19+ └─ ...(其他补丁子目录)
18```20```
19 21 
22+## 脚本说明
23+ 
24+本目录包含两类 patch,分别由不同脚本负责应用:
25+ 
26+| 脚本 | patch 目录 | 应用目标 |
27+|------|-----------|---------|
28+| `apply_test_patch.sh` | `test/` | PyTorch 源码中的测试文件 |
29+| `torch_env_patch.sh` | `torch/` | Python 环境中安装的 torch 包 |
30+ 
31+两个脚本相互独立,互不干扰。
32+ 
20## 环境要求33## 环境要求
21 34 
22-仅需安装git即可35+- `apply_test_patch.sh`:仅需安装 git
36+- `torch_env_patch.sh`:需要 Python 环境已安装 torch 包
23 37 
24## 使用方法38## 使用方法
25 39 
26-1. 将本仓库的test_upstream文件夹整体复制到本地的PyTorch官方仓库中40+### apply_test_patch.sh —— 源码测试 patch
27 41 
28-2. 运行脚本文件42+ `test/` 目录下的 patch 应用到 PyTorch 源码中的测试文件
43+ 
44+1. 将本仓库的 test_upstream 文件夹整体复制到 PyTorch 官方仓库中
45+2. 运行脚本:
29 46 
30```bash47```bash
31cd test_upstream48cd test_upstream
32./apply_test_patch.sh49./apply_test_patch.sh
33```50```
34 51 
35-脚本执行说明:自动定位 PyTorch 根目录,递归扫描所有 .patch文件,按文件名排序强制应用,冲突部分生成 .rej 文件.52+脚本自动定位 PyTorch 根目录,递归扫描 `test/` 目录下所有 .patch/.diff 文件,按文件名排序强制应用,冲突部分生成 .rej 文件
53+ 
54+### torch_env_patch.sh —— 环境 torch 包 patch
55+ 
56+`torch/` 目录下的 patch 应用到 Python 环境中已安装的 torch 包(如 site-packages/torch)。
57+ 
58+1. 确保 Python 环境已安装 torch 包
59+2. 运行脚本:
60+ 
61+```bash
62+cd test_upstream
63+./torch_env_patch.sh [--python=<version>]
64+```
65+ 
66+脚本自动定位 torch 包的安装路径,将 `torch/` 目录下的 patch 应用到对应文件。
36 67 
37## 注意事项68## 注意事项
38 69 
39- 所有补丁仅适配 PyTorch tags/v2.7.1,其他版本将导致应用失败,务必提前校验版本。70- 所有补丁仅适配 PyTorch tags/v2.7.1,其他版本将导致应用失败,务必提前校验版本。
40- test_upstream 目录需整体复制至 PyTorch 根目录。71- test_upstream 目录需整体复制至 PyTorch 根目录。
72+- `apply_test_patch.sh` 仅应用 `test/` 下的 patch 到源码,不会触碰 `torch/` 目录。
73+- `torch_env_patch.sh` 仅应用 `torch/` 下的 patch 到安装后的 torch 包,不会触碰 `test/` 目录。
41- 生成 .rej 冲突文件时,需手动解决冲突后重新执行脚本。74- 生成 .rej 冲突文件时,需手动解决冲突后重新执行脚本。