高性能计算开发软件培训班-选猿代码科技IT培训机构!

学习CPU并行程序性能优化的意义:

学习CPU计算是现代计算机科学中不可或缺的一部分。掌握CPU计算原理和应用,能够提高我们的编程技能和解决问题的能力,帮助我们更好地应对计算机科学领域中的挑战和机遇。此外,CPU计算在计算机体系结构、算法设计、软件工程等方面都有广泛的应用,是我们理解计算机系统和编程语言的基础。因此,学习CPU计算对于我们的职业发展和个人成长都具有重要的意义。

比如在训练大型生成式语言模型(如 GPT-3)时,CPU 和 GPU 都扮演着不同的角色。CPU 主要负责数据的预处理和模型参数的更新。在训练过程中,大量的数据需要被加载、预处理和转换成适合模型输入的形式。这些任务通常由 CPU 来完成。此外,在模型的训练过程中,参数需要被不断更新,这也是 CPU 所必需的。GPU 则主要负责模型的计算和优化。如在训练深度神经网络时,需要进行大量的矩阵计算、梯度计算等计算密集型任务。在训练大型生成式语言模型时,需要使用数千个甚至数万个 CPU 和 GPU,将计算任务分配到多个节点上,以实现分布式训练。这样可以大大加快训练速度,缩短模型训练的时间。

CPU并行程序优化课程简介

"CPU并行程序优化课程"是一门专注于提升CPU程序运行效率的课程。在这门课程中,学员将学习到如何通过并行化算法和数据结构设计、优化内存访问模式、优化编译器选项等手段来提高程序的性能表现。

通过本课程的学习,学员将掌握如何在多核CPU上充分发挥其计算能力,提高程序的运行速度和效率,同时还能够应对大规模数据处理和高并发计算等场景的需求。无论您是从事科研、软件开发、数据分析等领域,本课程都将帮助您更好地应对各种CPU性能优化挑战,提高工作效率,进一步提升您的职业能力。



CPU并行程序优化课程特色

实用性强:本课程重点针对CPU程序优化的实践需求,课程内容丰富实用,帮助学员快速掌握各种CPU优化技巧,提高程序性能表现。导师以自身参与的实际项目作为案例,在课程中再现亲身管理、实施的项目,利用天河超算实验室环境带领学员重新经历每一个环节及细节,帮助学员提升职场经验及求职竞争力。

专业性强:本课程由国内知名高性能计算专家倾情打造,结合多年从事CPU/GPU性能优化的经验,教授最新、最实用的优化技术和方法。超算导师团熟悉国产先进计算生态,掌握从芯片体系架构、系统环境、编译环境、算法到应用的全流程关键技术。在多核CPU、GPUMIC/KNL、DSP等芯片平台有深入研究,具备人工智能、数值仿真、信号处理、三维可视化、图像处理等算法方面专利30余项。

适用性强:本课程适合不同领域的技术人员学习,无论您是从事科研、软件开发、数据分析等领域,或在校大学生都能够受益于本课程。

实用性强:本课程内容会根据最新的CPU技术和优化经验进行更新,保证学员始终掌握最前沿的CPU性能优化技术。6小时的编程马拉松更是全面考察考生独立工作能力,期间考生通过真人出镜、全程录屏等方式,在国家超级计算天津中心新一代超级计算天河平台(ARM aarch64架构,单节点64个CPU核)上检验考生在程序性能分析、软件编译、OpenMP多线程优化、SIMD多数据优化、作业管理系统使用等方面的综合能力。

互动性强:本课程设置有丰富的案例分析、实战演练和互动答疑环节,帮助学员在课程中深度掌握优化技术,同时与专家和同行交流互动,加深学习效果。

课程采用师徒制小班教学,采用先进的任务式学习方式,借助学习系统让学员能随时随地学习、随心进行答疑,此外根据学习进度设置固定的直播答疑串讲环节,加深学员学习效果。

适用人群

全日制一本及以上大学生

社会上有志从事超算/高性能计算/先进计算行业的年轻人

各大中小芯片公司技术人员进修、国家超算中心技术人员进修

报名流程

咨询——报名——缴费——学习——就业

课程大纲

一级模块名称 二级模块名称 二级模块名称
超算平台开发环境与基础优化技术 超级计算机平台简介 超级计算机体系结构
天河超算平台登录使用
Linux操作系统开发环境 Linux常用命令
编辑器VIM/编译器GCC/工程构建工具Make/调试器GDB入门
超算平台任务管理系统slurm
高性能算法 稀疏矩阵压缩存储格式
稀疏矩阵向量乘算法SpMV优化
基础性能分析 静态分析工具understand
动态分析工具gprof
计时函数辅助方式
基础性能优化 流水线
循环展开
循环分块
连续访存
并行编程模型简介 分布式并行模型-MPI
共享内存式并行模型-OpenMP
单指令多数据并行模型-SIMD
MPI MPI基本概念 进程与MPI程序基本编程方式、编译、运行
MPI四个基本接口
并行模式
点对点通信(阻塞式) 发送MPI_Send与接收MPI_Recv
消息标签tag及MPI_ANY_TAG和MPI_ANY_SOURCE
jacobi并行化-阻塞消息通信版本
组织进程通信避免死锁
接口MPI_Sendrecv
jacobi并行化-基于捆绑消息发送接收版本
点对点通信(非阻塞式) 接口MPI_Isend与MPI_Irecv
非阻塞通信的等候与检测
jacobi并行化-非阻塞消息通信版本
重复非阻塞通信
jacobi并行化-重复非阻塞消息通信版本
集合通信 广播bcast
分散scatter
收集gather
规约reduce
全互换alltoall
路障barrier
通信模式和虚拟进程拓扑 四类通信模式
虚拟进程拓扑
OpenMP OpenMP基本概念 线程概念
OpenMP基本编程方式、编译、运行
OpenMP并行程序基础设计 openMP并行域与指令parallel
变量作用域与私有、共享属性
线程竞争、临界区和指令critical
OpenMP的循环体for结构 循环迭代并行和指令for
循环调度策略与子句schedule
变量作用域属性与子句private、shared、default
变量规约属性与子句reduction
嵌套循环与子句collapse
OpenMP的分段section与task结构 代码段并行和指令section
任务池并行和指令task
OpenMP的其他指令 单线程指令single、master
路障指令barrier
原子指令atomic
缓存一致性 缓存、缓存一致性与伪共享
SIMD SIMD基本概念及编程入门 SIMD与向量化概念
程序向量化思路与编程基础方式
向量寄存器、ARM架构与NEON
自动向量化 编译选项自动向量化
编译指导语句自动向量化
NEON-intrinsic指令集(命名规则及存取操作) intrinsic的向量数据类型和函数命名规范
向量寄存器初始化函数
交叉存取技术-以RGB转换为例
存储、加载操作函数
NEON-intrinsic指令集(算术、比较、逻辑及其他操作) 算术操作函数
比较操作函数
逻辑操作函数
其他操作函数
SVE指令集简介(选修) Z、P寄存器
命名规则及常见intrinsic函数
聚集加载和分散存储

猜你喜欢

转载自blog.csdn.net/YDM6211/article/details/131434456