学习资料
InfiniTensor 冬季训练营 CPU 并行编程第三课《鲲鹏 CPU 矩阵加速与特性介绍》
发表于:

2026 年 1 月 20 日,2025 冬季 InfiniTensor 大模型与人工智能系统训练营 CPU 并行编程系列第三课《鲲鹏 CPU 矩阵加速与特性介绍》开讲。

本节课由来自华为公司的讲师讲解华为鲲鹏超智融合芯片,通过 CPU 集成矩阵计算单元,开启 HPC 与 AI 融合的新时代。

超智融合软件的背景与挑战

分子动力学、天体物理、蛋白质结构预测等科学计算任务既需要高精度仿真,又需要 AI 模型的智能辅助。然而,现有硬件架构往往难以同时满足 HPC 的高精度计算需求和 AI 的大规模矩阵运算需求。

华为鲲鹏最新推出的超智融合架构芯片,通过在 CPU 中集成专用矩阵计算单元,实现了 HPC 与 AI 负载的统一支撑,为科学计算提供了全新的硬件解决方案。

超智融合:HPC 与 AI 的协同发展

科学计算的新需求

  • 传统 HPC 应用:分子动力学、天体物理、油气勘探、气象预报等仍需高精度仿真
  • AI for Science:AlphaFold蛋白质结构预测、DMPD分子势能面计算等AI应用
  • 混合负载:同一超算环境中同时运行HPC和AI任务

行业趋势

  • GPU集群普及:通过GPU加速HPC和AI负载
  • CPU技术演进:CPU厂商纷纷引入GPU技术优势
    • 高带宽内存(HBM)
    • 张量计算单元(Tensor Core)
  • 架构融合:芯片厂商提供多功能芯片,满足多样化负载需求

鲲鹏超智融合芯片:三大硬件特性

1. 众核架构

  • 核心技术:多芯片合封技术
  • 核心规模:采用超大规模集成架构,单芯片集成极高密度的计算核心
  • 优势:提供强大的并行计算能力,适合大规模科学计算

2. 片上矩阵计算单元

  • 创新设计:在 CPU 内部引入矩阵计算加速能力
  • 类比理解:相当于 CPU 内置的"张量核心"
  • 硬件特性
    • 二维矩阵寄存器(区别于传统向量寄存器)
    • 专为矩阵存储和计算优化
    • 在特定规模和精度约束下,部分矩阵算子可获得显著性能提升

3. 片上高带宽内存(OPM)

  • 技术名称:On Package Memory(OPM)
  • 性能优势
    • 相比传统 DDR 内存,提供更高传输速率
    • 更直接的内存访问路径
  • 应用场景:满足矩阵计算单元的高带宽数据需求

众核架构的编程挑战

1. 并行编程挑战

  • 线程池开销:众核架构下线程创建和初始化开销被放大
  • Barrier效应:隐式屏障导致所有线程等待最慢线程
  • 木桶效应:并行核心越多,最慢线程拖累整体性能的概率越大

2. 计算逻辑表达

  • AI场景需求:计算图方式更适合表达 AI 计算流程
  • 接口要求:需要简明接口来表达计算流程和调度硬件资源

3. 负载均衡问题

  • 核心问题:工作切分不均导致部分核心闲置
  • 影响:硬件资源利用率低,性能损失严重

4. 通信优化挑战

  • 内存模型复杂:跨 NUMA、跨 Socket、跨节点访问
  • 性能损耗:层级越高,数据传输性能损耗越大
  • 优化目标:减少数据移动,降低跨层级通信次数

鲲鹏统一并行库(Kunpeng Unified Parallel Library)

设计理念

  • 统一 API:兼容 OpenMP、OpenACC 等现有编程模型
  • 底层优化:在并行抽象和运行时层面,提供类似于主流异构计算平台的统一编程接口
  • 生态适配:支持 MPI、PyTorch、Cocos 等主流框架

核心能力

1. 矩阵编程能力

  • 接口设计:类似 CUDA 的 MMA(Matrix Multiply Accumulate)接口
  • 使用方式
    // 创建矩阵对象
    auto tensor = kpl::Tensor(...);
    // 矩阵乘加计算
    kpl::mma(tensor_a, tensor_b, tensor_c, tensor_d);
    // 写回结果
    kpl::store(result, tensor_d);
    

2. 并行开发接口

  • 编程模型:类 OpenMP 的并行循环接口
  • 调度策略
    • 静态策略:静态决定线程和任务映射
    • 动态策略:由调度器动态分配任务
  • 数据切分:支持二维、三维数据切分

3. 图编程与多队列

  • 静态图:描述复杂的 DAG 依赖关系
  • 多队列:不同流间操作可并行执行
  • 性能提升:典型优化效果可达 2-3 倍

4. OPM 内存管理

  • 统一地址空间:OPM 和 DDR 共享同一地址空间
  • 无数据搬运:避免 GPU 显存与内存间的数据拷贝问题
  • 接口设计
    // 申请OPM内存
    void* opm_mem = kpl::malloc_opm(size);
    // 申请DDR内存  
    void* ddr_mem = kpl::malloc_ddr(size);
    

5. 异步数据拷贝

  • 硬件支持:利用 SDMA(System DMA)硬件单元
  • 优势:数据移动不占用 CPU 资源,实现计算与通信重叠
  • 应用场景:OPM 与 DDR 间的高效数据传输

6. 共享内存通信优化

  • 传统方案:发送进程→中间 buffer→接收进程(两次拷贝)
  • 优化方案:发送进程↔共享内存↔接收进程(一次拷贝)
  • 性能提升:BCAST、Alltoall、Allreduce 等接口性能成倍提升

框架生态适配

多框架支持

  • MPI:在 HMPI 中新增 CUCUM MCA 组件
  • OpenMP/OpenACC:通过编译器生成基于 KPL 的运行时库
  • PyTorch:通过定制后端插件探索与 PyTorch 的适配,支持部分算子在 KPL 上运行
  • Cocos:基于 Cocos Runtime 新增 KPL 并行后端

开源策略

  • 组件开源:除 Cocos 外,其他框架适配组件均已开源
  • 社区贡献:鼓励开发者基于 KPL 开发高性能算子

实际应用案例

案例1:WASP 地形原理应用(传统 HPC)

优化策略

  1. 并行优化:将串行算子拆分为计算图,实现多计算流并行
  2. 通信优化:基于共享内存实现 MPI Alltoall,性能提升 3-4 倍
  3. 矩阵优化:利用MMA编程接口优化矩阵计算

优化效果

  • 整体性能提升:3-5 倍
  • 超越GPU性能:在特定场景下性能优于 GPU 实现

案例2:AlphaFold 蛋白质结构预测(AI for Science)

优化策略

  1. 并行化:多进程并行化,权重分布到不同进程的共享内存
  2. 通信优化:针对 Alltoall 操作的特殊需求,实现定制化算子
  3. 算子融合:融合 Attention、Outer Product 等关键算子

优化效果

  • 性能提升:约 10 倍(从 650 秒降至 65 秒)
  • 对标GPU:性能与 GPU 持平,某些场景甚至超越

软件生态与工具链

HBCK 高性能计算套件

  • 组件构成
    • KPL(鲲鹏统一并行库)
    • Kunlun 数据库
    • HMPI(Hyper MPI)
  • 安装方式:一键安装脚本,简化部署流程

开发环境

  • 模块管理:通过 module 环境管理工具加载
  • 编译链接:链接 KPL 动态库即可使用
  • 头文件:所有 API 定义在 KPL 头文件中

开源社区

  • 代码开源:优化案例、融合算子库、共享内存代码等均已开源
  • 社区支持:鲲鹏共享社区提供完整文档和示例

总结

鲲鹏超智融合架构代表了 CPU 技术演进的新方向——通过集成专用加速单元,实现通用计算与专用计算的深度融合。这种架构不仅解决了 HPC 与 AI 负载的统一支撑问题,更为科学计算提供了更高效的硬件平台。随着 KPL 生态的不断完善和更多应用的适配,鲲鹏超智融合芯片有望在 AI for Science 领域发挥重要作用,推动科学研究的数字化转型。

2025冬季训练营课程表

💡 学习贴士

更多细节及完整课程内容,请观看直播或查看课程回放。

链接:https://www.infinitensor.com/camp/winter2025

📚 训练营报名持续进行中

扫码报名与加入群聊,或点击 「阅读原文」 直达官网报名