ASCEND C异构并行程序设计—— 昇腾算子编程指南
全新正版 极速发货
¥
34.36
5.7折
¥
59.8
全新
库存48件
作者苏统华,杜鹏,闫长江 著
出版社人民邮电出版社
ISBN9787115649720
出版时间2024-12
装帧平装
开本16开
定价59.8元
货号1203482174
上书时间2024-12-31
商品详情
- 品相描述:全新
- 商品描述
-
作者简介
苏统华
哈尔滨工业大学软件学院副院长,教授,博士生导师。主要科研方向为深度学习与异构计算、图像生成与安全等。承担国家重点研发课题、国家自然科学基金等科研项目30余项,发表论文80余篇,出版专著和译著15本。获聘首批华为昇腾领军人物(MVP,全国14人),担任首届MindSpore社区技术治理委员会成员(全球13人),担任华为昇腾专家,连续4年评为全国GPU教育工作者。
杜 鹏
博士,浙江大学计算机辅助设计与图形学国家重点实验室专职研究员,主要研究方向为图形学与CAD、人工智能、异构计算。在SIGGRAPH、CVPR等会议发表论文10余篇,出版《昇腾A处理器CANN架构与编程》《昇腾AI处理器CANN应用与实战——基于Atas硬件的人工智能案例开发指南》。获2021年度浙江省科学技术进步奖一等奖、2022年上海市技术发明奖一等奖。
闫长江
昇腾CANN首席架构师,负责昇腾AI处理器与异构计算架构CANN的架构设计,负责华为昇腾处理器的市场商用业务。在数据通信和计算机体系架构设计领域有超过20年的行业经验。
目录
第 1 章 昇腾AI处理器软硬件架构 1
1.1 Atlas硬件计算平台 1
1.1.1 Atlas服务器 1
1.1.2 Atlas集群 3
1.2 昇腾AI处理器 3
1.3 达 芬奇架构 5
1.3.1 计算单元 6
1.3.2 存储系统 13
1.3.3 控制单元 17
1.3.4 指令集设计 19
1.4 硬件感知 20
1.5 昇腾异构计算架构 22
1.6 小结 23
1.7 测验题 23
1.8 实践题 24
第 2 章 Ascend C快速入门 25
2.1 并行计算的基本原理 25
2.1.1 并行体系结构的分类 26
2.1.2 大模型并行加速的基本原理 28
2.1.3 并行效率量化的原理 29
2.2 Ascend C开发环境准备 30
2.2.1 版本选择 30
2.2.2 环境依赖 31
2.2.3 安装开发套件软件包 31
2.3 Ascend C算子的开发调用 32
2.3.1 CANN算子的类型 32
2.3.2 运行时和任务调度 34
2.3.3 两种核函数的调用方式 38
2.3.4 调用一个昇腾算子 39
2.4 昇腾向量加法程序的加速比 43
2.5 小结 43
2.6 测验题 43
2.7 实践题 44
第 3 章 Ascend C编程模型与编程范式 45
3.1 Ascend C编程模型 45
3.1.1 AI Core硬件抽象 45
3.1.2 SPMD编程模型 47
3.1.3 流水线编程范式 48
3.2 Ascend C语法扩展 50
3.2.1 Ascend C API概述 51
3.2.2 数据存储 53
3.2.3 任务间通信与同步模块 56
3.2.4 资源管理模块 57
3.2.5 临时变量 58
3.3 向量编程范式 59
3.3.1 算子分析 60
3.3.2 核函数的定义与封装 61
3.3.3 算子的数据通路 62
3.3.4 算子类的实现 63
3.3.5 算子的切分策略 67
3.4 矩阵编程范式 68
3.4.1 基础知识 68
3.4.2 高阶API实现Matmul算子流程概述 72
3.4.3 Matmul算子Kernel侧的开发 72
3.4.4 Matmul算子Host侧的开发 78
3.5 混合编程范式 81
3.5.1 matmul_leakyrelu算子的基本概念 81
3.5.2 matmul_leakyrelu算子Kernel侧的开发 82
3.6 更多Ascend C算子样例 88
3.6.1 双曲正弦函数算子核函数的实现 89
3.6.2 Strassen矩阵乘法算子核函数的实现 91
3.6.3 LayerNorm核函数的实现 101
3.7 小结 105
3.8 测验题 106
3.9 实践题 106
第 4 章 Ascend C算子开发流程 108
4.1 算子开发流程概述 108
4.2 自动生成算子工程 109
4.3 算子开发流程:Kernel侧 111
4.3.1 函数原型的声明 113
4.3.2 算子类的实现 113
4.4 算子开发流程:Host侧 114
4.4.1 Tiling实现 114
4.4.2 shape推导等函数的实现 117
4.4.3 算子原型的注册 118
4.5 算子工程的编译部署 119
4.5.1 算子工程的编译 119
4.5.2 算子包的部署 121
4.6 PyTorch算子调用 122
4.6.1 PyTorch算子调用的基本原理 122
4.6.2 安装PyTorch框架 122
4.6.3 安装torch_npu插件 123
4.6.4 安装APEX模块 124
4.6.5 调用测试脚本 125
4.7 Ascend C算子在整网中的替换 126
4.7.1 替换算子的工程开发及编译部署 126
4.7.2 PyTorch适配插件的开发 127
4.7.3 算子替换 129
4.8 小结 130
4.9 测验题 130
4.10 实践题 131
第 5 章 Ascend C算子调试调优 132
5.1 算子调试工具 132
5.1.1 孪生调试 132
5.1.2 CPU域的调试 132
5.1.3 NPU域的调试 135
5.2 算子调优工具 139
5.2.1 算子性能调优原理 139
5.2.2 算子调优基本流程 142
5.3 算子异常检测工具 143
5.3.1 算子内存的检测原理 143
5.3.2 算子竞争的检测原理 146
5.3.3 异常检测工具的使用方法 146
5.4 昇腾算子性能的优化方法 147
5.4.1 算子计算流程优化 147
5.4.2 代码实现优化 150
5.4.3 层次化访存优化 152
5.4.4 计算资源利用优化 153
5.5 小结 154
5.6 测验题 154
5.7 实践题 155
第 6 章 Ascend C大模型算子优化 156
6.1 大模型与自注意力算子的基础知识 156
6.1.1 大模型的奠基石——Transformer 156
6.1.2 自注意力算子在GPU上加速计算的发展 156
6.2 自注意力算子的优化算法 160
6.2.1 自注意力算子在昇腾AI处理器上的优化思路 160
6.2.2 自注意力算子的前向传播优化 161
6.3 自注意力算子前向传播的实现 167
6.3.1 矩阵切分 168
6.3.2 矩阵乘法计算 170
6.3.3 Softmax计算 171
6.3.4 第二次矩阵乘法及输出合并计算 173
6.4 自注意力算子的测试 176
6.4.1 生成算子API 176
6.4.2 编写测试项目 178
6.4.3 编译与运行 188
6.5 小结 188
6.6 测验题 189
6.7 实践题 189
内容摘要
本书以昇腾算子编程语言Ascend C的高效开发为核心,系统介绍华为面向人工智能的昇腾AI处理器架构、硬件抽象及其软件栈。本书由浅入深,通过案例讲解知识点,理论与实践并重。全书分为6章,分别介绍了昇腾AI处理器软硬件架构、Ascend C 快速入门、Ascend C编程模型与编程范式、Ascend C算子开发流程、Ascend C算子调试调优和Ascend C大模型算子优化。
本书适合人工智能产业的研发人员阅读,也适合软件工程、人工智能、信息安全、大数据、物联网等专业的本科生学习。
主编推荐
1、作者本身是哈工大软件学院副院长,具备教学经验和科研经验,且出版了两本昇腾方面的图书,具有一定的写作经验;
2、合作作者来自华为昇腾团队,是昇腾首席架构师,保证图书的技术是新且准确的;
3、本书介绍基于昇腾架构的人工智能编程在大模型等前沿领域的应用,覆盖新热点,适合ICT和人工智能行业工程师学习,也适合高校学生阅读。
— 没有更多了 —
以下为对购买帮助不大的评价