高性能计算中的并行编程

高性能计算中的并行编程

2024 南京大学《操作系统:设计与实现》
高性能计算中的并行编程

CRAY-1 超级计算机

The world's most expensive love-seat” (1976)

  • 138 MFLOPS @ 115kW (Apple M3: 4.1 TFLOPS @ 20W)

center

2024 南京大学《操作系统:设计与实现》
高性能计算中的并行编程

(经典) 高性能计算

“A technology that harnesses the power of supercomputers or computer clusters to solve complex problems requiring massive computation.” (IBM)

源自数值密集型科学计算任务

  • 物理系统模拟
    • 天气预报、航天、制造、能源、制药、……
    • 大到宇宙小到量子,有模型就能模拟
  • 矿厂
  • AI: 新时代的高性能计算 (之后专门讲解)
  • HPC-China 100
2024 南京大学《操作系统:设计与实现》
高性能计算中的并行编程

高性能计算程序:特点

物理世界具有 “空间局部性”

  • “模拟物理世界” 的系统具有 embarrassingly parallel 的特性

center

2024 南京大学《操作系统:设计与实现》
高性能计算中的并行编程

高性能计算中的并行编程

通常计算图容易静态切分 (机器-线程两级任务分解)

  • 生产者-消费者解决一切
    • MPI - “message passing libraries”, OpenMP - “multi-platform shared-memory parallel programming (C/C++ and Fortran)”
#pragma omp parallel num_threads(128)
for (int i = 0; i < 1024; i++) {
}

Challenges

  • 网络通信、功耗管理、稳定性和容错、软件和工具链 (都不是这门课讨论的内容)
2024 南京大学《操作系统:设计与实现》