(1)高性能計算概述與并行計算基礎:了解高性能計算的發(fā)展歷程、核心價值及其在科學計算、工程仿真、人工智能等領域的典型應用。掌握并行計算的基本概念:并行性與并發(fā)性的區(qū)別、并行粒度、并行開銷、加速比與效率。學習并行計算機體系結構分類:共享內(nèi)存架構(SMP/NUMA)、分布式內(nèi)存架構(集群)、異構計算架構(CPU+GPU/加速器)。理解Flynn分類法(SISD、SIMD、MISD、MIMD)及其在當代系統(tǒng)中的應用。
(2)Linux集群環(huán)境搭建與基礎操作:掌握HPC集群的核心組件構成:登錄節(jié)點、計算節(jié)點、存儲節(jié)點、管理節(jié)點、高速互聯(lián)網(wǎng)絡。學習從零搭建HPC集群的基本流程,包括Proxmox虛擬環(huán)境(PVE)配置、WireGuard分布式系統(tǒng)部署、MPI/UCX等核心函數(shù)庫從源碼編譯。回顧Linux常用命令與Shell腳本編程,掌握用戶賬戶管理、文件權限設置、環(huán)境變量配置等基礎操作。
(3)作業(yè)調(diào)度系統(tǒng)與集群資源管理:理解作業(yè)調(diào)度系統(tǒng)在高性能計算集群中的核心作用。掌握SLURM(Simple Linux Utility for Resource Management)調(diào)度系統(tǒng)的架構與配置。學習使用sbatch、srun、squeue等命令提交和管理并行作業(yè),掌握作業(yè)腳本編寫規(guī)范。了解隊列策略與資源分配方法,實現(xiàn)基于QoS的優(yōu)先級控制和資源配額管理。
(4)共享內(nèi)存并行編程:OpenMP:掌握OpenMP的fork-join執(zhí)行模型,理解線程的創(chuàng)建與管理機制。學習使用編譯制導指令(#pragma omp parallel/for/sections)實現(xiàn)循環(huán)級并行和任務級并行。掌握數(shù)據(jù)環(huán)境管理:private、shared、reduction等數(shù)據(jù)屬性子句的正確使用。學習同步機制:critical、atomic、barrier的適用場景。實踐通過OpenMP加速矩陣乘法、圖像處理等典型算法。
(5)分布式內(nèi)存并行編程:MPI基礎:理解分布式內(nèi)存編程模型的核心概念及其與共享內(nèi)存模型的本質區(qū)別。掌握MPI程序的編譯與運行方法(mpicc/mpirun)。學習MPI點對點通信:MPI_Send/MPI_Recv實現(xiàn)進程間數(shù)據(jù)交換。掌握MPI集合通信:MPI_Bcast廣播、MPI_Reduce規(guī)約、MPI_Allgather全收集等在并行算法中的應用。實踐實現(xiàn)基于MPI的并行求和與矩陣乘法。
(6)MPI高級編程與性能優(yōu)化:掌握非阻塞通信(MPI_Isend/MPI_Irecv)實現(xiàn)計算與通信重疊,提升并行效率。學習MPI派生數(shù)據(jù)類型處理非連續(xù)內(nèi)存數(shù)據(jù)。理解MPI通信器與虛擬拓撲在復雜并行模式中的應用。掌握MPI程序性能分析方法:負載均衡評估、通信開銷優(yōu)化、并行效率提升策略。
(7)GPU異構并行編程:CUDA基礎:理解GPU與CPU架構的本質差異(眾核并行vs多核并行),掌握CUDA編程模型的核心概念。學習CUDA程序的基本結構:內(nèi)核函數(shù)定義、線程層次配置(grid/block/thread)、主機與設備間的數(shù)據(jù)傳遞。掌握CUDA內(nèi)存管理:全局內(nèi)存、共享內(nèi)存、常量內(nèi)存的特性與優(yōu)化方法。實踐實現(xiàn)基于CUDA的向量加法與矩陣乘法。
(8)GPU并行優(yōu)化與OpenACC指令式編程:深入理解GPU程序性能優(yōu)化策略:合并訪問、共享內(nèi)存使用、線程束發(fā)散避免。學習使用OpenACC指令式編程模型通過編譯器指令加速應用開發(fā)。掌握OpenACC的核心指令:parallel loop、data、kernels的使用方法。對比CUDA與OpenACC的適用場景差異。實踐使用OpenACC加速科學計算代碼。
(9)異構系統(tǒng)編程與混合并行:掌握MPI+OpenMP混合編程模型,實現(xiàn)跨節(jié)點進程級并行與節(jié)點內(nèi)線程級并發(fā)的協(xié)同。學習MPI+CUDA異構編程,實現(xiàn)跨節(jié)點GPU資源的統(tǒng)一調(diào)度。理解混合并行中的負載均衡策略與通信優(yōu)化技巧。實踐構建多節(jié)點GPU集群上的并行計算程序。
(10)性能分析工具與瓶頸識別:掌握常用性能分析工具的使用方法:Intel VTune放大器識別熱點函數(shù)與微架構瓶頸、NVIDIA Nsight Systems分析GPU內(nèi)核執(zhí)行效率。學習使用HPL(High-Performance Linpack)和HPCG(High Performance Conjugate Gradients)進行基準性能測試。掌握性能數(shù)據(jù)的解讀方法,識別計算瓶頸、通信瓶頸、內(nèi)存瓶頸。
(11)HPC領域應用與最佳實踐:了解高性能計算在科學計算、工程仿真、分子動力學、氣象預報等領域的典型應用案例。學習科學計算軟件的并行化策略與性能調(diào)優(yōu)經(jīng)驗。掌握AI/ML/DL工作負載在HPC集群上的部署與優(yōu)化方法。了解HPC環(huán)境中的軟件安裝管理工具(SPACK)的使用。
(12)綜合項目實戰(zhàn):HPC并行程序開發(fā)