【2023 · CANN训练营第一季】应用开发(初级)——第一章 AscendCL概述

news2024/11/20 0:25:17

image.png

ACL基本概念

ACL基本概念

  • Host:
    Host指与Device相连接的X86服务器、ARM服务器,会利用Device提供的NN (Neural-Network )计算能力,完成业务。
  • Device:
    Device指安装了芯片的硬件设备,利用PCle接口与Host侧连接,为Host提供NN计算能力.
  • 同步/异步:
    同步、异步是站在调用者和执行者的角度来观察的,在当前场景下,若在Host调用接口后不等待Device执行完成再返回,则表示Host的调度是异步的;若在Host调用接口后需等待Device执行完成再返回,则表示Host的调度是同步的。
  • 进程/线程:
    本课程中提及的进程、线程,若无特别注明,则表示Host上的进程、线程。
  • Context:
    Context作为一个容器,管理了所有对象(包括Stream、Event、设备内存等)的生命周期。不同Context的Stream.
    不同Context的Event是完全隔离的,无法建立同步等待关系。

Context分为两种:
默认Context:调用aclrtSetDevice接口指定用于运算的Device时,系统会自动隐式创建一个默认Context,一个Device对应一个默认Context,默认Context不能通过aclrtDestroyContext接口来释放。
显式创建的Context:在进程或线程中调用aclrtCreateContext接口显式创建一个Context。

  • Stream:
    Stream用于维护一些异步操作的执行顺序,确保按照应用程序中的代码调用顺序在Device上执行。基于Stream的kernel执行和数据传输能够实现以下几种类型的并行:
    Host运算操作和Device运算操作并行;
    Host运算操作和“Host到Device的数据传输”并行;“Host到Device的数据传输”和Device运算操作并行
    Device内的运算并行

Stream分两种:
默认Stream:调用aclrtSetDevice接口指定用于运算的Device时,系统会自动隐式创建一个默认Stream,一个Device对应一个默认Stream,默认Stream不能通过aclrtDestroyStream接口来释放。
显式创建的Stream:在进程或线程中调用aclrtCreateStream接口显式创建一个Stream。

  • Event:
    支持调用ACL接口同步Stream之间的任务,包括同步Host与Device之间的任务、Device与Device间的任务.>例如,若stream2的任务依赖stream1的任务,想保证stream1中的任务先完成,这时可创建一个Event,并将Event插入到stream1,在执行stream2的任务前,先同步等待Event完成。
  • 动态AIPP:
    AIPP (Al Preprocessing)用于在Al Core上完成图像预处理,包括色域转换(转换图像格式)、图像归一化(减均值/乘系数)和抠图(指定抠图起始点,抠出神经网络需要大小的图片)等。>AIPP区分为静态AIPP和动态AIPP。您只能选择静态AIPP或动态AIPP方式来处理图片,不能同时配置静态AIPP和动态AIPP两种方式。
    – 静态AIPP:模型转换时设置APP模式为静态,同时设置AIPP参数,模型生成后,AIPP参数值被保存在离线模型("om)中每次模型推理过程采用固定的AIPP预处理参数(无法修改)。
    如果使用静态AIPP方式,多Batch情况下共用同一份AIPP参数。
    – 动态AIPP:模型转换时仅设置AIPP模式为动态,每次模型推理前,根据需求,在执行模型前设置动态AIPP参数值,然后在模型执行时可使用不同的AIPP参数。设置动态AIPP参数值的接口请参见设置动态AIPP参数如果使用动态AIPP方式,多Batch可使用不同的AIPP参数。

主要接口调用流程

image.png

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

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

相关文章

[黑盾CTF 2023] secret_message 复现

赛后拿到题目和pwn_ckyan的WP,复现一下,这个题坑还是不小的。120分钟的比赛,只作这一个题还差不多。 先看题。 __int64 __fastcall main(__int64 a1, char **a2, char **a3) {char buf[48]; // [rsp0h] [rbp-30h] BYREFinit_0();if ( check…

Fiddler抓包工具之fiddler界面工具栏介绍

fiddler界面工具栏介绍 ​ (1)WinConfig:windows 使用了一种叫做“AppContainer”的隔离技术,使得一些流量无法正常捕获,在 fiddler中点击 WinConfig 按钮可以解除这个诅咒,这个与菜单栏 Tools→Win8 Loopb…

Python 的 type() 和 isinstance() 函数

type()、isinstance()都是对象类型操作函数,用于判定对象类型,用哪个函数更好哩? 【学习的细节是欢悦的历程】 Python 官网:https://www.python.org/ Free:大咖免费“圣经”教程《 python 完全自学教程》,…

Git—常用指令

示意图 指令 描述 git -v 查看版本号 git init 创建仓库,初始化 git clone 仓库地址 下载远程仓库 git config user.name 名称 配置名称 git config user.email 邮箱 配置邮箱 git config --global user.name 名称 全局配置名称 git config --global …

水下图像1

d_r_26_.jpg 一个男子拿着一个标定板在站在水中 一个穿着黑色短裤的男子拿着标定板站在水中 一个戴着潜水镜的男子拿着标定板站在水中 一名男子正在水下潜水 有一个潜水员双手拿着一个标定板在站在水中 A man is standing in the water with a calibration board A man we…

信号在MATLAB中的运算——信号的积分和微分

信号在MATLAB中的运算——信号的积分和微分 对于连续时间信号,其微分运算是用 diff 函数来完成的, 其调用格式为:diff(function, variable, n), 其中 function:为需要进行求导运算的信号(或被赋值的符号…

关于esp8266模块与stm32f103模块的连接,问题分析

文章目录 模块和芯片实验目的连接方式main.hesp8266.cesp8266.htcp.ctcp.h实验中出现的问题源代码 模块和芯片 stm32f103c8t6 单片机 esp8266 wift 模块 实验目的 实现esp8266 模块的通讯(客户端) 连接方式 这个是我所使用的模块ESP-01S 类型的&…

C++中stack的用法(超详细,入门必看)

博主简介:Hello大家好呀,我是陈童学,一个与你一样正在慢慢前行的人。 博主主页:陈童学哦 所属专栏:CSTL 前言:Hello各位小伙伴们好!欢迎来到本专栏CSTL的学习,本专栏旨在帮助大家了解…

s2020gc56收集数据

作答区域&#xff1a; #include<bits/stdc.h> using namespace std; int n,k,s1,s2,h1,h2,he,ans,r2,r1,l2,l11,f[1000009]; int main() {cin>>n>>k;for(int i1;i<n;i)cin>>f[i];for(int i1;;i){s1;if(s1>k)break;h1h1f[i];}for(int in;;i--){…

神经网络实验--卷积神经网络

本实验主要为了掌握深度学习的基本原理&#xff1b;能够使用TensorFlow实现卷积神经网络&#xff0c;完成图像识别任务。 文章目录 1. 实验目的 2. 实验内容 3. 实验过程 题目一&#xff1a; 题目二&#xff1a; 实验小结&讨论题 1. 实验目的 ①掌握深度学习的基本原…

spring练习1

1、练习网站案例 1、建好相应的java类 package spring;public class Player {public int getId() {return id;}public void setId(int id) {this.id id;}public String getName() {return name;}public void setName(String name) {this.name name;}public String getPosit…

自学软件测试怎么学?新增软件测试(全栈),笔试及面试全套方法

既然是自学&#xff0c;那就如下方面着手吧。 1、面试(此篇文章的重磅) 2、思路 3、心态 4、技能 真所谓&#xff0c;“面试造飞机&#xff0c;工作拧螺丝”。咱们先从第一个&#xff0c;面试着手&#xff0c;这就好比写文章先列好提纲一样&#xff0c;要知道你这个行业具体有那…

【大学物理实验】绪论

《大学物理实验》实验报告册的封面&#xff0c;以下说法不正确的是&#xff1a; A. 应正确填写完整的学号 B. 预习前应写好姓名等相关信息 C. 报告册左上角应填写本班级报告箱编号 D. 除了姓名&#xff0c;其他信息可写可不写 正确答案&#xff1a; D 某同学完成某个实验&…

javascript基础四:== 和 ===区别,分别在什么情况使用?

一、等于操作符 等于操作符用两个等于号&#xff08; &#xff09;表示&#xff0c;如果操作数相等&#xff0c;则会返回 true 前面文章&#xff0c;我们提到在JavaScript中存在隐式转换。等于操作符&#xff08;&#xff09;在比较中会先进行类型转换&#xff0c;再确定操作…

Redis集群安装之哨兵集群

1.哨兵集群介绍及原理 主从模式&#xff0c;当主节点宕机之后&#xff0c;从节点是可以作为主节点顶上来&#xff0c;继续提供服务的。但是有一个问题&#xff0c;主节点的IP已经变动了&#xff0c;此时应用服务还是拿着原主节点的地址去访问&#xff0c;此时就需要人工干预进行…

阿里巴巴 MySQL binlog 增量订阅消费组件canal实现mysql数据同步

canal实现mysql数据同步 简介&#xff1a;最近线上系统进行压测&#xff0c;评估线上系统容量&#xff0c;根据压测情况对代理层&#xff0c;代码&#xff0c;sql等都做了相应的优化&#xff0c;而系统最大的瓶颈在于数据库&#xff0c;根据实际业务情况&#xff0c;决定对数据…

迅镭激光董事长颜章健受邀参加江苏师范大学研究生毕业答辩活动

5月20日&#xff0c;迅镭激光董事长颜章健应邀赴江苏师范大学物电学院进行为期2天的考察交流&#xff0c;并作为特聘专家参加光电信息工程专业研究生毕业答辩活动。 校企携手 再谱新篇 考察期间&#xff0c;江苏师范大学物电学院举行欢迎座谈会&#xff0c;江苏师范大学学科办…

二叉搜索树(查找、插入、删除的讲解实现+图文并茂)

目录 1. 二叉搜索树&#xff08;BST&#xff09; 1.1 二叉搜索树概念 1.2 二叉搜索树操作 1.2.1 二叉搜索树的查找 1.2.2 二叉搜索树的插入 1.2.3 二叉搜索树的删除 2. 二叉搜索树的实现 2.1BST基本结构 2.2 BST操作成员函数(非递归&#xff09; 2.3 BST操作成员函数&#x…

开放式耳机是什么意思?2023年开放式耳机推荐指南

开放式耳机&#xff0c;就是开放耳朵不需要塞入耳道的一种耳机。 这种耳机包括气传导和骨传导两种类型。气传导耳机采用波束成形技术进行定向传音&#xff0c;将音频传送到耳朵&#xff0c;其所采用的空气传导原理在发声的时候不会引起振动。 而骨传导耳机则是通过震动颅骨来…

HttpRunnerManager接口自动化测试框架在win环境下搭建教程

近几日一直在研究如何把接口自动化做的顺畅&#xff0c;目前用的是轻量级jmeterantJenkins自动化测试框架&#xff0c;目前测试界的主流是python语言&#xff0c;所以一直想用搭建一个基于python的HttpRunnerManager。公司项目也比较多&#xff0c;在上班的过程中偶尔研究了一下…