在 CPU 架构上通过高层循环与张量抽象驾驭深度学习与 HPC 核函数
分布式、并行与集群计算
2024-03-19 v2 人工智能
摘要
在过去十年中,深度学习(DL)算法、编程系统与硬件已与高性能计算(HPC)的对应部分趋于融合。然而,DL 与 HPC 系统的编程方法仍停滞不前,依赖于高度优化但平台相关且缺乏灵活性的厂商优化库。此类库在厂商投入优化工作的特定平台、核函数及其形状上提供接近峰值的性能,而在其余用例中表现不佳,产生具有性能短板的不可移植代码。本工作引入一个框架,用于为现代 CPU 架构开发高效、可移植的 DL 与 HPC 核函数。我们将核函数开发分解为两步:1) 使用张量处理原语(TPPs)表达计算核心——一组紧凑、通用的二维张量算子;2) 以高层、声明式方式表达围绕 TPPs 的逻辑循环,而具体实例化(排序、分块、并行化)通过简单旋钮确定。我们使用独立核函数与端到端工作负载展示了方法的有效性,其在多种 CPU 平台上优于最先进的实现。
引用
@article{arxiv.2304.12576,
title = {Harnessing Deep Learning and HPC Kernels via High-Level Loop and Tensor Abstractions on CPU Architectures},
author = {Evangelos Georganas and Dhiraj Kalamkar and Kirill Voronin and Abhisek Kundu and Antonio Noack and Hans Pabst and Alexander Breuer and Alexander Heinecke},
journal= {arXiv preprint arXiv:2304.12576},
year = {2024}
}