希姆计算HPE安装指南
版本历史
版本 | 作者 | 日期 | 说明 |
---|---|---|---|
V1.2.0 | 希姆计算 | 2022-04-11 | - 配套HPE V1.2.0发版的安装指南文档。 - 整篇编辑优化。 |
V1.1.0 | 希姆计算 | 2021-12-20 | 配套HPE V1.1.0发版的安装指南文档。 |
V1.0.0 | 希姆计算 | 2021-09-27 | 配套HPE V1.0.0发版的安装指南文档。 |
概述
HPE(Heterogeneous Programming Engine)是希姆计算推出的异构编程环境,安装HPE后您可以使用C/C++语言开发异构程序,并编译成为可以在希姆计算的NPU上执行的机器码,运行神经网络应用时使用NPU进行并行计算可以显著提高计算性能。本文介绍如何安装HPE V1.2.0。
说明:安装HPE过程中执行的命令大部分需要超级用户权限,建议您使用root用户或者已添加至/etc/sudoers的普通用户执行命令。
准备工作
使用推荐的Linux操作系统
HPE支持在Debian、Ubuntu、CentOS等主流Linux操作系统中运行,HPE对主机的编译器、C运行时库等有一定要求,主机环境和HPE能否正常运行紧密相关。在安装HPE前,请执行以下命令查看Linux操作系统的版本:
$ uname -m && cat /etc/*release
推荐使用下表中的Linux操作系统版本,在这些版本上HPE V1.2.0进行了充分的验证。在其他Linux操作系统版本上HPE V1.2.0可能可以运行,但并不能始终得到保障。
Linux操作系统版本 | Linux内核版本 | glibc | HPE安装包名称 |
---|---|---|---|
Debian 9 | - 4.9.0 - 4.19.117 |
- 2.24 - 2.28 |
- hpe-repo-debian9-1-2-local_1.2.0_amd64.deb - mini-hpe-repo-debian9-1-2-local_1.2.0_amd64.deb |
Debian 10 | - 4.19.0 - 5.4.56 |
- 2.28 | - hpe-repo-debian10-1-2-local_1.2.0_amd64.deb - mini-hpe-repo-debian10-1-2-local_1.2.0_amd64.deb |
Ubuntu 18.04 | - 4.15.0 - 5.4.0 |
- 2.27 | - hpe-repo-ubuntu1804-1-2-local_1.2.0_amd64.deb - mini-hpe-repo-ubuntu1804-1-2-local_1.2.0_amd64.deb |
Ubuntu 20.04 | - 5.8.0 - 5.4.0 |
- 2.31 | - hpe-repo-ubuntu2004-1-2-local_1.2.0_amd64.deb - mini-hpe-repo-ubuntu2004-1-2-local_1.2.0_amd64.deb |
CentOS 8 | - 4.18.0 | - 2.28 | - hpe-repo-centos8-1-2-local_1.2.0_x86_64.rpm - mini-hpe-repo-centos8-1-2-local_1.2.0_x86_64.rpm |
说明:请联系希姆计算销售人员获得HPE安装包。HPE安装包分为完整功能版和mini版,完整功能版支持使用TensorTurbo对模型进行编译并在NPU上运行,mini版则仅支持拿已有的编译结果在NPU上运行。
确保操作系统已发现设备
您需要提前在主机中安装希姆计算的NPU板卡,并确保操作系统已发现设备。例如,执行以下命令可以查看STCP920,回显设备信息则说明操作系统已发现设备。
$ sudo lspci -vd 23e2:
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>
确保已正确安装kernel headers
安装HPE时要求操作系统已安装Linux内核版本对应的kernel headers。例如,Linux内核版本为5.4.0-42,则需要安装5.4.0-42对应的kernel headers。
Debian、Ubuntu
查看操作系统中是否已正确安装kernel headers,回显对应的信息则说明已安装。
$ sudo dpkg --get-selections | grep $(uname -r) linux-headers-5.4.0-42-generic install linux-image-5.4.0-42-generic install linux-modules-5.4.0-42-generic install linux-modules-extra-5.4.0-42-generic install
如果尚未正确安装kernel headers,需要手动安装。
$ sudo apt-get install linux-headers-$(uname -r)
CentOS
查看操作系统中是否已正确安装kernel headers,回显对应的信息则说明已安装。
$ sudo yum list | grep kernel-headers kernel-headers.x86_64 4.18.0-348.7.1.el8_5 base
如果尚未正确安装kernel headers,需要手动安装。
$ sudo yum install kernel-devel-$(uname -r) kernel-headers-$(uname -r)
安装HPE
请根据主机的包管理系统选择合适的包管理器。我们提供的deb包(适用于Debian、Ubuntu)和rpm包(适用于CentOS)都是存储库包,存储库包会在操作系统中安装本地存储库,然后通知包管理器实际安装包的位置,用于安装HPE的相关组件。
Debian、Ubuntu
安装存储库包并添加GPG密钥。
以在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
安装HPE的相关组件。
说明:安装完成后,所有文件都位于/usr/local/hpe/目录下。
$ 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
试用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.
CentOS
安装存储库包。
以在CentOS 8中安装完整功能版的HPE V1.1.0为例:
$ sudo yum install -y hpe-repo-centos8-1-1-local_1.1.0_x86_64.rpm
安装HPE的相关组件。
说明:安装完成后,所有文件都位于/usr/local/hpe/目录下。
$ sudo yum update $ sudo yum 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
试用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.
卸载HPE
在更新安装等情况下,您可能需要卸载HPE并重新安装。
Debian、Ubuntu
$ sudo apt-get --purge remove "stc-*" "hpe-*" "hpe" -y
您也可以清理不再需要的依赖软件,示例命令如下:
$ sudo apt-get autoremove
CentOS
$ sudo yum remove "stc-*" "hpe-*" "hpe" -y
您也可以清理yum缓存,示例命令如下:
$ sudo yum clean all