【华为云技术分享】昇腾AI处理器软件栈--总览

摘要:
昇腾AI软件栈主要分为4个层次和一个辅助工具链。昇腾AI软件栈逻辑架构图L3应用使能层L3应用使能层是应用级封装,主要是面向特定的应用领域,提供不同的处理算法。L1芯片使能层L1芯片使能层是离线模型通向昇腾AI处理器的桥梁。L0计算资源层L0计算资源层是昇腾AI处理器的硬件算力基础。AICore是昇腾AI处理器的算力核心,主要完成神经网络的矩阵相关计算。

昇腾AI软件栈提供了计算资源、性能调优的运行框架以及功能多样的配套工具,是一套完整的解决方案,可以使昇腾AI处理器发挥出极佳的性能。

昇腾AI软件栈可以分为神经网络相关软件模块、工具链以及其它软件模块。

· 神经网络软件主要包含了流程编排器(Matrix),框架管理器(Framework),运行管理器(Runtime)、数字视觉预处理模块(Digital Vision Pre-Processing,DVPP)、张量加速引擎(Tensor Boost Engine,TBE)以及任务调度器(Task Scheduler,TS)等功能模块,主要用来完成神经网络模型的生成、加载和执行等功能。

· 工具链主要为神经网络实现过程提供了辅助便利。

这些主要组成部分在软件栈中功能和作用相互依赖,承载着数据流、计算流和控制流。昇腾AI软件栈主要分为4个层次和一个辅助工具链。4个层次分别为L3应用使能层、L2执行框架层、L1芯片使能层和L0计算资源层。工具链主要提供了程序开发、编译调测、应用程序流程编排、日志管理和性能分析等辅助能力。

昇腾AI软件栈逻辑架构图
【华为云技术分享】昇腾AI处理器软件栈--总览第1张

L3应用使能层

L3应用使能层是应用级封装,主要是面向特定的应用领域,提供不同的处理算法。应用使能层包含计算机视觉引擎、语言文字引擎以及通用业务执行引擎等,其中:

·计算机视觉引擎面向计算机视觉领域提供一些视频或图像处理的算法封装,专门用来处理计算机视觉领域的算法和应用。

·语言文字引擎面向语音及其他领域,提供一些语音、文本等数据的基础处理算法封装等,可以根据具体应用场景提供语言文字处理功能。

·通用业务执行引擎提供通用的神经网络推理能力。

在通用业务需求上,基于流程编排器定义对应的计算流程,然后由通用业务执行引擎进行具体的功能实现。L3应用使能层为各领域提供具有计算和处理能力的引擎,并可以直接使用下一层L2执行框架提供的框架调度能力,通过通用框架来生成相应的神经网络而实现具体的引擎功能。

L2执行框架层

L2执行框架层是框架调用能力和离线模型生成能力的封装,包含了框架管理器以及流程编排器。

对于昇腾AI处理器,L2执行框架提供了神经网络的离线生成和执行能力,可以脱离深度学习框架(如Caffe、TensorFlow等)使得离线模型(Offline Model,OM)具有同样的能力(主要是推理能力)。框架管理器中包含了离线模型生成器(Offline Model Generator, OMG)、离线模型执行器(Offline Model Executor, OME)和离线模型推理接口,支持模型的生成、加载、卸载和推理计算执行。

离线模型生成器主要负责将Caffe或TensorFlow框架下已经生成的模型文件和权重文件转换成离线模型文件,并可以在昇腾AI处理器上独立执行。离线模型执行器负责加载和卸载离线模型,并将加载成功的模型文件转换为可执行在昇腾AI处理器上的指令序列,完成执行前的程序编译工作。这些离线模型的加载和执行都需要流程编排器进行统筹。流程编排器向开发者提供用于深度学习计算的开发平台,包含计算资源、运行框架以及相关配套工具等,让开发者可以便捷高效的编写在特定硬件设备上运行的人工智能应用程序,负责对模型的生成、加载和运算的调度。在L2层将神经网络的原始模型转化成最终可以执行在昇腾AI处理器上运行的离线模型后,离线模型执行器将离线模型传送给L1芯片使能层进行任务分配。

L1芯片使能层

L1芯片使能层是离线模型通向昇腾AI处理器的桥梁。在收到L2执行框架生成的离线模型后,针对不同的计算任务,L1芯片使能层主要通过加速库(Library)给离线模型计算提供加速功能。L1芯片使能层是最接近底层计算资源的一层,负责给硬件输出算子层面的任务。L1芯片使能层主要包含数字视觉预处理模块、张量加速引擎、运行管理器、驱动以及任务调度器。

在L1芯片使能层中,以芯片的张量加速引擎为核心,支持离线模型的加速计算。张量加速引擎中包含了标准算子加速库,这些算子经过优化后具有良好性能。算子在执行过程中与位于算子加速库上层的运行管理器进行交互,同时运行管理器与L2执行框架层进行通信,提供标准算子加速库接口给L2执行框架层调用,让具体网络模型能找到优化后的、可执行的、可加速的算子进行功能上的最优实现。如果L1芯片使能层的标准算子加速库中无L2执行框架层所需要的算子,这时可以通过张量加速引擎编写新的自定义算子来支持L2执行框架层的需要,因此张量加速引擎通过提供标准算子库和自定义算子的能力为L2执行框架层提供了功能完备性的算子。

在张量加速引擎下面是任务调度器,根据相应的算子生成具体的计算核函数后,任务调度器会根据具体任务类型处理和分发相应的计算核函数到AI CPU或者AI Core上,通过驱动激活硬件执行。任务调度器本身运行在一个专属的CPU核上。

数字视觉预处理模块是一个面向图像视频领域的多功能封装体。在遇到需要进行常见图像或视频预处理的场景时,该模块为上层提供了使用底层专用硬件的各种数据预处理能力。

L0计算资源层

L0计算资源层是昇腾AI处理器的硬件算力基础。在L1芯片使能层完成算子对应任务的分发后,具体计算任务的执行开始由L0计算资源层启动。L0计算资源层包含了操作系统、AI CPU、AI Core和DVPP专用硬件模块。

AI Core是昇腾AI处理器的算力核心,主要完成神经网络的矩阵相关计算。而AI CPU完成控制算子、标量和向量等通用计算。如果输入数据需要进行预处理操作,DVPP专用硬件模块会被激活并专门用来进行图像和视频数据的预处理执行,在特定场景下为AI Core提供满足计算需求的数据格式。AI Core主要负责大算力的计算任务,AI CPU负责较为复杂的计算和执行控制功能,DVPP硬件完成数据预处理功能,而操作系统的作用是使得三者紧密辅助,组成一个完善的硬件系统,为昇腾AI处理器的深度神经网络计算提供了执行上的保障。

工具链

工具链是一套支持昇腾AI处理器,并可以方便程序员进行开发的工具平台,提供了自定义算子的开发、调试和网络移植、优化及分析功能的支撑。另外在面向程序员的编程界面提供了一套桌面化的编程服务,极大的降低了深度神经网络相关应用程序的开发门槛。

工具链中包括工程管理、工程编译、流程编排、离线模型转换、算子比对、日志管理、性能分析工具、自定义算子等。因此,工具链为在此平台上的应用开发和执行提供了多层次和多功能的便捷服务。

HDC.Cloud 华为开发者大会2020 即将于2020年2月11日-12日在深圳举办,是一线开发者学习实践鲲鹏通用计算、昇腾AI计算、数据库、区块链、云原生、5G等ICT开放能力的最佳舞台。

欢迎报名参会https://www.huaweicloud.com/HDC.Cloud.html?utm_source=&utm_medium=&utm_campaign=&utm_content=techcommunity

【华为云技术分享】昇腾AI处理器软件栈--总览第2张

免责声明:文章转载自《【华为云技术分享】昇腾AI处理器软件栈--总览》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇Aptana Studio 3 汉化简体中文版Spring Tool Suite4(sts)复制粘贴卡顿(ctrl+v, ctrl+c)、按住ctrl也很卡下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

【转载】 再励学习面试真题 (强化学习面试真题)

原文地址: https://zhuanlan.zhihu.com/p/33133828 (本文最开始写在WPS里,往知乎粘贴后格式和高亮都没有了。大家可以从CSDN再励学习面试真题-CSDN下载下载本文。百度文库、道客巴巴强行不让公开。) 前言 本人于17年4月对再励学习产生了兴趣,8月将其定为自己未来学习的核心。在10月~12月的求职中,一直将增强学习作...

AI2(App Inventor 2)离线版服务器单机版

注意:每次退出前导出自己的项目到本地做备份。 单机版特点: 1.同步官方最新版本,没有对java源代码进行修改,仅修改warlogin.jsp及warWEB-INFappengine-web.xml;2.无需联网,已经设置Rendezvous服务器为127.0.0.1:8888;3.带有桌面汉化版AI伴侣,已经设置Rendezvous Server为127...

重构笔记---MEF框架(下)

概述 上一篇介绍了MEF的一个很简单很基本的应用,实现了MEF框架并展示了MEF框架的一些基本的要求和设置,这些基础知识很重要,接下来我们分析一下如何扩展或增强MEF框架内容。 增强的Contract类库 其实有了上篇的介绍,读者很快会发现,Contract类库制约性很强,或者说“它”只引用了windows自带的System.XXX类型的公共类库,而往往在...

单麦克风AI降噪模块及解决方案

前记   随着以AI为核心的智能设备的广泛发展,语音这个非常重要的入口一直是很多厂商争夺的市场。作为音频采集的前端设备,能采集到的距离远,清晰度高,无噪声的信号是一个非常重要的能力。这样就对音频前端降噪提出了新的需求,需要前端降噪更加智能化,更加深度化,更加低成本化。  面对市场的强劲需求和市场的不断变化,该团队在降噪算法领域经过多年的技术积累和沉淀,把降...

如何使用华为机器学习服务和Kotlin实现语音合成

1. 引言   你曾遇到过这种情况吗?一本小说太长,要花很长时间阅读,但如果有app能自动为你阅读,就会省时很多。因此,将文本转换成语音的工具应运而生。华为机器学习服务(HUAWEI ML Kit)具备语音合成(Text To Speech, TTS)功能,能让app快速实现从文本到语音的转换。TTS可以将文本转换成人声。这也可以通过默认方法实现,但这些方...

智能威胁分析之图数据构建——关联数据为环境数据图:如资产、资产脆弱性、文件信息、用户信息、IT系统架构信息等 行为数据图:如网络侧检测告警、终端侧检测告警、文件分析日志、应用日志、蜜罐日志、沙箱日志等 情报数据图:各类外部威胁情报 知识数据图:各类知识库(如ATT&CK,CAPEC,CWE)等

智能威胁分析之图数据构建 安全运营 绿盟科技研究通讯 2019-05-24   随着数据的丰富和检测、关联能力的提升、响应能力更自动化,各大厂商也逐渐开始思考智慧安全能力的构建,以针对安全数据实现更通用的自动化推理能力。 RSAC大会的热度似乎持续了一整个北京的春天,直播、新闻、技术解读、研讨活动让人应接不暇。从RSA大会官网上查询今年“Bette...