希姆计算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

  1. 查看操作系统中是否已正确安装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
    
  2. 如果尚未正确安装kernel headers,需要手动安装。

    $ sudo apt-get install linux-headers-$(uname -r)
    

CentOS

  1. 查看操作系统中是否已正确安装kernel headers,回显对应的信息则说明已安装。

    $ sudo yum list | grep kernel-headers
    kernel-headers.x86_64                                  4.18.0-348.7.1.el8_5                                   base
    
  2. 如果尚未正确安装kernel headers,需要手动安装。

    $ sudo yum install kernel-devel-$(uname -r) kernel-headers-$(uname -r)
    

安装HPE

请根据主机的包管理系统选择合适的包管理器。我们提供的deb包(适用于Debian、Ubuntu)和rpm包(适用于CentOS)都是存储库包,存储库包会在操作系统中安装本地存储库,然后通知包管理器实际安装包的位置,用于安装HPE的相关组件。

Debian、Ubuntu

  1. 安装存储库包并添加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
    
  2. 安装HPE的相关组件。

    说明:安装完成后,所有文件都位于/usr/local/hpe/目录下。

    $ sudo apt update
    $ sudo apt install hpe -y
    
  3. 验证是否已成功安装HPE。

    • 查看stc模块。示例回显信息如下:

      $ lsmod | grep stc
      stc                   352256  0
      
    • 查看hpe目录及安装的文件。示例回显信息如下:

      $ ls /usr/local/hpe/ 
      bin example include lib libexec modules riscv32npu share version.txt
      
  4. 试用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

  1. 安装存储库包。

    以在CentOS 8中安装完整功能版的HPE V1.1.0为例:

    $ sudo yum install -y hpe-repo-centos8-1-1-local_1.1.0_x86_64.rpm
    
  2. 安装HPE的相关组件。

    说明:安装完成后,所有文件都位于/usr/local/hpe/目录下。

    $ sudo yum update
    $ sudo yum install hpe -y
    
  3. 验证是否已成功安装HPE。

    • 查看stc模块。示例回显信息如下:

      $ lsmod | grep stc
      stc                   352256  0
      
    • 查看hpe目录及安装的文件。示例回显信息如下:

      $ ls /usr/local/hpe/ 
      bin example include lib libexec modules riscv32npu share version.txt
      
  4. 试用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