背景

有方案解决依赖分析算子dispatch流程,因此需要编译debug版本,方便跟踪dispatch流程。

环境准备

前人经验

git clone --recursive https://github.com/pytorch/pytorch
git submodule sync
# git submodule update --init --recursive (过程中可能因为网络问题,子仓下载失败,多试几次即可,配代理反而更慢), clone时已经增加次参数

编译命令

export DEBUG=1
export USE_CUDA=0 # 有助于减少环境依赖
python setup.py build develop

develop 模式的特点

develop 模式(也称为“可编辑模式”)不会将包复制到 Python 的 site-packages 目录中,而是创建一个指向源码目录的符号链接(symlink)。

Creating /home/xxxx/miniconda3/lib/python3.12/site-packages/torch.egg-link (link to .)

符号链接位置:
在 Python 的 site-packages 目录中会创建一个指向源码目录的 .egg-link 文件或符号链接。

示例路径:/path/to/python/env/lib/python3.8/site-packages/

运行以下命令检查 PyTorch 的安装路径:

python -c “import torch; print(torch.file)”
输出示例:

/path/to/pytorch/torch/init.py
如果路径指向源码目录,说明是以 develop 模式安装的。

卸载 develop 模式安装的包
进入 PyTorch 源码目录,运行以下命令:
python setup.py develop --uninstall
这会移除 site-packages 中的符号链接或 .egg-link 文件。

Logo

有“AI”的1024 = 2048,欢迎大家加入2048 AI社区

更多推荐