在PAI中使用PPU PIP源(v2.0.x)

更新时间:
复制 MD 格式

PPU PIP源是为SAIL产品优化的Python软件包仓库,通过pip install安装。适用于基于PPU SDK搭建生产环境的场景。

1. PPU PIP源简介

  • PPU PIP源提供为SAIL产品优化的框架和基于PPU SDK重编译的开源库,支持用户通过pip install安装软件包,帮助快速搭建生产环境。若所需包不在PPU PIP源内,默认从官方PYPI源拉取。

  • PPU PIP源上的软件包随PPU SDK正式发布,并每周持续更新。

  • PIP包清单随PPU SDK v2.0.x迭代持续更新。

2. PIP包一览表

PIP包清单列出PPU SDK v2.0 release的全部pip安装包。其中“ce”是基于SAIL SDK编译的开源框架安装包,“oe”是针对SAIL产品做过性能优化的框架安装包。

3. 命名规则解析

3.1 PIP源地址命名规则(老 OS/CUDA 绑定模式)

以 https://art-pub.eng.t-head.cn/artifactory/api/pypi/ptgai-pypi_ppu_ubuntu_cu118_index/simple/ 为例:

https://art-pub.eng.t-head.cn/artifactory/api/pypi/ptgai-pypi_ppu_

ubuntu_

cu118_

index/simple/

源固定地址

目前只区分ubuntu和alios,不区分OS版本号

表示cuda 11.8

固定格式

3.2 pip源地址命名规则(新地址)

新地址不再包含OS/CUDA信息。从SAIL PIP 1.7.x起,PIP软件包全部上传到同一地址。安装时PIP包自动识别生产环境,安装与CUDA、Torch、Python匹配的包。

https://art-pub.eng.t-head.cn/artifactory/api/pypi/pypi_index/simple

相比老的OS/CUDA绑定模式,新源地址更简洁。

过渡期内,老的OS/CUDA绑定模式地址仍可拉取新发布的包,按需选择即可。

3.3 PIP源安装指令命名规则

以 pip install apex==25.4+ppu2.0.0.ce 为例:

25.4

+ppu

2.0.0

.ce 或者 .oe

框架版本号

固定格式

发布版本

ce:开源(Community Edition)

oe:针对PPU优化(Optimized Edition)

  • ce、oe缺省:不指定包类型时,直接 pip install apex==25.4+ppu2.0.0 也能安装成功。若同一配置下开源包与优化包并存,默认安装优化版。

  • 发布版本缺省:不指定发布版本时,直接 pip install apex==25.4,默认安装SAIL PIP源上最新发布的apex 25.4包。

  • 版本号缺省:不指定版本号时,直接 pip install apex,默认安装SAIL PIP源上最新版本apex,即apex 25.9。

4. 实际应用示例

4.1 指定SAIL SDK 2.0.0版本

应用场景:在SAIL SDK 2.0.0发布的docker镜像 llm:pytorch2.7.0-ubuntu24.04-cuda12.8-sglang0.5.2-py312 中安装apex 25.4。

  1. 在pip包一览表中搜索,确认目标包是否存在及可用版本。

  2. 筛选apex 25.4,再按ubuntu24.04、cuda12.8、pytorch2.7.0、python3.12筛选对应安装指令。

pip install apex==25.9+ppu2.0.0 -i https://art-pub.eng.t-head.cn/artifactory/api/pypi/pypi_index/simple

注意:需手动加上+ppu2.0.0!

5. PIP源与SDK的兼容性

SDK 2.0新增对ZW890 device的支持。编译器可在编译时生成多代Device Binary,device Fatbin文件格式版本随之迭代,兼容性有所变化。

SDK 2.0与SDK 1.7.x、1.6.x、1.5.x保持编程API接口兼容。但Device二进制格式和库文件兼容性方面:

  • 后向兼容

在旧版本SDK(1.7.x、1.6.x、1.5.x)上编译的whl产物可在SDK v2.0环境正常执行;

  • 前向兼容

在SDK 2.0上编译的whl产物不能在旧版本SDK(1.7.x、1.6.x、1.5.x)环境正常执行;

SDK 2.0与SDK 1.4及之前版本不兼容。

6. 测试平台

测试平台表示whl包已在哪些产品上验证,并非仅适用于该产品。目前产品包括BTV1.0/1.1和BTV1.5。

7. 常见问题

  • 遇到以下pip源hash值错误时,使用--no-cache参数解决。

    ERROR: THESE PACKAGES DO NOT MATCH THE HASHES FROM THE REQUIREMENTS FILE. If you have updated the package versions, please update the hashes. Otherwise, examine the package contents care
    ly; someone may have
    tampered with them.
    torch==1.9.1+ppu202411231210.ce from https://art.eng.t-head.c/artifactory/api/pypi/ptgai-pypi_ppu_ubunty_cuf14_index/torch/1.9.132Bppu202411231210.ce/torch-1.9.182Bppu202411231210.c
    38-cp38-linux x86 64.whl#sha256=b43caeeaa6458f847451ac9ca7d326e29ff202172268fef98cc366f7dd8330c3
    Expected sha256 b43caeeaa6458f847451ac9ca7d326e29ff202172268fef98cc366f7dd8330c3
    Got
    87e15c63ecfc560bdbd5259ba34db0608ffd6b9ba40c3885ce5aab4966f18b72
    444950
    pip install --no-cache-dir apex==25.9+ppu2.0.0

    也可用pip cache purge清除系统中全部pip缓存。

    pip cache purge
  • 已安装torch但仍报错“Import torch failed: No module named 'torch'”时,安装时加上--no-build-isolation参数。

    pip install --no-build-isolation apex==25.9+ppu2.0.0