新書推薦:

《
古代城邦(修订版)(经典与解释·古今丛编)
》
售價:HK$
109.8

《
诱捕:青春穿越小说 穿书系统×双向救赎
》
售價:HK$
52.8

《
战后日本对外文化战略研究(1945—1972)
》
售價:HK$
107.8

《
斯坦福十条:AI时代,顶尖大学要这样的人
》
售價:HK$
76.8

《
跃入夏天2:青春校园治愈成长小说 沉默寡言排球手x暴躁可爱小不点
》
售價:HK$
47.1

《
百妖谱3:裟椤双树代表作 奇幻百妖谱动漫原著系列小说 古风青春文学玄幻巨作
》
售價:HK$
49.5

《
西方哲学史:从前苏格拉底到后现代主义
》
售價:HK$
153.8

《
读者考试精选+青年文摘考试精选+登天的感觉:我让考生超常发挥 岳晓东著 如何让考生超常发挥高度自信青
》
售價:HK$
96.8
|
| 編輯推薦: |
【直击算力核心,打通理论到芯片的链路】本书从线性代数基础出发,系统阐释其与计算机体系结构(CPU、GPGPU、分布式)的深度关联,构建从数学原理到芯片级算法优化的完整知识图谱。 【深入剖析BLAS生态,覆盖主流硬件平台】全面详解高性能计算基石——BLAS库,涵盖OpenBLAS、cuBLAS/CUTLASS、OpenCL/CLBlast、Spark MLlib BLAS等核心实现,助读者掌握跨CPU、GPU及分布式集群的优化实践。 【聚焦异构计算,解锁AI算力瓶颈】紧密结合人工智能时代对算力的迫切需求,深入讲解如何在不同芯片架构(包括国产开源GPGPU项目)上优化线性代数计算,为AI模型训练与推理提供底层加速方案。 【产业界与学术界双重视角,兼具深度与广度】作者团队兼具研发实战与理论背景,内容不仅涵盖经典算法与架构分析,更融入对行业前沿(如后摩尔时代算力挑战)的思考,得到领域内院士及产业专家的联袂推荐。 【实战导向,提供从方法到案例的完整指引】通过矩阵乘法优化等具体案例,逐步展示算法优化方法(如RoofLine模型、访存优化、并行策略),并提供配套彩色插图与思维导图,降低高性能
|
| 內容簡介: |
本书主要探讨线性代数与高性能计算之间的紧密联系,并着重介绍在芯片架构算法优化中如何应用BLAS库。本书分为四部分,共12章。第一部分从线性代数的基础知识开始介绍,逐步深入介绍矩阵运算、向量空间、线性变换以及特征值和特征向量等核心概念;第二部分主要介绍计算机体系结构及其衍生出来的多种处理芯片(CPU、GPGPU等)和分布式计算;第三部分主要介绍高性能计算数学库BLAS的基本概念和基础的实现思路,以及高性能计算数学库的实现框架,如OpenBLAS、CUDA(及其BLAS库,包括cuBLAS、CUTLASS)、OpenCL、CLBlast、Spark和Spark MLlib BLAS;第四部分主要介绍BLAS库在人工智能方面的应用。來源:香港大書城megBookStore,http://www.megbook.com.hk 本书适合对线性代数和芯片架构算法优化感兴趣的读者阅读。无论是计算机相关专业的学生、高性能计算爱好者、算法工程师,还是希望进入高性能计算行业的人士,都能从中找到适合自己的学习内容。
|
| 關於作者: |
|
赵先明,本硕博毕业于哈尔滨工业大学。曾任中兴通讯股份有限公司 CTO、董事长和总裁。作为中兴通讯移动通信领域的主要技术负责人之一,参与了 2G 到 5G 相关技术的研发和产业化全过程。共获国家级奖项8项,省部级奖项 12 项。邹晓虎,哈尔滨工业大学管理学博士、材料学博士后,哈尔滨工业大学兼职教授;具有深厚的热能工程、无机非金属材料学专业技术知识,在国家级刊物公开发表文章 15 篇,拥有发明专利 24 项;在政、产、学、研、金贸等诸多领域任职多年。刘钧文,北京红山微电子技术有限公司基础线性代数算法库负责人,京东城市时空数据引擎(JUST)创始人之一,算法工程师。中国计算机学会(CCF)类数据库专业委员会通讯委员。著有《Calcite 数据管理实战》《GeoTools 地理信息系统开发》《GeoMesa 时空数据管理》。夏津,毕业于哈尔滨工业大学,主要从事高性能计算和 A 芯片领域的研究,从事相关工作5年。具备A模型部署的实战经验,曾为多个开源 A| 推理框架贡献代码。窦兴林,毕业于西安电子科技大学,长期从事半导体芯片的设计与封装工作。曾在广东晶科电子股份有限公司、大唐电信科技股份有限公司、中移物联网有限公司等业内领先企业任职,积累了丰富的芯片行业经验。
|
| 目錄:
|
第 一部分 线性代数前置知识 第 1章 基础线性代数算法简介 3 1.1 高性能计算 3 1.2 高性能计算数学库 4 1.2.1 高性能计算数学库简介 4 1.2.2 高性能计算数学库分类 4 1.3 基础线性代数算法 7 1.3.1 稠密矩阵和稀疏矩阵 7 1.3.2 针对稠密矩阵的线性代数算法 10 1.3.3 针对稀疏矩阵的线性代数算法 10 1.4 本章小结 11 第 2章 数学基础 12 2.1 线性代数的基本概念 12 2.1.1 向量和向量空间 12 2.1.2 行列式和矩阵 13 2.1.3 线性方程组 14 2.1.4 矩阵的秩 15 2.2 矩阵乘法 15 2.2.1 概述 15 2.2.2 基于内积和外积的矩阵乘法 17 2.2.3 矩阵乘法切分逻辑 18 2.2.4 蛋糕模型 21 2.2.5 Strassen算法 23 2.3 多项式方程组求解 27 2.4 本章小结 29 第二部分 计算机体系结构和算法优化 第3章 计算机体系结构 33 3.1 冯 诺依曼架构 33 3.2 存储系统 35 3.2.1 主存(主存储器) 35 3.2.2 缓存 37 3.2.3 主存和缓存之间的映射关系 38 3.2.4 Bank冲突问题 40 3.3 控制系统 42 3.3.1 指令控制器 42 3.3.2 时序控制器 42 3.3.3 总线控制器 43 3.4 通信系统 43 3.4.1 总线 44 3.4.2 PCIe标准 45 3.4.3 NVLink标准 46 3.5 服务器系统架构 47 3.5.1 SMP架构 47 3.5.2 NUMA架构 48 3.5.3 MPP架构 49 3.6 本章小结 50 第4章 CPU 51 4.1 CPU概述 51 4.2 CPU向量指令系统 52 4.2.1 X86架构 52 4.2.2 ARM架构 53 4.3 CPU算法优化方法 55 4.3.1 CPU的理论极限和算法的计算访存比 55 4.3.2 RoofLine模型 56 4.4 实战:在CPU上优化矩阵乘法 57 4.4.1 优化一:根据NEON指令的粒度,对矩阵进行第 一次分块 59 4.4.2 优化二:扩大计算规模,提高计算访存比 60 4.4.3 优化三:访存优化,提高计算访存比 61 4.5 本章小结 62 第5章 GPGPU 63 5.1 GPGPU概述 63 5.2 GPGPU架构介绍 64 5.2.1 GPGPU架构概述 64 5.2.2 运算器 66 5.2.3 控制器 71 5.2.4 存储器 71 5.2.5 GPGPU与CPU的对比 71 5.3 开源GPGPU项目——承影GPGPU 72 5.4 并行计算算法优化方法 73 5.4.1 GPU的理论极限和算法的计算访存比 73 5.4.2 优化方法论 74 5.4.3 实战:在GPU上优化一个矩阵乘法 74 5.5 本章小结 76 第6章 分布式计算 77 6.1 分布式计算概述 77 6.2 大数据时代分布式计算架构 78 6.2.1 MapReduce架构 78 6.2.2 DAG架构 80 6.3 分布式计算算法优化方法 81 6.3.1 逻辑优化 82 6.3.2 物理优化 84 6.3.3 数据优化 87 6.4 本章小结 90 第三部分 BLAS库与多种硬件平台 第7章 高性能BLAS库 93 7.1 BLAS概述 93 7.1.1 BLAS发展历史 93 7.1.2 BLAS特性 95 7.1.3 BLAS生态系统 95 7.2 BLAS函数的命名规范 96 7.3 各级别BLAS函数 103 7.3.1 Level 1函数 103 7.3.2 Level 2函数 104 7.3.3 Level 3函数 105 7.4 BLAS函数 105 7.4.1 BLAS函数的分类 105 7.4.2 BLAS函数之间的内部推导关系 124 7.5 本章小结 125 第8章 OpenBLAS 126 8.1 OpenBLAS概述 126 8.1.1 OpenBLAS与张先轶 127 8.1.2 OpenBLAS的前世今生 127 8.1.3 OpenBLAS的现状 127 8.2 OpenBLAS实战 128 8.2.1 OpenBLAS的安装方法 128 8.2.2 OpenBLAS的使用方法 129 8.3 OpenBLAS架构设计 132 8.3.1 目录结构 132 8.3.2 软件调用架构 134 8.4 OpenBLAS GEMM算法详解 135 8.5 本章小结 139 第9章 CUDA、cuBLAS和CUTLASS 140 9.1 CUDA概述 140 9.1.1 NVIDIA简介 140 9.1.2 NVIDIA GPU硬件架构 141 9.1.3 CUDA简介 143 9.2 CUDA架构与实战 145 9.2.1 CUDA基本概念 145 9.2.2 CUDA硬件架构 146 9.2.3 CUDA内存模型 146 9.2.4 CUDA执行流程 147 9.2.5 CUDA性能优化 147 9.2.6 CUDA实战 148 9.3 cuBLAS概述 152 9.4 cuBLAS实战 153 9.5 CUTLASS概述 155 9.6 CUTLASS GEMM算法详解 156 9.6.1 使用方法 156 9.6.2 矩阵分块策略 158 9.6.3 整体计算过程 159 9.6.4 主机端前处理 160 9.6.5 设备端前处理 164 9.6.6 设备端核心计算 165 9.6.7 设备端后处理 170 9.7 本章小结 172 第 10章 OpenCL和CLBlast 173 10.1 OpenCL概述 173 10.2 OpenCL架构设计 174 10.3 OpenCL编程模型 176 10.4 OpenCL存储结构 179 10.4.1 存储分区 179 10.4.2 存储对象 181 10.4.3 共享虚拟内存 182 10.5 OpenCL实战 183 10.6 CLBlast概述 187 10.6.1 OpenCL相关的BLAS库 187 10.6.2 CLBlast特性 188 10.7 CLBlast实战 188 10.8 CLBlast GEMM算法详解 191 10.8.1 函数定义 191 10.8.2 非直接GEMM算法执行 过程 193 10.9 本章小结 197 第 11章 Spark和Spark MLlib BLAS 198 11.1 Spark和Spark SQL概述 198 11.1.1 Spark概述 198 11.1.2 Spark SQL概述 199 11.2 Spark MLlib BLAS详解 200 11.2.1 Spark MLlib概述 200 11.2.2 对矩阵和向量的支持 201 11.2.3 BLAS函数的使用 208 11.2.4 分布式矩阵 210 11.2.5 对UDT的支持 215 11.2.6 Spark SQL的使用 216 11.3 Spark MLlib BLAS GEMM算法 详解 218 11.3.1 Spark引用的BLAS库 218 11.3.2 分布式矩阵乘法算法 222 11.4 本章小结 225 第四部分 BLAS库与人工智能 第 12章 BLAS库在人工智能方面的 应用 229 12.1 卷积神经网络的计算流程 229 12.1.1 卷积层 229 12.1.2 全连接层 231 12.1.3 池化层 232 12.1.4 上采样层 233 12.1.5 连接层 234 12.1.6 其他网络层 234 12.2 卷积神经网络的并行加速 234 12.2.1 层内并行 235 12.2.2 层间流水 236 12.3 卷积神经网络加速实战 237 12.3.1 cuDNN库概述 237 12.3.2 cuDNN库安装 237 12.3.3 cuDNN库使用方法 239 12.4 本章小结 245
|
|