大家好,欢迎大家来学习高性能计算课程之CPU并行程序优化课程。
我们的课程研发团队均来自国内知名科研院所与研究机构,导师具备丰富的工程项目经验与深厚的理论功底。
在本课程中,我们将为您带来更深入的CPU并行程序优化知识与技能。无论是从事科学研究、工程开发还是数据分析,掌握CPU并行程序优化的技能都将成为您在高性能计算领域以
及职场中的重要竞争力。
我们的导师团队将以案例和实践为基础,结合最新的研究成果和实际应用场景,为您传授实用的优化策略和技术。我们将深入探讨并行算法与数据结构的设计原则,教授如何利用多
线程编程技术充分发挥CPU的计算能力。同时,我们将引导您学习性能分析工具的使用,以识别程序瓶颈并进行有效的优化。
与此同时,课程还将涵盖向量化优化、内存优化、并行优化策略等关键内容。我们将通过理论讲解、实践演示和小组讨论等多种教学方式,让您深入理解高性能计算的核心概念和技
术,掌握解决实际问题的能力。
无论您是对高性能计算感兴趣的大学生,还是正在从事相关工作的研发工程师,本课程将为您提供一个良好的学习平台,助您在高性能计算领域迈出坚实的步伐。我们期待与您一同
探索并行程序优化的奥秘,共同开拓高性能计算的新领域!
接下来介绍下我们的2位主讲老师
徐老师
原天河团队高性能并行应用工程师组负责人,带领团队参与天河2升级系统、天河一号E级原型机以及天河新一代等大型工程型号项目负责HPCG等Benchmark优化国产系统算法库研
制成都核动力研究院和清华大学粒子模拟软件RMC、北京计科中心Lodestar等软件性能优化工作,实现上百倍的性能提升和百万核可扩展并行计算;
匡老师
原天河团队高性能并行应用工程师组长,带领团队进行基于天河新一代超级计算系统的工业及科研应用软件的并行移植负责中核集团核动力研究院粒子输运模拟软件RMC并行优化工
作、负责航天科技集团一院流体力学软件hyperCFD的并行化工作、深度参与国产共性算法库研制。
2、此门课程适合具有什么基础的人学习?
基础编程技能:学习高性能计算需要熟悉至少一种编程语言,例如C、C++或Fortran,会C最好。
数据结构和算法:熟悉常见的数据结构和算法,了解它们的性能特点和使用场景。
计算机体系结构:了解计算机硬件的组成和工作原理,包括处理器、内存层次结构、存储系统等。。
数值计算和科学计算:有数值计算和科学计算的基础知识,有高等数学和线性代数的基础。
3、学习您课程的学生学习结束后将获得哪些技能/学生可解决哪些实际应用问题?
获得的技能:
深入理解计算机体系结构:能编写和计算机体系结构高度适配的程序,深入理解计算机流水线、高速缓存、指令集等概念,并应用于实际编程中。
并行程序设计能力:能够设计和实现并行算法和程序,以利用高性能计算平台上的并行计算资源。将会使用并行编程模型和工具,如MPI、OpenMP等并行编程工具对程序进行并行
化以提升程序运行效率。
程序性能优化能力:能够识别和解决并行程序的性能瓶颈,通过并行化、优化算法、调整程序结构、减少通信开销、负载均衡等技术手段来改善程序的性能,将学会使用性能分析工
具和调试技术,以分析和改进程序的执行效率。
基础科学计算能力:掌握数值计算和科学计算的基本原理和方法,能够应用数值方法解决实际科学和工程问题,将会安装和使用常见的高性能计算数学库,如BLAS、Lapack、Petsc等。
解决复杂问题的能力:通过学习高性能计算,您将培养解决复杂问题的思维方式和能力。您将学会分析问题、提出解决方案、实施和评估解决方案,并能够在大规模计算环境中处理
复杂的科学、工程和数据挖掘问题
可解决实际的问题:
科学或工程程序开发及优化、大规模数据处理程序开发及优化、高性能算子库开发、人工智能、深度学习程序开发及优化。
未来,随着技术的发展和数据量的增长,大部分公司确实可能会对性能优化有更高的需求,拥有性能优化专业知识和经验的人才将在这个趋势中发挥重要作用,也更容易在日益竞争
激烈的环境中脱颖而出。
4、学习本课程学生需提前准备什么环境?
linux系统环境:推荐ubuntu或者centos系统,不建议选择最新版本,ubuntu选择18.04或者20.04即可,centos可安装centos7系统,如果是虚拟机,建议分配核心数及内存数量大一些。
基础开发工具:vim编辑器、GNU make编译工具、gprof性能分析工具,ubuntu可通过apt在线安装,centos可通过yum在线安装,无版本要求。
代码分析工具:understand或者source insight等,无版本要求。
编译器:GCC编译器套件,建议版本9.3.0以上
MPICH:开源软件,可在网上自由下载安装,推荐版本3.4.2
说点什么...