Pytorch编译
Conda环境创建
查看官网说明,python版本可以在3.9和3.12之间任选:
创建一个3.12的conda环境:
conda create -n pytorch python=3.12
源码下载
CUDA版本号
本地的CUDA版本号是12.4:
Pytorch版本号
查询官网:Previous PyTorch Versions
可以看到2.6.0是一个可用的版本号。
源代码下载
clone源代码:
git clone https://github.com/pytorch/pytorch.git
clone submodule:
cd pytorch
git submodule update --init --recursive
查看下载的submodule:
查看分支:
git remote show origin | grep 2.6
可以找到2个相关的分支:
orig/release/2.6:2.6版本的初始分支。
release/2.6:在2.6版本的初始分支基础上,合入了一些bugfix和小改进。
切换到release/2.6分支:
git checkout -b release/2.6 origin/release/2.6
查看git log:
依赖安装
gcc
gcc toolchain需要大于9.4.0:
查看本地的gcc版本号:
cuDNN
查看本地的cuDNN版本号:
cat /usr/local/cuda/include/cudnn_version.h | grep CUDNN_MAJOR -A 2
公共依赖
构建工具:
conda install cmake ninja
其他依赖:
pip install -r requirements.txt
Intel数学库:
pip install mkl-static mkl-include
magma库:
conda install -c pytorch magma-cuda124 # 改成自己的CUDA版本号
源码编译
设置C++ ABI:
export _GLIBCXX_USE_CXX11_ABI=1
设置cmake prefix:
export CMAKE_PREFIX_PATH="${CONDA_PREFIX:-'$(dirname $(which conda))/../'}:${CMAKE_PREFIX_PATH}"
启动编译:
python setup.py develop
编译结果验证:
pip list