這次工程實踐對象硬件由FT2000/4(主芯片)、華為Atlas200(從設備)組成,在FT2000/4安裝麒麟V10 Server操作系統。目標是在這套設備設備上運行AI推理模型并進行軟件開發。
FT2000/4是兼容ARM V8指令集的國產CPU,采用ARM交叉編譯的程序可以直接在這款芯片運行。麒麟V10 Server是采用CentOS內核的國產操作系統,現在由于CentOS停服,他開始采用華為開源的OpenEuler作為內核。
首先,我們得有一個通過PCIE交互的FT2000/2、華為Atlas200板卡。
驅動版本:Atlas-200-npu-driver_21.0.4_linux-aarch64.run
固件版本:Atlas-200-npu-firmware_1.80.22.2.220.run
首次安裝按照先驅動后固件的順序。
./Atlas-200-npu-driver_21.0.4_linux-aarch64.run --full
./Atlas-200-npu-firmware_1.80.22.2.220.run --full
完成安裝可通過npu-smi info能查看到設備信息。
接下來將按照EP模式開發的AI推理代碼在開發環境完成ARM交叉編譯后放到設備上即可運行。
沒想到在麒麟V10 Server上安裝g++、qt5和VNC花了非常多時間。在麒麟V10上安裝軟件最好通過yum install,但是最近幾天完全連不上源,甚至麒麟的官網也無法打開。解決方法就是等,或者通過devtoolset7下載部分rpm手動安裝。
安裝的麒麟V10系統配置靜態IP和CentOS類似。
編輯文件 /etc/sysconfig/network-scripts/ifcfg-xxxx
TYPE=Ethernet //以太網
PROXY_METHOD=none
BROWSER_ONLY=no
BOOTPROTO=static //靜態IP
IPADDR=192.168.137.101 //IP地址
NETMASK=255.255.255.0 //子網掩碼
GATEWAY=192.168.137.1 //網關
DNS1=8.8.8.8 //dns 域名解析
DNS2=114.114.114.114
DNS3=119.29.29.29
DEFROUTE=yes
IPV4_FAILURE_FATAL=no
IPV6INIT=yes
IPV6_AUTOCONF=yes
IPV6_DEFROUTE=yes
IPV6_FAILURE_FATAL=no
IPV6_ADDR_GEN_MODE=stable-privacy
NAME=enaphyt4i0
UUID=129a0897-321e-4bba-ba5e-f1932164e403
DEVICE=enaphyt4i0
ONBOOT=yes //設置為yes,表示系統啟動時激活網絡接口
配置后重啟網絡
systemctl restart network
一開始系統時間是2019年,這造成編譯代碼出錯提示時間問題。
采用date命令修改系統時間
date -s "2022-08-12 9:13:20"
再采用hwclock命令將系統時間同步到硬件時間,確保硬件重啟后時間依然有效。其中"-u"表示將時間轉換為UTC格式。
hwclock -uw
下面是麒麟v10的源,在官網正常后該源恢復使用。
/etc/yum.repos.d/kylin_aarch64.repo
[ks10-adv-os]
name = Kylin Linux Advanced Server 10 - Os
baseurl = http://update.cs2c.com.cn:8080/NS/V10/V10SP2/os/adv/lic/base/$basearch/
gpgcheck = 1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-kylin
enabled = 1
[ks10-adv-updates]
name = Kylin Linux Advanced Server 10 - Updates
baseurl = http://update.cs2c.com.cn:8080/NS/V10/V10SP2/os/adv/lic/updates/$basearch/
gpgcheck = 1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-kylin
enabled = 1
[ks10-adv-addons]
name = Kylin Linux Advanced Server 10 - Addons
baseurl = http://update.cs2c.com.cn:8080/NS/V10/V10SP2/os/adv/lic/addons/$basearch/
gpgcheck = 1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-kylin
enabled = 0
清楚源緩存
yum clean all
生成源緩存
yum makecache
可通過下面的命令查看已安裝及可安裝的包。其中帶@的是已安裝包。
yum list
安裝c++
yum install gcc-c++
安裝qt5
yum install qt5-qtbase qt5-qtbase-devel qt5-qtquickcontrols2-devel qtcreator
安裝vnc
yum install tigervnc-server
VNC是遠程控制軟件,在設備上安裝VNC-SERVICE,在電腦上安裝VNC-Viewer,就能通過VNC-Viewer遠程鏈接設備。連接后呈現一個可視化窗口,我們變可以在可視化窗口啟動 qtcreator 進行軟件開發。參考鏈接[3]進行配置。
通過此命令設置開機自啟動VNC服務
systemctl start vncserver@:1.service
systemctl enable vncserver@:1.service
systemctl status vncserver@:1.service
我們使用qtcreator創建工程,先通過VNC連接到設備,然后在VNC中打開終端輸入 qtcreator 啟動。
打開qtcreator
在打開的qt工程中配置qt路徑
配置調試選項,避免一debug就彈出SIGSTOP。
完:)