源码编译构建
获取TensorFlow源码,构建Python wheel包前需要配置CUDA环境,然后安装构建产物,配置运行库路径。
- 获取TensorFlow 2.21.0源码。
1git clone --recursive --branch v2.21.0 https://github.com/tensorflow/tensorflow.git
- 配置CUDA构建环境。
1 2 3 4 5 6 7
cd tensorflow export PYTHON_BIN_PATH=$(command -v python3) export TF_NEED_CUDA=1 export TF_CUDA_COMPUTE_CAPABILITIES=8.0 export CUDA_HOME=/usr/local/cuda export PATH=${CUDA_HOME}/bin:${PATH} export LD_LIBRARY_PATH=${CUDA_HOME}/lib64:${LD_LIBRARY_PATH:-}
- 生成构建配置。
1python3 configure.py - 构建Python wheel包。
1bazelisk build --config=opt --config=cuda //tensorflow/tools/pip_package:wheel
- 安装构建产物。
1python3 -m pip install "bazel-bin/tensorflow/tools/pip_package/wheel_house/tensorflow-*.whl[and-cuda]"
- 配置NVIDIA pip包安装的CUDA运行库路径。
1 2 3 4 5 6 7 8 9 10 11 12
export LD_LIBRARY_PATH=/usr/lib64:\ /usr/local/lib/python3.11/site-packages/nvidia/cublas/lib:\ /usr/local/lib/python3.11/site-packages/nvidia/cuda_cupti/lib:\ /usr/local/lib/python3.11/site-packages/nvidia/cuda_nvrtc/lib:\ /usr/local/lib/python3.11/site-packages/nvidia/cuda_runtime/lib:\ /usr/local/lib/python3.11/site-packages/nvidia/cudnn/lib:\ /usr/local/lib/python3.11/site-packages/nvidia/cufft/lib:\ /usr/local/lib/python3.11/site-packages/nvidia/curand/lib:\ /usr/local/lib/python3.11/site-packages/nvidia/cusolver/lib:\ /usr/local/lib/python3.11/site-packages/nvidia/cusparse/lib:\ /usr/local/lib/python3.11/site-packages/nvidia/nccl/lib:\ /usr/local/lib/python3.11/site-packages/nvidia/nvjitlink/lib:${LD_LIBRARY_PATH:-}
父主题: 开发指南