猜你喜欢
昇腾AI处理器架构与编程 深入理解CANN技术原理及应用 华为智能计算技术丛书

昇腾AI处理器架构与编程 深入理解CANN技术原理及应用 华为智能计算技术丛书

书籍作者:梁晓峣 ISBN:9787302534525
书籍语言:简体中文 连载状态:全集
电子书格式:pdf,txt,epub,mobi,azw3 下载次数:9591
创建日期:2021-02-14 发布日期:2021-02-14
运行环境:PC/Windows/Linux/Mac/IOS/iPhone/iPad/Kindle/Android/安卓/平板
内容简介

本书系统论述了基本达芬奇架构的昇腾(Asccnd)AI处理器的原理、架构与开发技术。全书共分6章,内容涵盖了神经网络理论基础、计算芯片与开源框架、昇腾AI处理器软硬件架构、编程理论与方法,以及典型案例等。为便于读者学习,书中还给出了基本昇腾AI处理器的丰富的技术文档、开发实例等线上资源。

本书可以作为普通高等学校人工智能、智能科学与技术、计算机科学与技术、电子信息工程、自动化等专业的本科生及研究生教材,也适合作为从事人工智能系统设计的科研和工程技术人员的参考用书。


作者简介

梁晓峣 上海交通大学计算机科学与工程系教授、博士生导师、学科带头人。毕业于美国哈佛大学,获得博士学位。研究方向包括计算机体系结构、集成电路设计、通用图形处理器和人工智能芯片架构等。发表论文80余篇(包括国际d级学术会议(ISCA、HPCA、MICRO、ISSCC、DAC、ICCAD等)论文),其中2篇入选计算机体系结构年度z佳论文(IEEE MICRO TOP PICKS)。




前言

PREFACE


前言


日出东方,其道大光;鲲鹏展翅,旭日昇腾!

一款芯片的研发,是一个漫长的过程;一款芯片的研发,也许就是一代人的心路历程。

随着深度学习在人工智能诸多领域的异军突起,从CPU到GPU,再到各类专属领域的定制芯片,我们迎来了计算机体系结构的黄金时代!然而一款处理器芯片的研发周期,少则数年,多则数十年。在滚滚向前的时代大潮中,只有那一批最耐得住寂寞,经得起诱惑的匠人,才能打造出计算机行业皇冠上最闪亮的明珠。

所以,当华为邀请我为昇腾AI处理器写一本教材时,我毫不犹豫地答应了。也许是出于对硬科技公司的高度认同,也许是出于对同道中人的由衷尊敬,更可能是出于一种骨子里的使命感,我深深地觉得我们这个时代太需要一颗代表国内科技最高水平的中国“芯”了!

华为推出面向人工智能计算场景的昇腾AI处理器,是希望通过更强的算力、更低的功耗,为深度学习的各类应用场景铺平道路。但是“千里之行,始于足下”,昇腾的使命任重道远。对于一款高端处理器来说,生态圈的培养和用户编程习惯的养成可谓重中之重,也是决定该款产品生死存亡的关键。编写本书的目的就是第一次向世人揭开昇腾AI处理器的神秘面纱,探索其内在的设计理念,从软硬件两方面阐述其架构特点,教会读者上手使用昇腾系列开发平台。“不积跬步,无以至千里”,如果把打造昇腾生态圈当作千里之行,那么本书便是尝试迈出的第一步。

本书定位人工智能芯片领域选修教材,面向工程科技类普通读者,尽可能删减繁杂抽象的公式、定理和理论推导。读者除需要具备基本的数学知识和编程能力外,无须预修任何课程。本书特别理想的受众是人工智能、计算机科学、电子工程、生物医药、物理、化学、金融统计等领域需要用到大规模深度学习计算的研发人员; 本书也为AI处理器的设计公司和开发者提供了有价值的参考。

本书共分6章,内容涵盖了神经网络理论基础、计算芯片与开源框架、昇腾AI处理器软硬件架构、编程理论与方法,以及典型案例等,希望能够从理论到实践,帮助读者了解昇腾AI处理器所使用的达芬奇架构,并掌握其具体的编程和使用方法,助力读者打造属于自己的人工智能应用。

空谈误国,实干兴邦。愿与诸位读者共勉。

感谢江子山和李兴对本书撰写工作做出的极大贡献,他们在资料整理与文字编排上注入了极大精力,并且编写和校对了本书中所有的程序示例代码。如果没有他们的全心投入,本书将很难顺利完成。

感谢陈子渊等对本书中的插图进行精心编辑和修改,使得本书的内容更加清晰形象、概念的解释更加具体明确。

感谢华为公司在本书写作过程中提供的资源和支持。

感谢清华大学出版社盛东亮老师和钟志芳老师等的大力支持,他们认真细致的工作保证了本书的质量。

由于编者水平有限,书中难免有疏漏和不足之处,恳请读者批评指正!




作者

2019年8月


目录

CONTENTS


目录


第1章基础理论00


1.1人工智能简史00


1.2深度学习概论00


1.3神经网络理论0


1.3.1神经元模型0


1.3.2感知机0


1.3.3多层感知机0


1.3.4卷积神经网络0


1.3.5应用示例0


第2章行业背景0


2.1神经网络芯片现状0


2.1.1CPU0


2.1.2GPU0


2.1.3TPU0


2.1.4FPGA0


2.1.5昇腾AI处理器0


2.2神经网络芯片加速理论0


2.2.1GPU加速理论0


2.2.2TPU加速理论0


2.3深度学习框架0


2.3.1MindSpore0


2.3.2Caffe0


2.3.3TensorFlow0


2.3.4PyTorch0


2.4深度学习编译框架——TVM0



第3章硬件架构0


3.1昇腾AI处理器总览0


3.2达芬奇架构0


3.2.1计算单元0


3.2.2存储系统0


3.2.3控制单元0


3.2.4指令集设计0


3.3卷积加速原理0


3.3.1卷积加速0


3.3.2架构对比0



第4章软件架构0


4.1昇腾AI软件栈总览0


4.2神经网络软件流


4.2.1流程编排器


4.2.2数字视觉预处理模块


4.2.3张量加速引擎(TBE)


4.2.4运行管理器


4.2.5任务调度器


4.2.6框架管理器


4.2.7神经网络软件流应用


4.3开发工具链


4.3.1功能简介


4.3.2功能框架


4.3.3工具功能


第5章编程方法


5.1深度学习开发基础


5.1.1深度学习编程理论


5.1.2深度学习推理优化原理


5.1.3深度学习推理引擎


5.2昇腾AI软件栈中的技术


5.2.1模型生成阶段


5.2.2应用编译与部署阶段


5.3自定义算子开发


5.3.1开发步骤


5.3.2AI CPU算子开发


5.3.3AI Core算子开发


5.4自定义应用开发


第6章实战案例


6.1评价标准


6.1.1精度


6.1.2交并比


6.1.3均值平均精度


6.1.4吞吐量和时延


6.1.5能效比


6.2图像识别


6.2.1数据集:ImageNet


6.2.2算法:ResNet


6.2.3模型迁移实践


6.3目标检测


6.3.1数据集:COCO


6.3.2算法:YoloV3


6.3.3自定义算子实践


附录A缩略词列表


附录BAscend开发者社区及资料下载


附录C智能开发平台ModelArts简介



产品特色