【直算力核心,通理论到芯片的路】本书从线性代数基础出发,系统阐释其与计算机体系结构(CPU、GPGPU、分布式)的深度关联,构建从数学原理到芯片级算法优化的完整知识图谱。 【深剖析BLAS生态,覆盖主流硬件平台】全面详解高性能计算基石——BLAS库,涵盖OpenBLAS、cuBLAS/CUTLASS、OpenCL/CLBlast、Spark MLlib BLAS等核心实现,助读者掌握跨CPU、GPU及分布式集群的优化实践。
售 价:¥
纸质售价:¥78.80购买纸书
6.7
温馨提示:数字商品不支持退换货,不提供源文件,不支持导出打印
为你推荐

版 权
内容提要
推荐序1
推荐序2
前 言
资源与支持
第一部分 线性代数前置知识
第1章 基础线性代数算法简介
1.1 高性能计算
1.2 高性能计算数学库
1.2.1 高性能计算数学库简介
1.2.2 高性能计算数学库分类
1.3 基础线性代数算法
1.3.1 稠密矩阵和稀疏矩阵
1.3.2 针对稠密矩阵的线性代数算法
1.3.3 针对稀疏矩阵的线性代数算法
1.4 本章小结
第2章 数学基础
2.1 线性代数的基本概念
2.1.1 向量和向量空间
2.1.2 行列式和矩阵
2.1.3 线性方程组
2.1.4 矩阵的秩
2.2 矩阵乘法
2.2.1 概述
2.2.2 基于内积和外积的矩阵乘法
2.2.3 矩阵乘法切分逻辑
2.2.4 蛋糕模型
2.2.5 Strassen算法
2.3 多项式方程组求解
2.4 本章小结
第二部分 计算机体系结构和算法优化
第3章 计算机体系结构
3.1 冯·诺依曼架构
3.2 存储系统
3.2.1 主存(主存储器)
3.2.2 缓存
3.2.3 主存和缓存之间的映射关系
3.2.4 Bank冲突问题
3.3 控制系统
3.3.1 指令控制器
3.3.2 时序控制器
3.3.3 总线控制器
3.4 通信系统
3.4.1 总线
3.4.2 PCIe标准
3.4.3 NVLink标准
3.5 服务器系统架构
3.5.1 SMP架构
3.5.2 NUMA架构
3.5.3 MPP架构
3.6 本章小结
第4章 CPU
4.1 CPU概述
4.2 CPU向量指令系统
4.2.1 X86架构
4.2.2 ARM架构
4.3 CPU算法优化方法
4.3.1 CPU的理论极限和算法的计算访存比
4.3.2 RoofLine模型
4.4 实战:在CPU上优化矩阵乘法
4.4.1 优化一:根据NEON指令的粒度,对矩阵进行第一次分块
4.4.2 优化二:扩大计算规模,提高计算访存比
4.4.3 优化三:访存优化,提高计算访存比
4.5 本章小结
第5章 GPGPU
5.1 GPGPU概述
5.2 GPGPU架构介绍
5.2.1 GPGPU架构概述
5.2.2 运算器
5.2.3 控制器
5.2.4 存储器
5.2.5 GPGPU与CPU的对比
5.3 开源GPGPU项目——承影GPGPU
5.4 并行计算算法优化方法
5.4.1 GPU的理论极限和算法的计算访存比
5.4.2 优化方法论
5.4.3 实战:在GPU上优化一个矩阵乘法
5.5 本章小结
第6章 分布式计算
6.1 分布式计算概述
6.2 大数据时代分布式计算架构
6.2.1 MapReduce架构
6.2.2 DAG架构
6.3 分布式计算算法优化方法
6.3.1 逻辑优化
6.3.2 物理优化
6.3.3 数据优化
6.4 本章小结
第三部分 BLAS 库与多种硬件平台
第7章 高性能BLAS库
7.1 BLAS概述
7.1.1 BLAS发展历史
7.1.2 BLAS特性
7.1.3 BLAS生态系统
7.2 BLAS函数的命名规范
7.3 各级别BLAS函数
7.3.1 Level 1函数
7.3.2 Level 2函数
7.3.3 Level 3函数
7.4 BLAS函数
7.4.1 BLAS函数的分类
7.4.2 BLAS函数之间的内部推导关系
7.5 本章小结
第8章 OpenBLAS
8.1 OpenBLAS概述
8.1.1 OpenBLAS与张先轶
8.1.2 OpenBLAS的前世今生
8.1.3 OpenBLAS的现状
8.2 OpenBLAS实战
8.2.1 OpenBLAS的安装方法
8.2.2 OpenBLAS的使用方法
8.3 OpenBLAS架构设计
8.3.1 目录结构
8.3.2 软件调用架构
8.4 OpenBLAS GEMM算法详解
8.5 本章小结
第9章 CUDA、cuBLAS和CUTLASS
9.1 CUDA概述
9.1.1 NVIDIA简介
9.1.2 NVIDIA GPU硬件架构
9.1.3 CUDA简介
9.2 CUDA架构与实战
9.2.1 CUDA基本概念
9.2.2 CUDA硬件架构
9.2.3 CUDA内存模型
9.2.4 CUDA执行流程
9.2.5 CUDA性能优化
9.2.6 CUDA实战
9.3 cuBLAS概述
9.4 cuBLAS实战
9.5 CUTLASS概述
9.6 CUTLASS GEMM算法详解
9.6.1 使用方法
9.6.2 矩阵分块策略
9.6.3 整体计算过程
9.6.4 主机端前处理
9.6.5 设备端前处理
9.6.6 设备端核心计算
9.6.7 设备端后处理
9.7 本章小结
第10章 OpenCL和CLBlast
10.1 OpenCL概述
10.2 OpenCL架构设计
10.3 OpenCL编程模型
10.4 OpenCL存储结构
10.4.1 存储分区
10.4.2 存储对象
10.4.3 共享虚拟内存
10.5 OpenCL实战
10.6 CLBlast概述
10.6.1 OpenCL相关的BLAS库
10.6.2 CLBlast特性
10.7 CLBlast实战
10.8 CLBlast GEMM算法详解
10.8.1 函数定义
10.8.2 非直接GEMM算法执行过程
10.9 本章小结
第11章 Spark和Spark MLlib BLAS
11.1 Spark和Spark SQL概述
11.1.1 Spark概述
11.1.2 Spark SQL概述
11.2 Spark MLlib BLAS详解
11.2.1 Spark MLlib概述
11.2.2 对矩阵和向量的支持
11.2.3 BLAS函数的使用
11.2.4 分布式矩阵
11.2.5 对UDT的支持
11.2.6 Spark SQL的使用
11.3 Spark MLlib BLAS GEMM算法详解
11.3.1 Spark引用的BLAS库
11.3.2 分布式矩阵乘法算法
11.4 本章小结
第四部分 BLAS库与人工智能
第12章 BLAS库在人工智能方面的应用
12.1 卷积神经网络的计算流程
12.1.1 卷积层
12.1.2 全连接层
12.1.3 池化层
12.1.4 上采样层
12.1.5 连接层
12.1.6 其他网络层
12.2 卷积神经网络的并行加速
12.2.1 层内并行
12.2.2 层间流水
12.3 卷积神经网络加速实战
12.3.1 cuDNN库概述
12.3.2 cuDNN库安装
12.3.3 cuDNN库使用方法
12.4 本章小结
买过这本书的人还买过
读了这本书的人还在读
同类图书排行榜