HPC Guidelines
1. 什么是 HPC?
高性能计算(High Performance Computing, HPC)本质上就是“用大规模算力去解决普通电脑搞不定的问题”。它不是单纯追求一台机器的性能,而是通过 成百上千台服务器(节点)协同工作,在极短的时间内完成复杂运算。像训练 GPT、AlphaGo 这样的模型需要数以万计的 GPU/TPU 集群,这本质上也是 HPC。所以,HPC = 并行计算 + 分布式系统 + 高速通信网络,目标是用超强算力解决科学和工程里的大问题。
2. 为什么要学习 HPC?
- 兴趣:我们十分欢迎对高性能计算有热情的同学。如果你能在对 既有计算框架不断的否定(Negation)和迭代的过程中体验到乐趣,那么学习HPC的过程本身就是一大享受;同时HPC涉及的领域纵深跨越硬件软件,涉及软硬级别的协同优化,对追求挑战的同学十分具有吸引力。
- 产业:随着大模型大数据成为热点,HPC领域的人才更具竞争优势。多个行业(如金融模拟、制造仿真、能源与科研模型)广泛采用 HPC 技术来提升效率,HPC 属于相对有专业壁垒的领域,具备这类技能的毕业生能更容易脱颖而出,获得高质量岗位机会。
3.如何学习HPC
入门
(1)编程语言基础
- C/C++:传统 HPC 的核心语言,用于 MPI、OpenMP 开发。
- Python:科研界常用,无需多言。
- CUDA / OpenCL:如果要深入 GPU 编程,这是必学的。
(2)并行计算框架
- OpenMP:多线程并行,适合单节点多核 CPU。学习见 https://math.ecnu.edu.cn/~jypan/Teaching/ParaComp/index.html
- CUDA:GPU 编程框架。同样推荐WIKI:https://hpcwiki.io/gpu/cuda/
- MPI(Message Passing Interface):最经典的 HPC 框架,用于多节点之间的通信。
进阶
- 参加比赛:ASC,HPC Game。
- 阅读高性能计算框架的源码。