重新编译 libtorch

  • 切换到 gcc12 source thirdparty/blade/gcc12
  • 安装 cmake(cmake version 3.28.1)
  • 安装 python (Python 3.10.14)
    • 安装部分依赖:pip install pyyaml
  • 拉取pytorch 代码(git clone —recursive https://github.com/pytorch/pytorch.git -b v2.1.0)
  • python3 tools/build_libtorch.py --rerun-cmake(触发编译)
  • 预期在 torch 目录有相关构建数据(应该把 include 和 lib 弄出来就行)

CPU:

export _GLIBCXX_USE_CXX11_ABI=1
export USE_CUDA=0          # 如需 CUDA 改为 1,并设置 CUDA_HOME
export USE_MKLDNN=1        # 如需最小化体积可设 0
export USE_XNNPACK=0       # 服务器侧可关掉
export BUILD_TEST=0
export USE_FBGEMM=1
export USE_QNNPACK=0
export USE_PYTHON=0        # 只要 C++ 发行版则关掉
export MAX_JOBS=$(nproc)
export BUILD_TEST=0 # 不编译test

GPU: 安装 cuda:wget -O - https://mirrors.tencent.com/repository/generic/raskit/init/cuda_init.sh | bash

export _GLIBCXX_USE_CXX11_ABI=1
export USE_CUDA=1          # 如需 CUDA 改为 1,并设置 CUDA_HOME
export USE_MKLDNN=1        # 如需最小化体积可设 0
export USE_FBGEMM=1
export MAX_JOBS=$(nproc)
export CUDA_HOME=/data/cuda/cuda-12.5
export PATH=/data/cuda/cuda-12.5/bin:$PATH                                 
export LD_LIBRARY_PATH=/data/cuda/cuda-12.5/lib64:$LD_LIBRARY_PATH
export CUDA_NVCC_EXECUTABLE=/data/cuda/cuda-12.5/bin/nvcc
export TORCH_CUDA_ARCH_LIST="7.0;7.5;8.0;8.6;8.9;9.0"
export USE_XNNPACK=0       # 服务器侧可关掉
export BUILD_TEST=0
export USE_QNNPACK=0
export USE_PYTHON=0        # 只要 C++ 发行版则关掉
export BUILD_TEST=0 # 不编译test

bazel 本地验证,使用 local_repo 替代 git_repo

links:: SilverTorch调研