arrow
返回

Compilation of Modular and General Sparse Workspaces

delete2024-06-20
delete0
delete
OA
AI
DOI:10.1145/3656426delete
delete原文链接
delete原文求助
delete分享
delete收藏
摘要

摘要

En 中文
近年来,在编译稀疏张量代数表达式方面进行了大量研究。本文解决了该领域的一个不足之处,即如何生成高效(在时间和空间上)将值分散到稀疏结果张量的代码。我们通过一种编译器设计来解决这个问题,该设计生成使用稀疏中间张量(稀疏工作空间)作为计算代码(执行分散操作)和结果张量(不支持随机插入)之间的高效适配器。我们的编译器能够自动检测张量表达式中的稀疏分散行为,并插入必要的中间工作空间张量。我们提出了一种工作空间插入算法模板,这是我们代码生成算法的核心。该算法模板通过设计实现模块化,支持跨越多个用户自定义实现的稀疏工作空间。我们的评估表明,稀疏工作空间比先前工作中使用的密集工作空间快高达27.12倍。另一方面,在某些情况下,密集工作空间比我们的编译器生成的稀疏工作空间快高达7.58倍,这促使我们的编译器设计同时支持两者。我们的编译器生成的顺序代码在支持的算术表达式上可与手工优化的线性代数和张量代数库相媲美,并且还能推广到其他表达式。稀疏工作空间也比密集工作空间更节省内存,因为它们通过压缩消除了零值。这种压缩可以渐近地减少内存使用量,从而能够在否则会导致内存不足的数据上执行张量计算。

期刊

暂无期刊信息

机构

暂无机构信息
引用论文

引用论文

暂无论文信息