希姆计算STCP920快速安装指南
版本历史
版本 | 作者 | 日期 | 说明 |
---|---|---|---|
V1.4.0 | 希姆计算 | 2022-04-29 | - Model Zoo不绑定TensorTurbo,移除Model Zoo内容。 - 更新软件版本。 |
V1.3.1 | 希姆计算 | 2022-04-18 | 更新硬件规格描述、图片。 |
V1.3.0 | 希姆计算 | 2022-03-31 | - 更新软件版本描述。 - 本篇仅涉及安装,改名为希姆计算STCP920快速安装指南。 |
V1.2.0 | 希姆计算 | 2022-02-28 | 优化整篇架构,版本号对齐TensorTurbo的发版。 |
V1.0.5 | 希姆计算 | 2022-01-05 | 更新安装TensorTurbo章节中attrs版本需求。 |
V1.0.4 | 希姆计算 | 2021-12-27 | 将配置环境变量步骤从安装HPE章节调整到安装TensorTurbo章节,并增加pip最低版本的要求。 |
V1.0.3 | 希姆计算 | 2021-12-09 | 更新安装HPE章节中的配置环境变量步骤。 |
V1.0.2 | 希姆计算 | 2021-11-15 | 更新安装TensorTurbo章节中的Model Zoo用例。 |
V1.0.1 | 希姆计算 | 2021-11-10 | 修订安装TensorTurbo章节中对Python版本的要求。 |
V1.0.0 | 希姆计算 | 2021-10-01 | 初始版本。 |
概述
STCP920是希姆计算推出的一款AI推理卡,搭配一颗STCP920处理器,用于集成到各类服务器中快速扩展您在云端的推理能力,让您在图像视频分析、人脸识别、自然语言处理等场景中获得更好的推理性能。
STCP920的外观图如下:
硬件规格
STCP920详细的硬件规格如下:
单宽、3/4长、全高(268.44mm × 111.15mm)。
整板功耗160W。
采用被动散热,需要系统风扇提供冷却风量。
支持标准PCIe 4.0 × 16接口。
提供一个PCIe 8-Pin的电源接口。该电源接口的管脚排序及定义如下:
安装硬件
安全须知
为确保人身安全和设备安全,请务必:
保持服务器以及周围工作区域清洁无尘土。
在打开服务器外壳前拔下电源线。
除保持环境清洁及操作前断电外,还需要注意静电放电ESD(Electro-Static Discharge)。在安装STCP920时操作不当可能因ESD损坏电子组件,并导致设备整体故障或间歇故障。进行拆卸和更换组件操作时,请始终遵循防ESD流程,包括但不限于:
确保佩戴ESD腕带或踝带,且与皮肤接触良好。将腕带或踝带的设备端连接到底座上未涂漆的金属表面。
避免让STCP920接触您的衣物。腕带或踝带只能防止身体产生的ESD影响电子组件,但无法防止衣物产生的ESD。
拿起STCP920时只能接触其托架或边缘,避免接触印刷电路板或连接器。
将STCP920放在防静电的表面上,例如套件中提供的防静电袋。
如需退还STCP920,请立即将其放入防静电袋内。
准备工作
在开始安装STCP920前,请了解其硬件规格并完成准以下准备工作:
预留安装的最小可用空间,即至少单宽、3/4长、全高(268.44mm × 111.15mm)的空间。
确保服务器支持PCIe 4.0 × 16接口。
确保PCIe接口的输入电压和输入电流满足要求。要求如下:
PCIe接口 | 最小电压 | 正常电压 | 最大电压 | 峰值电流需求 |
---|---|---|---|---|
PCIe Edge Connecter(12V) | 11.04V | 12V | 12.96V | 0.5A |
PCIe 8-Pin Connecter(12V) | 11.04V | 12V | 12.96V | 13A |
PCIe Edge Connecter(3.3V) | 3.0V | 3.3V | 3.6V | 0.3A |
确保服务器满足冷却风量要求。由于STCP920采用被动散热,为保证工作在安全温度范围,风量要求如下:
吹风方向
吸风方向
说明:更详细的散热规格说明,请参见STCP920 AI**推理卡产品手册。
安装STCP920
关闭服务器并拔下电源线。
打开服务器外壳,在主板上找到待安装STCP920的PCIe 4.0 × 16插槽。
说明:必要时移除该PCIe 4.0 × 16插槽相邻的PCIe插槽盖。
将STCP920插入PCIe 4.0 × 16插槽,并连接PCIe 8-Pin的电源接口和主板,使用服务器内的PCIe 8-Pin电源插头连接到STCP920的外接电源插座即可。
为服务器装上外壳。
为服务器连接电源线并启动服务器。
警告:STCP920采用被动散热,在启动服务器前请再次确认STCP920上有足够的冷却风量通过。如果不能确保冷却风量要求,上电后可能导致STCP920损坏。在使用过程中STCP920可能发热,请及时关注并谨慎处理过热的情况。
验证是否已成功安装STCP920。
执行以下命令检查STCP920的安装状态:
$ sudo lspci -vd 23e2:
回显设备信息则说明已成功安装STCP920,且操作系统已发现设备。示例输出如下:
01:00.0 Non-VGA unclassified device: Device 23e2:0100 Subsystem: Device 23e2:0000 Flags: fast devsel, IRQ 255 Memory at d0000000 (64-bit, non-prefetchable) [disabled] [size=128M] Memory at d8000000 (64-bit, non-prefetchable) [disabled] [size=32M] Memory at da000000 (64-bit, non-prefetchable) [disabled] [size=1M] Capabilities: <access denied>
如果该服务器在安装硬件前就已经安装过HPE驱动,则回显的设备信息略有区别。示例输出如下:
01:00.0 Non-VGA unclassified device: Device 23e2:0100 Subsystem: Device 23e2:0000 Flags: bus master, fast devsel, latency 0, IRQ 136 Memory at d0000000 (64-bit, non-prefetchable) [size=128M] Memory at d8000000 (64-bit, non-prefetchable) [size=32M] Memory at da000000 (64-bit, non-prefetchable) [size=1M] Capabilities: <access denied> Kernel driver in use: stream-computing
安装软件
硬件安装完成后,您需要在服务器上安装配套软件,以便使用STCP920加速推理。配套软件包括驱动软件HPE、AI编译器TensorTurbo等,仅支持在Linux环境中使用配套软件,其中HPE对操作系统的要求如下:
Debian 10、Debian 9
Ubuntu 20.04、Ubuntu 18.04
说明:建议的Linux内核版本、glibc版本,请参见希姆计算HPE安装指南。
软件版本
希姆计算不断优化HPE和TensorTurbo,致力于让您在希姆硬件获得更好的推理性能。TensorTurbo版本对HPE版本的依赖关系如下所示:
TensorTurbo版本 | HPE版本 |
---|---|
V1.4.0 | V1.2.2 |
说明:请联系希姆计算的销售人员获取配套软件的安装包。
安装HPE
确认系统已安装内核版本对应的kernel headers。
安装HPE时要求系统内核版本和kernel headers相匹配,例如,系统内核版本为5.4.0-77,则需要安装5.4.0-77的kernel headers。在Debian、Ubuntu系统中,您可以执行以下命令安装kernel headers:
$ sudo apt-get install linux-headers-$(uname -r)
将HPE安装包复制到服务器。
HPE安装包分为完整功能版和mini版,完整功能版支持使用TensorTurbo对模型进行编译并在NPU上运行,mini版则仅支持拿已有TensorTurbo的编译结果在NPU上运行。命名格式示例如下:
完整功能版:
hpe-repo-{OS}-{HPE version}-local_{detailed HPE version}_amd64.deb
mini版:
mini-hpe-repo-{OS}-{HPE version}-local_{detailed HPE version}_amd64.deb
在HPE安装包所在目录执行安装命令。
以在Ubuntu18.04中安装完整功能版的HPE V1.1.0为例:
$ sudo dpkg -i hpe-repo-ubuntu1804-1-1-local_1.1.0_amd64.deb $ sudo apt-key add /var/hpe-repo-ubuntu1804-1-1-local/hpe.pub $ sudo apt update $ sudo apt install hpe -y
验证是否已成功安装HPE。
查看stc模块。示例回显信息如下:
$ lsmod | grep stc stc 352256 0
查看hpe目录及安装的文件。示例回显信息如下:
$ ls /usr/local/hpe/ bin example include lib libexec modules riscv32npu share version.txt
说明:回显stc模块的信息且hpe目录下出现安装的文件,则表示已成功安装HPE,但具体内容可能随HPE版本不同而变化。
试用HPE。
进入HPE的用例目录并运行hello_world用例。如果HPE已正常运行,则硬件返回响应信息。示例输出如下:
说明:mini版跳过make步骤。
$ cd /usr/local/hpe/example $ make $ ./hello_world hello world from core 0/8. hello world from core 1/8. hello world from core 2/8. hello world from core 3/8. hello world from core 4/8. hello world from core 5/8. hello world from core 6/8. hello world from core 7/8.
安装TensorTurbo
前提条件
服务器已安装HPE,且HPE版本满足TensorTurbo版本的要求。
服务器已安装Python 3.6或Python 3.7。
说明:TensorTurbo仅支持使用Python 3.6或Python 3.7作为编译和使用环境。如果Python版本未满足要求,请使用Anaconda等方式切换版本,或者重新安装Python。
服务器已安装pip v10.0.1或以上版本,推荐使用pip v21.3.1或以上版本。
操作步骤
将TensorTurbo安装包复制到服务器。
TensorTurbo安装包的命名格式示例:
tb-{OS}-{TensorTurbo version}-cp{Python version}-{abi}-linux_x86_64.whl
在TensorTurbo安装包所在目录执行安装命令。
$ pip3 install tb-{OS}-{TensorTurbo version}-cp{Python version}-{abi}-linux_x86_64.whl
如果安装时出现如下错误,请检查whl包和Python版本是否匹配。
ERROR: tb-{OS}-{TensorTurbo version}-cp{Python version}-{abi}-linux_x86_64.whl is not a supported wheel on this platform.
如果whl包和Python版本不匹配,您可以进入当前的Python环境查看支持的whl包命名类型。示例命令如下:
>>> import pip._internal >>> print(pip._internal.pep425tags.get_supported())
例如,在Python3.7环境中的输出信息示例如下:
[('cp37', 'cp37m', 'manylinux1_x86_64'), ('cp37', 'cp37m', 'linux_x86_64'), ('cp37', 'abi3', 'manylinux1_x86_64'), ('cp37', 'abi3', 'linux_x86_64'), ('cp37', 'none', 'manylinux1_x86_64'), ('cp37', 'none', 'linux_x86_64'), ('cp36', 'abi3', 'manylinux1_x86_64‘)]
根据输出信息修改whl包名称中的
cp{Python version}-{abi}
部分,确保和输出信息对应,然后重新尝试安装。配置环境变量。
$ export RISCV=/usr/local/hpe $ export PATH=$RISCV/bin:$PATH
验证是否已成功安装TensorTurbo。
$ pip3 list|grep tb tb {TensorTurbo version}
说明:回显TensorTurbo的版本号,则表示已成功安装TensorTurbo。
试用TensorTurbo。
a. 安装依赖相关依赖。
如果Python版本为Pyhton 3.6:
$ pip3 install tensorflow==1.14.0 $ pip3 install minio attrs==21.2.0 attr graphviz mysqlclient pytest Keras==2.3.1 Keras-Applications==1.0.8 Keras-Preprocessing==1.1.2 h5py==2.10.0 pandas==1.1.5 torch==1.8.1 tqdm sklearn tensorboard==1.14 onnx==1.6.0 scikit-image synr multipledispatch
如果Python版本为Pyhton 3.7:
$ pip3 install tensorflow==1.14.0 $ pip3 install minio attrs==21.2.0 attr graphviz mysqlclient pytest Keras==2.3.1 Keras-Applications==1.0.8 Keras-Preprocessing==1.1.2 h5py==2.10.0 pandas==1.3.3 torch==1.8.1 tqdm sklearn tensorboard==1.14 onnx==1.6.0 scikit-image synr multipledispatch
b. 编译神经网络模型。
示例1:基于TensorTurbo编译ResNet50网络。
$ python3 -m pytest test_resnet50.py
示例2:基于TensorTurbo编译ResNet101网络。
$ python3 -m pytest test_resnet101.py
卸载软件
在更新安装等情况下,您可能需要卸载软件并重新安装。卸载操作本身没有强制顺序要求,先卸载任一软件均可操作成功,但推荐您按照以下顺序操作:
卸载TensorTurbo。
$ pip3 uninstall tb -y
卸载HPE。
$ sudo apt-get --purge remove "stc-*" "hpe-*" "hpe" -y
您也可以清理不再需要的依赖软件,示例命令如下:
$ sudo apt-get autoremove