非昇騰設備開發環境搭建-Ubuntu安裝CANN
1 前提準備
基于華為Ascend處理器開發AI應用程序,一般需要搭建開發環境和運行環境。這里我們基于在非昇騰設備上(X86架構的PC)安裝CANN開發環境。非昇騰AI設備無需安裝固件(NPU)與驅動(driver),僅能用于代碼開發、編譯等不依賴于昇騰設備的開發活動。非昇騰AI設備開發環境示意圖如下所示:
其中的Linux 操作系統的安裝是基于Vitual Box虛擬機進行安裝的,可以參考之前的博文《VitualBox安裝Ubuntu并安裝增強功能》。由圖可知,CANN toolkit依賴性于Linux OS依賴項,如Python3.7等。因此,首先需要安裝OS依賴項,這里我們選用Ubuntu18.04,關于依賴性安裝可以參考之前的博客《Ubuntu安裝CANN相關依賴》。本文重點在于介紹如何安裝CANN toolkit。
2 CANN toolkit安裝
在基礎Linux環境搭建完成后,需要登錄華為相關網站(下載軟件有權限要求,否則可能無法下載),并獲取相關權限后,首先可以在Windows操作系統上下載兩種架構(x86和aarch64)的CANN toolkit開發套件包Ascend-cann-toolkit_xxx.run 。例如本次安裝的版本為CANN 5.0.2 (版本需要和其他軟硬件匹配,比如MindStudio 3.0.2 匹配CANN 5.0.2):
Ascend-cann-toolkit_5.0.2.1_linux-aarch64.run
Ascend-cann-toolkit_5.0.2.1_linux-x86_64.run
注意:若開發環境為x86_64架構,運行環境為aarch64架構,開發環境上需同時部署x86_64和aarch64架構的開發套件,后續編譯應用時需要調用aarch64架構開發套件的ACLlib庫。另外,安裝CANN toolkit開發套件包前請確保安裝目錄可用空間大于7G 。
這里為了方便從Windows操作系統和虛擬機直接傳遞文件,可以在Vitual Box中設置共享文件夾,示意圖如下:
另外,就需要將文件下載到C:\share_folder 共享文件中,示意圖如下:
此時啟動虛擬機Ubuntu后,可以通過命令行訪問共享文件夾中的文件,下面首先切換到root用戶進行CANN安裝。示意圖如下:
然后打開終端命令行,執行如下命令進行CANN toolkit安裝:
jack@jack-pc:~$ su root Password: root@jack-pc:/home/jack# cd /media/sf_share_folder/ #設置可執行權限 chmod +x Ascend-cann-toolkit_5.0.2.1_linux-x86_64.run chmod +x Ascend-cann-toolkit_5.0.2.1_linux-aarch64.run #安裝 ./Ascend-cann-toolkit_5.0.2.1_linux-x86_64.run --install ./Ascend-cann-toolkit_5.0.2.1_linux-aarch64.run --install
輸出過程示意如下:
Verifying archive integrity... ?100% ? SHA256 checksums are OK. All good.
Uncompressing ASCEND_RUN_PACKAGE ?100%
[Toolkit] [20211113-19:52:13] [INFO] mkdir /usr/local/Ascend/ascend-toolkit/5.0.2.1/x86_64-linux
[Toolkit] [20211113-19:52:14] [INFO] mkdir /var/log/ascend_seclog/
[Toolkit] [20211113-19:52:14] [INFO] touch /var/log/ascend_seclog/ascend_toolkit_install.log
[Toolkit] [20211113-19:52:14] [INFO] LogFile:/var/log/ascend_seclog/ascend_toolkit_install.log
[Toolkit] [20211113-19:52:14] [INFO] install start
[Toolkit] [20211113-19:52:14] [INFO] The install path is /usr/local/Ascend !
[Toolkit] [20211113-19:52:14] [WARNING] driver package maybe not installed
[Toolkit] [20211113-19:52:14] [WARNING] driver package maybe not installed
[Toolkit] [20211113-19:52:15] [INFO] install package Ascend-acllib-1.78.23.34.230-linux.x86_64.run start
[Toolkit] [20211113-19:52:26] [INFO] Ascend-acllib-1.78.23.34.230-linux.x86_64.run --devel --quiet --nox11 install success
[Toolkit] [20211113-19:52:26] [INFO] install package Ascend-pyACL-5.0.2.1-linux.x86_64.run start
[Toolkit] [20211113-19:52:29] [INFO] Ascend-pyACL-5.0.2.1-linux.x86_64.run --devel --quiet --nox11 install success
[Toolkit] [20211113-19:52:29] [INFO] install package Ascend-atc-1.78.23.34.230-linux.x86_64.run start
WARNING: Running pip as the 'root' user can result in broken permissions and conflicting behaviour with the system package manager. It is recommended to use a virtual environment instead: https://pip.pypa.io/warnings/venv
WARNING: Running pip as the 'root' user can result in broken permissions and conflicting behaviour with the system package manager. It is recommended to use a virtual environment instead: https://pip.pypa.io/warnings/venv
WARNING: Running pip as the 'root' user can result in broken permissions and conflicting behaviour with the system package manager. It is recommended to use a virtual environment instead: https://pip.pypa.io/warnings/venv
WARNING: Running pip as the 'root' user can result in broken permissions and conflicting behaviour with the system package manager. It is recommended to use a virtual environment instead: https://pip.pypa.io/warnings/venv
[Toolkit] [20211113-19:54:26] [INFO] Ascend-atc-1.78.23.34.230-linux.x86_64.run --devel --pylocal --quiet --nox11 install success
[Toolkit] [20211113-19:54:26] [INFO] install package Ascend-opp-1.78.23.34.230-linux.x86_64.run start
[Toolkit] [20211113-19:56:21] [INFO] Ascend-opp-1.78.23.34.230-linux.x86_64.run --devel --quiet --nox11 install success
[Toolkit] [20211113-19:56:23] [INFO] install package Ascend-toolkit-1.78.23.34.230-linux.x86_64.run start
[Toolkit] [20211113-19:59:14] [INFO] Ascend-toolkit-1.78.23.34.230-linux.x86_64.run --devel --pylocal --quiet --nox11 install success
[Toolkit] [20211113-19:59:14] [INFO] install package Ascend310-aicpu_kernels-1.78.23.34.230.run start
[Toolkit] [20211113-19:59:15] [INFO] Ascend310-aicpu_kernels-1.78.23.34.230.run --devel --quiet --nox11 install success
[Toolkit] [20211113-19:59:15] [INFO] install package Ascend910-aicpu_kernels-1.78.23.34.230.run start
[Toolkit] [20211113-19:59:17] [INFO] Ascend910-aicpu_kernels-1.78.23.34.230.run --devel --quiet --nox11 install success
[Toolkit] [20211113-19:59:17] [INFO] install package Ascend710-aicpu_kernels-1.78.23.34.230.run start
[Toolkit] [20211113-19:59:18] [INFO] Ascend710-aicpu_kernels-1.78.23.34.230.run --devel --quiet --nox11 install success
[Toolkit] [20211113-19:59:18] [INFO] install package Ascend310-aicpu_kernels_minirc-1.78.23.34.230.run start
[Toolkit] [20211113-19:59:20] [INFO] Ascend310-aicpu_kernels_minirc-1.78.23.34.230.run --devel --quiet --nox11 install success
[Toolkit] [20211113-19:59:20] [INFO] install package Ascend-test-ops-5.0.2.1.run start
[Toolkit] [20211113-19:59:20] [INFO] Ascend-test-ops-5.0.2.1.run --full --quiet --nox11 install success
[Toolkit] [20211113-19:59:20] [INFO] /etc/Ascend/ascend_cann_install.info generate success
[Toolkit] [20211113-19:59:20] [INFO] Please make sure that:
Offline infer develop (cannot coexist with other scenes):
LD_LIBRARY_PATH includes :
/usr/local/Ascend/ascend-toolkit/latest/acllib/lib64:
PYTHONPATH includes :
/usr/local/Ascend/ascend-toolkit/latest/pyACL/python/site-packages/acl:
/usr/local/Ascend/ascend-toolkit/latest/toolkit/python/site-packages:
ASCEND_AICPU_PATH includes :
/usr/local/Ascend/ascend-toolkit/latest:
ASCEND_OPP_PATH includes :
/usr/local/Ascend/ascend-toolkit/latest/opp:
TOOLCHAIN_HOME includes :
/usr/local/Ascend/ascend-toolkit/latest/toolkit:
Third party AI framework develop (cannot coexist with other scenes):
PATH includes :
/usr/local/Ascend/ascend-toolkit/latest/fwkacllib/ccec_compiler/bin:
/usr/local/Ascend/ascend-toolkit/latest/fwkacllib/bin:
LD_LIBRARY_PATH includes :
/usr/local/Ascend/ascend-toolkit/latest/fwkacllib/lib64:
PYTHONPATH includes :
/usr/local/Ascend/ascend-toolkit/latest/fwkacllib/python/site-packages:
/usr/local/Ascend/ascend-toolkit/latest/toolkit/python/site-packages:
ASCEND_OPP_PATH includes :
/usr/local/Ascend/ascend-toolkit/latest/opp:
ASCEND_AICPU_PATH includes :
/usr/local/Ascend/ascend-toolkit/latest:
TOOLCHAIN_HOME includes :
/usr/local/Ascend/ascend-toolkit/latest/toolkit:
Model transformation and operator develop (cannot coexist with other scenes):
PATH includes :
/usr/local/Ascend/ascend-toolkit/latest/atc/ccec_compiler/bin:
/usr/local/Ascend/ascend-toolkit/latest/atc/bin:
LD_LIBRARY_PATH includes :
/usr/local/Ascend/ascend-toolkit/latest/atc/lib64:
PYTHONPATH includes :
/usr/local/Ascend/ascend-toolkit/latest/atc/python/site-packages:
/usr/local/Ascend/ascend-toolkit/latest/toolkit/python/site-packages:
ASCEND_OPP_PATH includes :
/usr/local/Ascend/ascend-toolkit/latest/opp:
TOOLCHAIN_HOME includes :
/usr/local/Ascend/ascend-toolkit/latest/toolkit:
[Toolkit] [20211113-19:59:20] [INFO] If your service is started using the shell script, you can call the /usr/local/Ascend/ascend-toolkit/set_env.sh script to configure environment variables. Note that this script can not be executed mannually.
[Toolkit] [20211113-19:59:21] [INFO] Ascend-cann-toolkit_5.0.2.1_linux-x86_64 install success,The install path is /usr/local/Ascend !
下面可以到安裝的目錄中 /usr/local/Ascend進行查看,命令如下:
jack@jack-pc:/usr/local/Ascend/ascend-toolkit/5.0.2.1$ cd ~ jack@jack-pc:~$ cd /usr/local/Ascend/ jack@jack-pc:/usr/local/Ascend$ ls ascend-toolkit jack@jack-pc:/usr/local/Ascend$ cd ascend-toolkit/ jack@jack-pc:/usr/local/Ascend/ascend-toolkit$ ls 5.0 5.0.2.1 latest set_env.sh jack@jack-pc:/usr/local/Ascend/ascend-toolkit$ cd latest jack@jack-pc:/usr/local/Ascend/ascend-toolkit/latest$ ls acllib arm64-linux opp_linux.arm64 python tools acllib_linux.arm64 atc opp_linux.x86_64 targets var acllib_linux.x86_64 opp pyACL toolkit x86_64-linux jack@jack-pc:/usr/local/Ascend/ascend-toolkit/latest$
示意圖如下所示:
3 配置交叉編譯環境
最后,對于Atlas 200 AI加速模塊 (RC場景)和Atlas 500 小站(運行環境aarch64架構)來說,當開發環境是一臺X86 PC進行環境搭建時,需要在開發環境中安裝交叉編譯工具,具體命令如下:
#檢查是否安裝 aarch64-linux-gnu-g++ --version #安裝(root) apt-get install g++-aarch64-linux-gnu
安裝成功后,再次驗證,執行如下命令:
root@jack-pc:/home/jack# aarch64-linux-gnu-g++ --version aarch64-linux-gnu-g++ (Ubuntu/Linaro 7.5.0-3ubuntu1~18.04) 7.5.0 Copyright (C) 2017 Free Software Foundation, Inc. This is free software; see the source for copying conditions. There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
具體CANN更多安裝細節文檔,可以參考官網 https://support.huawei.com/enterprise/zh/doc/EDOC1100206656/4f20a9ed 。
AI平臺 Atlas 200 DK開發者套件 Linux Ubuntu
版權聲明:本文內容由網絡用戶投稿,版權歸原作者所有,本站不擁有其著作權,亦不承擔相應法律責任。如果您發現本站中有涉嫌抄襲或描述失實的內容,請聯系我們jiasou666@gmail.com 處理,核實后本網站將在24小時內刪除侵權內容。