【2024第一期CANN训练营】2、AscendCL概述

文章目录

  • 【2024第一期CANN训练营】2、AscendCL概述
    • 1. AscendCL架构及基本概念
      • 1.1 什么是AscendCL?
      • 1.2 AscendCL的优势
      • 1.3 AscendCL应用场景
      • 1.4 基本概念
    • 2. AscendCL接口调用流程
      • 2.1 流程概述
      • 2.2 详细步骤
      • 2.3 头文件和库文件
    • 3. 准备开发和运行环境
      • 3.1 部署环境
      • 3.2 设置环境变量(可选)

【2024第一期CANN训练营】2、AscendCL概述

本教程将从AscendCL的基本概念入手,逐步介绍接口调用流程,以及如何准备开发和运行环境。

1. AscendCL架构及基本概念

1.1 什么是AscendCL?

**AscendCL是一套用于在昇腾平台上开发深度神经网络应用的C语言API库。**它提供运行资源管理、内存管理、模型加载与执行、算子加载与执行、媒体数据处理等API,实现利用昇腾硬件计算资源进行深度学习推理计算、图形图像预处理、单算子加速计算等能力。

img

1.2 AscendCL的优势

  • 高度抽象:简化API数量,降低复杂度。
  • 向后兼容:确保软件升级后,旧版本程序依然可运行。
  • 零感知芯片:一套接口实现应用代码统一,多款昇腾AI处理器无差异。

1.3 AscendCL应用场景

  • 开发应用:用户可调用AscendCL接口开发图片分类、目标识别等应用。
  • 第三方框架调用:用户通过第三方框架使用AscendCL接口,利用昇腾AI处理器计算能力。
  • 开发lib库:用户使用AscendCL封装第三方lib库,提供昇腾AI处理器运行管理、资源管理功能。

1.4 基本概念

  • 同步/异步:根据调用AscendCL接口后是否等待Device侧任务执行完成来区分。

  • 进程/线程:指Host上的进程、线程。

  • Host:与Device相连接的服务器,利用Device提供的计算能力。

  • Device:安装了昇腾AI处理器的硬件设备,通过PCIe接口与Host连接。

  • Context:管理所有对象(包括Stream、Event等)的生命周期的容器。

  • Stream:维护异步操作的执行顺序,确保按照应用程序中的代码调用顺序在Device上执行。

  • Event:支持调用AscendCL接口同步Stream之间的任务。

  • AIPP:用于在AI Core上完成图像预处理。

  • 动态Batch/动态分辨率:支持模型每次输入的batch size或分辨率不固定的场景。

  • 动态维度(ND格式):支持Transformer等网络在输入格式的维度不确定的场景。

  • 通道(Channel):在RGB色彩模式下,图像通道指的是单独的红色(R)、绿色(G)、蓝色(B)部分。一幅完整的图像由这三个通道组成,它们共同作用产生了完整的图像。在HSV色系中,通道则指的是色调(Hue)、饱和度(Saturation)、亮度(Value)三个通道。

  • 标准形态:指Device作为Endpoint(EP),通过PCIe接口与主设备(如X86、ARM等各种服务器)配合工作的情况。在这种形态下,Device上的CPU资源仅能通过Host调用,相关推理应用程序运行在Host上。Device只为服务器提供神经网络(NN)计算能力。

  • EP模式:以昇腾AI处理器的PCIe的工作模式进行区分,如果PCIe工作在从模式,则称为EP模式。

  • RC模式:以昇腾AI处理器的PCIe的工作模式进行区分,如果PCIe工作在主模式,可以扩展外设,则称为RC模式。

2. AscendCL接口调用流程

2.1 流程概述

使用AscendCL接口开发AI应用的整体接口调用流程包括初始化AscendCL、申请运行管理资源、执行模型推理/单算子调用/媒体数据处理、释放运行管理资源和去初始化AscendCL。

img

2.2 详细步骤

  1. AscendCL初始化:调用aclInit接口实现初始化。
  2. 运行管理资源申请:依次申请Device、Context、Stream。
  3. 模型推理/单算子调用/媒体数据处理
    • 模型推理:加载模型、执行模型、数据后处理、模型卸载。
    • 算子调用:直接加载并执行单个算子。
  4. 运行管理资源释放:依次释放Stream、Context、Device。
  5. AscendCL去初始化:调用aclFinalize接口实现去初始化。

2.3 头文件和库文件

  • AscendCL头文件在$HOME/Ascend/ascend-toolkit/latest/include/目录下,

  • AscendCL库文件在$HOME/Ascend/ascend-toolkit/latest/lib64/目录下。

  • AscendCL中各头文件用途说明链接

3. 准备开发和运行环境

3.1 部署环境

根据《CANN软件安装指南》部署开发环境和运行环境。开发环境用于获取调用接口所需的头文件和库文件,运行环境用于执行编译生成的应用可执行文件。

3.2 设置环境变量(可选)

  • ASCEND_RT_VISIBLE_DEVICES:设置应用进程可用的Device ID。
  • ASCEND_CACHE_PATHASCEND_WORK_PATH:设置AscendCL应用编译运行过程中产生的文件的落盘路径
  • 通过export命令设置的环境变量只在当前终端窗口生效,写入~/.bashrc文件可使环境变量永久生效。
export ASCEND_RT_VISIBLE_DEVICES=0
export ASCEND_CACHE_PATH=/repo/task001/cache
export ASCEND_WORK_PATH=/repo/task001/172.16.1.12_01_03

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

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

相关文章

便携式气象站的工作原理

TH-BQX9便携式自动气象观测仪器是一种集成了多种传感器和自动化技术的气象监测设备,以其便携性、自动化和高精度等特点,广泛应用于气象、环保、农业、科研等领域。 首先,它的便携性是其最大的优势之一。设计紧凑、轻便易携,使得用…

【送书福利!第一期】《ARM汇编与逆向工程》

🐮博主syst1m 带你 acquire knowledge! ✨博客首页——syst1m的博客💘 😘《CTF专栏》超级详细的解析,宝宝级教学让你从蹒跚学步到健步如飞🙈 😎《大数据专栏》大数据从0到秃头👽&…

202212 CSP认证 | JPEG 解码

JPEG 解码 一道特别幸福简单的第三题…都不敢想象在考场上碰见这种题目会有多幸福。直接按照题目意思做就好了,感觉比第二题还简单…而且数组特别小完全没有超时压力 补充一个对小数处理的部分,包括本题涉及的四舍五入取整以及输出取整:C 实…

小迪安全42WEB攻防-通用漏洞文件包含LFIRFI伪协议

#知识点: 1、解释什么是文件包含 2、分类-本地LFI&远程RFI 3、利用-配合上传&日志&会话 4、利用-伪协议&编码&算法等 #核心知识: 1、本地包含LFI&远程包含RF1-区别 一个只能包含本地,一个可以远程加载 具体形成原因由代码和环境配置文件决定…

2024智慧农场系统微信小程序前端如何上传以及配置

2024智慧农场系统微信小程序前端如何上传以及配置 首先下载微信开发者工具 下载好以后打开,然后导入项目 前端修改:siteinfo.js 里面的域名信息 改完之后开始在微信开发者工具中开发工具中编译、上传、发布即可

【how2j练习题】HTML部分综合练习

练习题 1 <html><h1>英雄联盟 &#xff08;电子竞技类游戏&#xff09;</h1> <p> <strong>《英雄联盟》</strong>&#xff08;简称lol&#xff09;是由美国<i>Riot Games</i>开发&#xff0c;中国大陆地区由腾讯游戏运营的网络…

软考78-上午题-【面向对象技术3-设计模式】-结构型设计模式01

一、适配器模式 1-1、意图 个类的接口转换成客户希望的另外一个接口。 Adapter 模式使得原本由于接口不兼容而不能一起工作的那些类可以一起工作。 1-2、结构 适配器模式分为&#xff1a; 1、适配器类模式&#xff1b; 2、适配器对象模式 类适配器使用多重继承对一个接口与另…

goland设置保存文件时不将4个空格转为TAB

goland设置保存文件时不将4个空格转为TAB 版本&#xff1a;GoLand 2022.3 设置路径&#xff1a; Settings -> Editor -> Code Style -> Go -> Run gofmt图示&#xff1a;

理解数字证书,守护你的大数据世界

随着大数据时代的来临&#xff0c;信息的安全性和可靠性成为了公众和企业关注的焦点。在这样的背景下&#xff0c;数字证书作为一种保障信息安全的重要工具&#xff0c;其重要性日益凸显。本文将从数字证书的基本概念、工作原理及其在大数据时代的应用等方面&#xff0c;为大家…

数据库管理-第161期 数据库,走着瞧(20240318)

数据库管理161期 2024-03-18 数据库管理-第161期 数据库&#xff0c;走着瞧&#xff08;20240318&#xff09;MySQLSACC走着瞧RACAIOps 总结 数据库管理-第161期 数据库&#xff0c;走着瞧&#xff08;20240318&#xff09; 作者&#xff1a;胖头鱼的鱼缸&#xff08;尹海文&am…

HTML + CSS 核心知识点- 定位

简述&#xff1a; 补充固定定位也会脱离文档流、不会占据原先位置 1、什么是文档流 文档流是指HTML文档中元素排列的规律和顺序。在网页中&#xff0c;元素按照其在HTML文档中出现的顺序依次排列&#xff0c;这种排列方式被称为文档流。文档流决定了元素在页面上的位置和互相之…

QT进阶-----------认识QT相关的模块(第四天)

1、关于Visual Studio与QT Creator的不同导入方式 Visual Studio作为windows宇宙最强编辑器以及编译器&#xff0c;它相当的好用&#xff0c;作为一个学了一年QT的菜鸟&#xff0c;总结了一些关于VS以及QT Creator两者的不同。 首先&#xff0c;在VS中qt是作为第三方库导入到…

怎么做好独立站的SEO优化

随着全球贸易的蓬勃发展&#xff0c;越来越多的企业开始关注外贸市场&#xff0c;并将目光投向了外贸网站。然而&#xff0c;在竞争激烈的外贸市场中&#xff0c;如何写出吸引人的文章&#xff0c;以及如何优化网站以在搜索引擎中脱颖而出&#xff0c;成为了外贸独立网站必须面…

机器学习-绪论

机器学习致力于研究如何通过计算的手段、利用经验来改善系统自身的性能。在计算机系统中&#xff0c;“经验”通常以“数据”的形式存在&#xff0c;因此&#xff0c;机器学习所研究的主要内容&#xff0c;是关于在计算机上从数据中产生“模型”的算法&#xff0c;即“学习算法…

PHP<=7.4.21 Development Server源码泄露漏洞 例题

打开题目 dirsearch扫描发现存在shell.php 非预期解 访问shell.php&#xff0c;往下翻直接就看到了flag.. 正常解法 访问shell.php 看见php的版本是7.3.33 我们知道 PHP<7.4.21时通过php -S开起的WEB服务器存在源码泄露漏洞&#xff0c;可以将PHP文件作为静态文件直接输…

LLM 面试知识点——模型基础知识

1、主流架构 目前LLM(Large Language Model)主流结构包括三种范式,分别为Encoder-Decoder、Causal Decoder、Prefix Decode。对应的网络整体结构和Attention掩码如下图。 、 各自特点、优缺点如下: 1)Encoder-Decoder 结构特点:输入双向注意力,输出单向注意力。 代表…

Tomcat:Session ID保持会话

目录 前言 ​一、部署环境 二、部署nginx反向代理服务器 三、部署tomcat服务器1 四、部署tomcat服务器2 五、客户端测试&#xff08;Session ID不断变动&#xff09; 六、配置Session ID会话保持 七、客户端测试&#xff08;Session ID保持&#xff09; 前言 此次实验…

C语言自定义库

编写 xx.c 和xx.h文件\将源代码编译为目标文件 gcc -c add.c sub.c 执行完毕后会生产add.o和sub.o文件静态库创建使用ar命令&#xff1b; ar -r libmymath.a add.o sub.o将库和main.c文件一起编译 gcc -o main main.c -lmymath -L./ 注意 上述书写格式不要错乱 -L 是指定文件路…

鸿蒙-项目创建及了解

目录 项目创建 1.App普通项目创建 2.元服务创建 项目结构 .hvigor .idea AppScope entry EntryAbility.ts pages resources module.json5 ohosTest hvigorfile.ts build-profile.json5 oh_modules build-profile.json5 hvigorfile.ts 项目运行 项目创建 F…

单模场哈密顿量推导

满足麦克斯韦方程和边界条件的单模场又下式&#xff08;1&#xff09;&#xff0c;&#xff08;2&#xff09;给出 --------&#xff08;1&#xff09; ---------&#xff08;2&#xff09; , 单模场的经典场能或者哈密顿量又下式给出&#xff1a; &#xff08;3&#xff09…