TensorRT-LLM项目:Linux系统源码编译指南

TensorRT-LLM项目:Linux系统源码编译指南

【免费下载链接】TensorRT-LLM TensorRT-LLM provides users with an easy-to-use Python API to define Large Language Models (LLMs) and build TensorRT engines that contain state-of-the-art optimizations to perform inference efficiently on NVIDIA GPUs. TensorRT-LLM also contains components to create Python and C++ runtimes that execute those TensorRT engines. 【免费下载链接】TensorRT-LLM 项目地址: https://gitcode.com/GitHub_Trending/te/TensorRT-LLM

前言

TensorRT-LLM是NVIDIA推出的高性能LLM推理优化库,通过源码编译可以获得最佳性能表现。本文将详细介绍在Linux系统上从源码构建TensorRT-LLM的完整流程,包含两种构建方式及其适用场景分析。

环境准备

基础依赖

构建TensorRT-LLM需要以下基础环境:

  1. Docker环境(推荐使用NVIDIA官方容器工具链)
  2. Git LFS(用于管理大文件)
  3. 约63GB的磁盘空间(用于完整构建)

获取源码

# 安装Git LFS
apt-get update && apt-get -y install git git-lfs
git lfs install

# 克隆TensorRT-LLM仓库
git clone <TensorRT-LLM仓库地址>
cd TensorRT-LLM
git submodule update --init --recursive
git lfs pull

构建方式一:全自动构建(推荐初次使用)

特点

  • 单命令完成所有构建步骤
  • 适合快速部署场景
  • 简化了构建流程

执行命令

# 完整构建(支持所有GPU架构)
make -C docker release_build

# 限定GPU架构构建(减少编译时间)
make -C docker release_build CUDA_ARCHS="89-real;90-real"

运行容器

# 以root用户运行
make -C docker release_run

# 以本地用户运行
make -C docker release_run LOCAL_USER=1

构建方式二:分步构建(适合开发调试)

特点

  • 更灵活的构建过程
  • 便于调试和修改代码
  • 支持选择性编译

创建开发容器

# 构建开发镜像
make -C docker build

# 运行容器(支持本地用户)
make -C docker run LOCAL_USER=1

容器内构建步骤

完整构建(包含C++编译)
# 构建wheel包
python3 ./scripts/build_wheel.py

# 安装生成的wheel包
pip install ./build/tensorrt_llm*.whl

# 或使用可编辑安装(开发推荐)
pip install -e .
高级构建选项
  1. 清理构建目录:
python3 ./scripts/build_wheel.py --clean
  1. 指定CUDA架构:
python3 ./scripts/build_wheel.py --cuda_architectures "80-real;86-real"
  1. 包含C++基准测试:
python3 ./scripts/build_wheel.py --benchmarks
仅构建C++运行时
python3 ./scripts/build_wheel.py --cpp_only --clean

构建产物路径:

  • 主库:cpp/build/tensorrt_llm/libtensorrt_llm.so
  • 插件库:cpp/build/tensorrt_llm/plugins/libnvinfer_plugin_tensorrt_llm.so

仅Python构建(无需C++编译)

适用场景

  • 仅修改Python代码
  • 快速验证功能
  • 开发环境配置

执行命令

# 使用预编译库构建
TRTLLM_USE_PRECOMPILED=1 pip wheel . --no-deps --wheel-dir ./build

# 安装生成的wheel包
pip install ./build/tensorrt_llm*.whl

# 或使用可编辑安装
TRTLLM_USE_PRECOMPILED=1 pip install -e .

自定义预编译库位置

TRTLLM_PRECOMPILED_LOCATION=<自定义路径或URL> pip install -e .

技术要点解析

  1. ABI兼容性:TensorRT-LLM预编译wheel链接了PyTorch 2.7.0,使用新的CXX11 ABI。源码编译可以灵活选择ABI配置。

  2. GPU架构优化:通过--cuda_architectures参数可以针对特定GPU架构优化,显著提升目标设备性能。

  3. 增量编译:默认启用增量编译,加速开发迭代速度。

  4. C++运行时绑定:构建时自动生成Python绑定,可通过tensorrt_llm.bindings包访问C++运行时功能。

常见问题处理

  1. Docker IPC设置:必须设置--ipc=host参数,避免出现Bus error (core dumped)错误。

  2. 版本一致性:使用预编译库时,需确保与当前代码版本匹配,否则可能出现兼容性问题。

  3. 头文件包含:仅cpp/include目录下的头文件是稳定API,其他内部头文件可能变更。

结语

本文详细介绍了TensorRT-LLM在Linux系统上的源码编译方法,开发者可根据实际需求选择合适的构建方式。对于生产环境部署,推荐使用完整构建以获得最佳性能;开发调试时可选择分步构建或仅Python构建提高效率。

【免费下载链接】TensorRT-LLM TensorRT-LLM provides users with an easy-to-use Python API to define Large Language Models (LLMs) and build TensorRT engines that contain state-of-the-art optimizations to perform inference efficiently on NVIDIA GPUs. TensorRT-LLM also contains components to create Python and C++ runtimes that execute those TensorRT engines. 【免费下载链接】TensorRT-LLM 项目地址: https://gitcode.com/GitHub_Trending/te/TensorRT-LLM

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值