CUDA-PIM:从高级C++到微体系结构设计的端到端数字处理内存集成

摘要:数字处理内存(PIM)架构通过在内存中直接进行并行位运算来缓解内存墙问题。最近的工作展示了它们在加速数据密集型应用方面算法的潜力,然而,在编程模型和微体系结构设计方面仍存在显著差距。新出现的分区模型进一步加剧了对控制和外围设备的复杂性。因此,受NVIDIA CUDA的启发,本文从抽象的高级C++编程接口到低级微体系结构,提供了数字记忆PIM的端到端体系结构集成。我们首先提出了一种高效的微体系结构和指令集架构(ISA),能够弥合低级控制外围设备与PIM并行性抽象之间的差距。随后,我们提出了一个PIM编译库,将高级C++转换为ISA指令,并提出了一个PIM驱动程序,将ISA指令转换为PIM微操作。这极大地简化了PIM应用程序的开发,并使PIM能够轻松地集成到现有的较大C++ CPU/GPU程序中,用于异构计算。最后,我们提出了一种高效的GPU加速模拟器,用于所提出的PIM微体系结构。尽管比理论上的PIM芯片慢,但这个模拟器为开发人员提供了一个可访问的平台来开始执行和调试PIM算法。为了验证我们的方法,我们实现了最先进的矩阵运算和FFT基于PIM的算法作为案例研究。这些示例展示了开发的极大简化,而不会影响性能,显示了CUDA-PIM的潜力和重要性。

作者:Orian Leitersdorf, Ronny Ronen, Shahar Kvatinsky

论文ID:2308.14007

分类:Hardware Architecture

分类简称:cs.AR

提交时间:2023-08-29

PDF 下载: 英文版 中文版pdf翻译中