高性能计算(1)

一、程序优化

  1. CPU程序优化
    1.1 体系结构:CPU流水线技术、高速缓指令集、CPU超标量设计
    1.2 并行技术:MPI、OpenMP、SIMD、汇编
    1.3 算法:算法优化
  2. GPU程序优化
    1.1 GPU的体系结构(计算核心、高带宽、多级存储)
    1.2 GPU并行框架:CUDA、OpenCL、OpenACC
    1.3 并行设计的算法
  3. 程序优化核心
    3.1 算法并行可行性
    3.2 编写与体系结构相匹配的程序(并行效率、多级存储、指令集优化)

二、CPU和GPU区别

  1. CPU核心数量少,GPU核心数量多。
  2. CPU是减低延迟设计导向,GPU是增加数据吞吐量设计导向。
  3. CPU适合IO密集型任务,GPU适合数据计算任务。
  4. CPU切换线程有上下文代价,GPU线程几乎每个都有物理核心,线程切换零开销。

三、所有的机器学习和深度学习模型最基础的计算任务都是稀疏/稠密矩阵、几何基元。

四、稀疏矩阵向量乘问题(SpMV)

  1. 常见的稀疏矩阵储存方法有 COO、CSR、DIA(适合对角矩阵),通常CSR储存效率高些。
  2. CSR-SIMD优化,可变长的具有连续地址的非零元段,以段的形式对矩阵进行存储。

五、算法库

  1. BLAS/LAPACK 是基础的线性代数库
  2. PETSc C语言实现主要用来求解偏微方程组
posted @ 2024-10-06 23:24  安洛8  阅读(92)  评论(0)    收藏  举报