极智AI | 昇腾开发环境搭建 CANN MindStudio (无坑版)

news2025/2/21 4:20:49

欢迎关注我的公众号 [极智视界],获取我的更多笔记分享

  大家好,我是极智视界,本文介绍一下 昇腾开发环境搭建 CANN & MindStudio,没有坑

  本文介绍的方法适用于:

  • 系统:ubuntu18.04 (注:[centos7.6 类似])
  • 昇腾卡:Atlas300I Pro、Atlas300I(3000 & 3010) (注:[这些卡都尝试过,没毛病])

  这里以 ubuntu1804、Atlas300I (3010) 为例, 话不多说,直接开始。

文章目录

    • 1. 系统安装
    • 2. 安装包下载
    • 3. 安装依赖
    • 4. 开始安装

1. 系统安装

  ubuntu18.04 系统安装,可以采用 u盘启动安装,略过。


2. 安装包下载

  安装包主要分为:固件与驱动、CANN、MindStudio,如下:

在这里插入图片描述

  固件与驱动下载地址:driver & firmware

  CANN下载地址:cann

  MindStudio下载地址:mindstudio

  昇腾有个比较麻烦的地方:要是你要下载商用版需要申请,比较麻烦。这里咱们以社区版的安装包为例进行,下载好这些文件 (我这里是 x86 的,如果你是 arm 的机器就下载 arm 版本的):

在这里插入图片描述

3. 安装依赖

  创建 HwHiAiUser 用户 (如果你是用 root 用户进行依赖安装的话,可以忽略这一点):

# 创建 HwHiAiUser 用户组
sudo groupadd HwHiAiUser

# 创建 HwHiAiUser 用户
sudo useradd -g HwHiAiUser -r -m -s /bin/bash HwHiAiUser

  这个时候你 ls /home 已经能够发现有了 HwHiAiUser 用户目录了。

  华为的开发环境强依赖于 python3.7.5,所以我们得先装上它。这里不选择采用源码安装的方式 (采用源码编译安装,后面可能会遇到挺多坑),而采用先装 Anaconda3,然后用 conda 安装 python3.7.5 环境。同样安装 Anaconda3 略过,附上不限速下载源:anaconda。

# 使用conda管理python3.7.5环境
# 创建 python3.7.5 环境
conda create -n conda_py375 python=3.7.5

# 安装 python 依赖
conda activate conda_py375

pip install attrs \
            psutil \
            decorator \
            numpy \
            protobuf==3.11.3 \
            scipy \
            sympy \
            cffi \
            grpcio \
            grpcio-tools \
            requests
            
# 安装驱动依赖
sudo apt -y update
sudo apt-get install -y gcc \
                        g++ \
                        make \
                        cmake \
                        zlib1g \
                        zlib1g-dev \
                        libsqlite3-dev \
                        openssl \
                        libssl-dev \
                        libffi-dev \
                        unzip \
                        pciutils \
                        net-tools \
                        dkms

4. 开始安装

# 切到 root 用户
su root

# 安装驱动
chmod +x ./A300-3010-npu-driver_5.1.rc2_linux-x86_64.run
./A300-3010-npu-driver_5.1.rc2_linux-x86_64.run --full

# 安装固件
chmod +x ./A300-3010-npu-firmware_5.1.rc2.run
./A300-3010-npu-firmware_5.1.rc2.run --full

# 安装CANN
chmod +x ./Ascend-cann-nnrt_6.0.0.alpha002_linux-x86_64.run
./Ascend-cann-nnrt_6.0.0.alpha002_linux-x86_64.run --install

chmod +x ./Ascend-cann-nnae_6.0.0.alpha002_linux-x86_64.run
./Ascend-cann-nnae_6.0.0.alpha002_linux-x86_64.run --install

chmod +x ./Ascend-cann-toolkit_6.0.0.alpha002_linux-x86_64.run
./Ascend-cann-toolkit_6.0.0.alpha002_linux-x86_64.run --install

  这些安装后,配置一份 source_env.sh 激活环境的脚本,当然你也可以直接写进 ~/.bashrc/etc/profile

# source_env.sh
export PYTHONPATH=$PYTHONPATH:/usr/local/Ascend/nnrt/6.0.0.alpha002/pyACL/python/site-packages/acl:/usr/local/Ascend/ascend-toolkit/6.0.0.alpha002/pyACL/python/site-packages/acl:/usr/local/Ascend/ascend-toolkit/6.0.0.alpha002/atc/python/site-packages/te:/usr/local/Ascend/ascend-toolkit/6.0.0.alpha002/atc/python/site-packages/topi:/usr/local/Ascend/ascend-toolkit/6.0.0.alpha002/atc/python/site-packages/auto_tune.egg/auto_tune:/usr/local/Ascend/ascend-toolkit/6.0.0.alpha002/atc/python/site-packages/schedule_search.egg:/usr/local/Ascend/ascend-toolkit/6.0.0.alpha002/opp/built-in/op_impl/ai_core/tbe
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/Ascend/nnrt/6.0.0.alpha002/acllib/lib64:/usr/local/Ascend/ascend-toolkit/6.0.0.alpha002/acllib/lib64:/usr/local/Ascend/ascend-toolkit/6.0.0.alpha002/toolkit/toolchain/hcc/lib64:/usr/local/Ascend/ascend-toolkit/6.0.0.alpha002/atc/lib64:/usr/local/Ascend/ascend-toolkit/6.0.0.alpha002/atc/bin
export PATH=$PATH:/usr/local/Ascend/ascend-toolkit/6.0.0.alpha002/toolkit/bin:/root/anaconda3/envs/conda_py375/bin:/usr/local/Ascend/ascend-toolkit/6.0.0.alpha002/atc/ccec_compiler/bin:/usr/local/Ascend/ascend-toolkit/6.0.0.alpha002/atc/bin
export ASCEND_OPP_PATH=/usr/local/Ascend/ascend-toolkit/6.0.0.alpha002/opp
export install_path=/usr/local/Ascend/ascend-toolkit/latest
export PATH=$PATH:/root/anaconda3/envs/conda_py375/bin:${install_path}/atc/ccec_compiler/bin:${install_path}/atc/bin
export PYTHONPATH=$PYTHONPATH:${install_path}/atc/python/site-packages/te:${install_path}/atc/python/site-packages/topi:${install_path}/atc/python/site-packages/auto_tune.egg/auto_tune:${install_path}/atc/python/site-packages/schedule_search.egg:${install_path}/opp/built-in/op_impl/ai_core/tbe
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:${install_path}/atc/lib64:${install_path}/acllib/lib64:${install_path}/atc/lib64
export ASCEND_OPP_PATH=${install_path}/opp

  最后进行 MindStudio 的安装:

# 解压
tar -zxvf MindStudio_5.0.RC2_linux.tar.gz

cd MindStudio/bin
# 启动 MindStudio
sudo ./MindStudio.sh

在这里插入图片描述

  另外你也可以验证一下输入命令 npu-smi info 就可以查看显卡信息了。

在这里插入图片描述


  好了,以上分享了 昇腾开发环境搭建 CANN & MindStudio (无坑版),希望我的分享能对你的学习有一点帮助。


 【极智视界】

《极智AI | 昇腾开发环境搭建 CANN & MindStudio (无坑版)》


在这里插入图片描述

搜索关注我的微信公众号【极智视界】,获取我的更多经验分享,让我们用极致+极客的心态来迎接AI !


本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/29689.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

5个常见的JavaScript内存错误

JavaScript 不提供任何内存管理操作。相反,内存由 JavaScript VM 通过内存回收过程管理,该过程称为垃圾收集。 既然我们不能强制的垃圾回收,那我们怎么知道它能正常工作?我们对它又了解多少呢? 脚本执行在此过程中暂停…

计算机毕业设计之java+ssm某地区精准扶贫网站

项目介绍 本精准扶贫网站管理系统主要包括系统用户管理模块、捐赠信息管理模块、投诉信息管理、扶贫资讯管理、登录模块、和退出模块等多个模块,系统采用了jsp的mvc框架,SSM(springMvcspringMybatis)框架进行开发,本系统使用mysql,独立运行,不依附于其他系统&#…

Redis数据类型之set

文章目录setⅠ. 基础操作Ⅱ. 随机数据Ⅲ. 交、并、差Ⅳ. 应用场景Ⅴ. 注意事项提示:以下是本篇文章正文内容,Redis系列学习将会持续更新 set ● 数据存储需求:存储大量的数据,在查询方面提供更高的效率。 ● 需要的存储结构&#…

家乡主题网页设计代码 旅游主题网页设计 html静态网页设计制作 dw静态网页成品模板素材网页 web前端网页设计与制作 div静态网页设计

家乡旅游景点网页作业制作 网页代码运用了DIV盒子的使用方法,如盒子的嵌套、浮动、margin、border、background等属性的使用,外部大盒子设定居中,内部左中右布局,下方横向浮动排列,大学学习的前端知识点和布局方式都有…

详细解读Spring Boot中@Import三种使用方式

需要注意的是:ImportSelector、ImportBeanDefinitionRegistrar这两个接口都必须依赖于Import一起使用,而Import可以单独使用。Import是一个非常有用的注解,它的长处在于你可以通过配置来控制是否注入该Bean,也可以通过条件来控制注…

CNN卷积神经网络

(声明:本文章是在学习他人视频的学习笔记,图片出处均来自该up主,侵权删 up主链接:同济子豪兄的个人空间_哔哩哔哩_bilibili) 卷积神经网络就像一个黑箱,有输入和输出,输入是一个图像…

Spring 中更加简单的 “存储“ 和 “读取“ 对象

目录 1. 更加简单的存储对象 1.1 配置扫描路径 1.2 使用五大类注解存储 bean 对象 1.2.1 五大类注解之间的关系 1.2.2 关于 bean 的命名规则 1.3 使用方法注解存储 bean 对象 1.3.1 bean 的重命名 2. 更加简单的获取对象 (DI) 2.1 属性注入 2.1.1 属性注入优缺点分析 …

三、图片的几何变换

目录一、图片缩放1 - 等比缩放2 - 最近领域插值3 - 双线性插值4 - 矩阵缩放二、图片剪切与位移1 - 图片剪切2 - 图片位移三、图片镜像四、图片仿射变换五、图片旋转一、图片缩放 1 - 等比缩放 # 1 load 2 info 3 resize 4 check import cv2img cv2.imread(image0.jpg, 1) im…

软件工程详细知识点复习(上)

文章目录一、软件工程概述1、软件与软件危机2、软件工程二、可行性研究三、需求分析四、概要设计五、详细设计一、软件工程概述 1、软件与软件危机 软件程序数据文档 1、软件危机的主要表现 软件不能满足用户需求软件开发成本严重超标,开发周期大大超过规定日期…

网络设备安装上线,你要知道的10个步骤

大家好,我是技福的小咖老师。在网络工程中设备的安装工作必不可少,你平时都是按哪些步骤完成的?今天给大家总结一下最常见的10个步骤。 安装流程 网络设备安装流程图 安装环境要求 1► 安装场景 为确保设备的正常运行,延长设备…

C. Infected Tree(思维+DFS)

Problem - 1689C - Codeforces Byteland是一片美丽的土地,因其美丽的树木而闻名。 米沙发现了一棵有n个顶点的二叉树,编号从1到n。二叉树是一个无环连接的双向图,包含n个顶点和n-1条边。每个顶点的度数最多为3,而根是数字为1的顶…

基于STM32G431嵌入式学习笔记——五、NVIC中断(以串口UART中断为例)

一、基础知识 1.专业术语 2.NVIC简介 ①在这里要注意,中断控制是分级处理的 ②是否请求中断是中断源控制的。 ③是否响应中断是响应方控制的。 ④以外部中断为例,外部中断请求顺序就是首先从请求的外部设备中选出优先级最高的一个设备待中断&#xff0c…

唐山盐碱滩成渤海明珠 国稻种芯·中国水稻节:河北曹妃甸大米

唐山盐碱滩成渤海明珠 国稻种芯中国水稻节:河北曹妃甸大米 新华社音视频部制作 记者 杨世尧 河北新闻网讯 王士波 赵诤国 新闻中国采编网 中国新闻采编网 谋定研究中国智库网 中国农民丰收节国际贸易促进会 国稻种芯中国水稻节 中国三农智库网-功能性农业农业大健康…

电脑怎么迁移游戏资源,数据迁移能把游戏数据迁移吗

概述:玩家们在打游戏的过程中,会产生很多数据,尤其是那些大型游戏的玩家,都会珍惜游戏数据。电脑怎么迁移游戏资源?如果您刚刚购买了一台新电脑,并且正在寻找将游戏迁移到新电脑的方法,相信本文…

8 张图 | 剖析 Eureka 的首次同步注册表

注册表对于注册中心尤为重要,所有的功能都是围绕这个注册表展开。比如服务 A 要想访问服务 B,就得知道服务 B 的 IP 地址和端口号吧。如下图所示,传统的方式就是服务 A 知道了服务 B 的地址后,发送 HTTP 请求到对应的 API 地址上。…

MySQL事务管理 MVCC,隔离性详解

目录事务管理事务背景什么是事务?事务的四个属性为什么会出现事务?MySQL支持事务的版本事务提交方式事务常见操作方式演示(体现原子性和持久性)操作注意事项结论事务隔离性查看与设置隔离性各种隔离性演示读未提交【Read Uncommitted】脏读读提交【Read Committed】…

【SNUT集训1】排序 二分 前缀和 差分(6 / 16)

目录 P1094 [NOIP2007 普及组] 纪念品分组 - 排序贪心双指针 P1571 眼红的Medusa - 哈希表 P1678 烦恼的高考志愿 P1024 [NOIP2001 提高组] 一元三次方程求解 1、二分法 2、暴力 P7585 [COCI2012-2013#1] LJUBOMORA - 二分 P4552 [Poetize6] IncDec Sequence- 差分思维…

【Vue学习之从入门到神经】

14天学习训练营导师课程: 郑为中《Vue和SpringBoot打造假日旅社管理系统》 目录 1. VUE介绍 2. Vue导入 3. VUE相关指令 4. 显示隐藏相关 5. Vue周边库 1. VUE介绍 VUE是目前最流行的前端框架, 基于MVVM设计模式VUE框架两种用法: 多页面应用, 在html页面中引入…

【HMS Core】游戏初始化

前提条件 实现游戏初始化前,必须已经完成AppGallery Connect的配置准备,参见AGC控制台准备。已完成集成SDK和配置混淆脚本。 注意事项 本场景中涉及的功能必须在应用启动时完成,而不是用户在进行登录、支付等操作时才完成,否则可…

无线传感器网络:物理层设计

文章目录Physical Layer TechnologiesRadio FrequenciesNarrow-Band CommunicationSpread SpectrumDSSSFHSSUltra Wide Band (UWB)Optical CommunicationAcoustic CommunicationMagnetic Induction CommunicationRF Wireless CommunicationWireless Channel EffectsAttenuation…