当前位置: 首页 > article >正文

CANN 学习——基于香橙派 KunpengPro(1)

异构计算架构CANN(Compute Architecture for Neural Networks)是昇腾针对AI场景推出的异构计算架构,向上支持多种AI框架,包括MindSpore、PyTorch、TensorFlow等,向下服务AI处理器与编程。

1CANN 总体架构

CANN 软件架构:

在这里插入图片描述

CANN 向上对接各种深度学习框架,向下对接driver 驱动和 AI 处理器。

CANN 主要包含六部分:

  • GE图引擎( Graph Engine),是计算图编译和运行的控制中心,提供图优化、图编译管理以及图执行控制等功能。GE通过统一的图开发接口提供多种AI框架的支持,不同AI框架的计算图可以实现到Ascend图的转换

  • Ascend C算子开发语言,是CANN针对算子开发场景推出的编程语言原生支持C和C++标准规范,最大化匹配用户开发习惯;通过多层接口抽象、自动并行计算、孪生调试等关键技术,极大提高算子开发效率,助力AI开发者低成本完成算子开发和模型调优部署。

  • AOL算子加速库(Ascend Operator Library),提供了丰富的深度优化、硬件亲和的高性能算子,包括神经网络(Neural Network,NN)库、**线性代数计算库(Basic Linear Algebra Subprograms,BLAS)**等,为神经网络在昇腾硬件上加速计算奠定了基础。

  • HCCL集合通信库(Huawei Collective Communication Library),是基于昇腾硬件的高性能集合通信库,提供单机多卡以及多机多卡间的数据并行模型并行集合通信方案。HCCL支持AllReduce、Broadcast、Allgather、ReduceScatter、AlltoAll等通信原语,Ring、Mesh、HD等通信算法,在HCCS、RoCE和PCIe高速链路实现集合通信。

  • BiSheng Compiler毕昇编译器,提供Host-Device异构编程编译能力,利用微架构精准编译优化释放昇腾AI处理器性能,提供完备二进制调试信息与二进制工具链,支撑AI开发者自主调试调优。

  • Runtime运行时,提供了高效的硬件资源管理媒体数据预处理单算子加载执行模型推理等开发接口,供开发者轻松构建高性能人工智能应用。

统一的API框架,实现对所有资源的调用。

CANN针对训练任务提供了完备的支持,针对PyTorchTensorFlow等开源框架网络模型,CANN提供了模型迁移工具,支持将其快速迁移到昇腾平台。此外,CANN还提供了多种自动化调测工具,支持数据异常检测、融合异常检测、整网数据比对等,帮助开发者高效问题定位。

2 CANN 软件安装

安装驱动固件和CANN开发套件包Toolkit。

这里基于 香橙派 KunpengPro(310B4),在 ubuntu 物理机上安装,用来尝试 训练&推理&开发调试。安装方案如下:

在这里插入图片描述

由于 昇腾NPU驱动 和 NPU 固件系统中已经有了,并且香橙派也有提供喜爱能够赢得安装包,这里便不再赘述。这里主要安装Toolkit(CANN开发套件包)和Kernels(CANN二进制算子包)。

CANN开发套件包,在训练&推理&开发调试场景下安装,主要用于训练和推理业务、模型转换、算子/应用/模型的开发和编译;CANN二进制算子包,提供了静态库,并能够节省算子编译时间,在大模型推理、训练场景,使用静态库编译应用程序,和运行包含动态shape网络或单算子API(例如aclnn类API)相关业务。

2.1 下载安装包

在升腾社区下载 310b 对应的 kernels 和 Toolkit 安装包:

https://www.hiascend.com/zh/developer/download/community/result?module=cann

Kernels:
在这里插入图片描述

Toolkit:
在这里插入图片描述

2.2 安装
  • 配置最大线程数

训练场景下,OS的最大线程数可能不满足训练要求,需执行以下命令修改最大线程数为无限制:

# 配置环境变量,修改线程数为无限制,编辑“/etc/profile”文件,在文件的最后添加如下内容后保存退出:
ulimit -u unlimited

执行如下命令使环境变量生效:

source /etc/profile
  • 安装Toolkit开发套件包

增加对软件包的可执行权限,校验软件包安装文件的一致性和完整性:

chmod +x Ascend-cann-toolkit_8.0.0.alpha002_linux-aarch64.run
./Ascend-cann-toolkit_8.0.0.alpha002_linux-aarch64.run --check

出现如下回显信息,表示软件包校验成功:

Verifying archive integrity...  100%   SHA256 checksums are OK. All good.

安装软件包:

./Ascend-cann-toolkit_8.0.0.alpha002_linux-aarch64.run --install

安装完成后,若显示如下信息,则说明软件安装成功:

xxx install success

配置环境变量,根据set_env.sh的实际安装路径进行替换:

source /home/HwHiAiUser/Ascend/ascend-toolkit/set_env.sh

也可以将 source /home/HwHiAiUser/Ascend/ascend-toolkit/set_env.sh 添加到~/.bashrc里面。

安装后检查。执行如下命令查询CANN版本信息,查询结果与安装软件包的版本一致时,则验证安装成功:

cd /usr/local/Ascend/ascend-toolkit/latest/aarch64-linux
cat ascend_toolkit_install.info
  • 安装Kernels算子包

Kernels算子包安装之前,需已安装配套版本的Toolkit并配置环境变量,请使用同一用户安装。

增加对软件包的可执行权限,校验软件包安装文件的一致性和完整性:

chmod +x Ascend-cann-kernels-310b_8.0.0_linux-aarch64.run
./Ascend-cann-kernels-310b_8.0.0_linux-aarch64.run --check

出现如下回显信息,表示软件包校验成功:

Verifying archive integrity...  100%   SHA256 checksums are OK. All good.

安装除静态库之外的其他文件,请执行如下命令:

./Ascend-cann-kernels-310b_8.0.0_linux-aarch64.run --install

安装所有文件,包括静态库和动态库,请执行如下命令:

./Ascend-cann-kernels-310b_8.0.0_linux-aarch64.run --devel

安装完成后,若显示如下信息,则说明软件安装成功:

xxx install success
  • 安装后检查

执行如下命令查询软件版本信息,查询结果与安装软件包的版本一致时,则验证安装成功,进入软件包安装信息文件目录:

cd /home/HwHiAiUser/Ascend/ascend-toolkit/latest/opp_kernel
cat version.info

http://www.kler.cn/a/471036.html

相关文章:

  • 03-其他
  • Java面试要点114 - Java ThreadLocal原理与内存泄漏
  • 《机器学习》——随机森林
  • 对话|企业如何构建更完善的容器供应链安全防护体系
  • 【电路笔记】-开关理论
  • Postman接口测试03|执行接口测试、全局变量和环境变量、接口关联、动态参数、断言
  • 排序算法的实现(插入,希尔,选择,冒泡,堆排,快排)
  • Leetcode 3408. Design Task Manager
  • AI投资分析:用于股票评级的大型语言模型(LLMs)
  • MATLAB仿真:基于GS算法的经大气湍流畸变涡旋光束波前校正仿真
  • python基础案例
  • 彻底学会Gradle插件版本和Gradle版本及对应关系
  • VScode使用密钥进行ssh连接服务器方法
  • 【微服务】3、配置管理
  • 详细讲一讲 JavaScript中对象的常用方法
  • 一个hive插入数据失败的问题
  • 067B-基于R语言平台Biomod2模型的物种分布建模与数据可视化-高阶课程【2025】
  • 18650电池计算器 HTML
  • 安卓OCR使用(Google ML Kit)
  • H7-TOOL固件2.27发布,新增加40多款芯片脱机烧录,含多款车轨芯片,发布LUA API手册,CAN助手增加负载率,错误状态信息检测