课程大纲

课程大纲

高性能计算编程

课程编码:180086085405M3002H 英文名称:Introduction to High Performance Computing 课时:40 学分:2.00 课程属性:专业课 主讲教师:李会元等

教学目的要求
本课程学习高性能计算基础知识。主要内容包括:高性能硬件系统架构和并行加速基本概念;线性代数算法基础和常用算法库;高性能计算性能评测和调优工具;CPU向量化部件编程与优化方法;多核CPU多线程编程;GPU等计算加速器编程基础;MPI编程基础;CPU加计算加速器和高速网络集群系统性能优化。课程注重讲授与实验结合,把课程知识应用于数学函数向量化、矩阵矩阵乘法优化、大规模并行LU分解优化和大规模稀疏方程组求解等实例。

预修课程
《计算机系统结构》、《线性代数》、《C++编程语言》、《Linux基础》

大纲内容
第一章 高性能计算概念、研究内容和发展历史
第1节 高性能计算基本概念:并行、加速比和Amdahl定律、可扩展和效率等 1学时 黎雷生
第2节 高性能计算研究内容 0.5学时 黎雷生
第3节 高性能计算发展历史 0.5学时 黎雷生
第二章 高性能计算硬件系统
第1节 高性能计算硬件系统主要部件:CPU、存储层次、计算加速器、互联网络等 2学时 黎雷生
第三章 线性代数算法基础和常用算法库
第1节 线性代数算法基础 2学时 李会元
第2节 BLAS、LAPACK等算法库简介 1学时 李会元
第四章 性能评测和调优工具
第1节 SPEC、Stream等基本评测工具 1学时 黎雷生
第2节 gprof、perf、valgrind等工具使用与性能分析 1学时 黎雷生
第3节 gcc、icc等编译器优化 1学时 黎雷生
第五章 CPU向量化部件编程与优化方法
第1节 AVX、NEON等向量化编程与优化 2学时 李会元
第2节 数学函数向量化 1学时 李会元
第3节 矩阵矩阵乘法 1学时 黎雷生
第六章 多核CPU多线程编程
第1节 PTHREAD编程模型 2学时 黎雷生
第2节 OpenMP编程模型 2学时 黎雷生
第七章 GPU编程基础
第1节 GPU架构与并行模型 4学时 黎雷生
第2节 GPU访存优化与Shared Memory 2学时 黎雷生
第3节 GPU矩阵矩阵乘法优化 2学时 黎雷生
第八章 MPI编程基础
第1节 MPI基础接口 2学时 黎雷生
第2节 MPI点对点通信与集合通信 2学时 黎雷生
第3节 典型通信模式分析 4学时 黎雷生
第九章 CPU加计算加速器和高速网络集群性能优化
第1节 计算、节点内通信和网络通信建模与分析 2学时 李会元
第2节 大规模并行LU分解分析与优化 2学时 李会元
第3节 大规模稀疏方程组预条件迭代求解器分析与优化 2学时 李会元

教材信息
1、 《并行计算与高性能计算》 罗伯特·罗比(Robert Robey) 2022年6月 清华大学出版社

参考书
1、 计算机体系结构-量化研究方法 John L. Hennessy 2022年9月 人民邮电出版社
2、 C++高性能编程 费多尔·G.皮克斯 2022年11月 清华大学出版社
3、 基于CUDA的GPU并行程序开发指南 Tolga Soyata 2019年7月 机械工业出版社

课程教师信息
李会元,中国科学院软件研究所研究员,博士生导师,主要从高性能计算、偏微分方程及其特征值问题的高精度算法、傅里叶与正交多项式的快速算法等的基础研究工作。任中国数学会理事、北京计算数学会理事。先后访问美国普渡大学、俄勒冈大学、南卡来罗纳大学,新加坡南洋理工大学,香港城市大学。中国科学院软件研究所杰出青年人才发展专项计划入选人员。主持国家自然科学基金项目6项目,参与国家自然科学基金委重点项目3项;参与国家重点研发计划高性能计算专项、任课题负责人;参与中国科学院战略性先导科技专项,负责并行计算性能预测模型研制、并行FFT软件等的研制与优化;在SISC, SNIUM, JCP等国际国内高水平学术刊物上发表论文70余篇。

黎雷生,中国科学院大学计算机科学与技术专业博士,中国科学院软件研究所,副研究员,硕士生导师,。主要从事高性能并行计算和GPU加速计算等研究。参与中国科学院战略性先导科技专项C类项目,研制GPU高性能计算系统HPL。参与多项国家重点研发计划,负责研制科学计算软件GPU并行算法及大规模并行算法。