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。
在pip包一览表中搜索,确认目标包是否存在及可用版本。
筛选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 444950pip 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