This paper shows how to generate efficient tensor algebra code that compute on dynamic sparse tensors, which have sparsity structures that evolve over time. We propose a language for precisely specifying recursive, pointer-based data structures, and we show how this language can express a wide range of dynamic data structures that support efficient modification, such as linked lists, binary search trees, and B-trees. We then describe how, given high-level specifications of such data structures, a compiler can generate code to efficiently iterate over and compute with dynamic sparse tensors that are stored in the aforementioned data structures. Furthermore, we define an abstract interface that captures how nonzeros can be inserted into dynamic data structures, and we show how this abstraction guides a compiler to emit efficient code that store the results of sparse tensor algebra computations in dynamic data structures. We evaluate our technique and find that it generates efficient dynamic sparse tensor algebra kernels. Code that our technique emits to compute the main kernel of the PageRank algorithm is 1.05$\times$ as fast as Aspen, a state-of-the-art dynamic graph processing framework. Furthermore, our technique outperforms PAM, a parallel ordered (key-value) maps library, by 7.40$\times$ when used to implement element-wise addition of a dynamic sparse matrix to a static sparse matrix.


翻译:本文展示了如何生成高效的 Exor 代数代码, 用于计算动态稀散的 蒸汽器, 且具有随时间演变的宽度结构。 我们提出一种语言, 用于精确指定递归性、 指针数据结构, 我们展示该语言如何表达支持高效修改的多种动态数据结构, 例如链接列表、 二进搜索树 和 B- 树 。 我们然后描述如何, 鉴于这类数据结构的高度规格, 一个编译器能够生成高效的代码, 以上述数据结构中存储的动态稀散 散 推进器进行循环和计算 。 此外, 我们定义了一个抽象界面, 以显示如何将非零星插入动态的数据结构, 并且我们展示该抽象界面如何引导一个高效的编译器, 以将稀散的 Exgorgebra 计算结果存储在动态数据结构中。 我们评估了我们的技术, 并发现它产生高效的动态稀薄的 Exmor ebra 内核内核。 代码, 我们的技术将存储 Pelack- main commus- loginal logy logy matial ma- train maturkedudududududustrutus a view a vidudududududududududustral- ex- viduduce.

0
下载
关闭预览

相关内容

【硬核书】矩阵代数基础,248页pdf
专知会员服务
80+阅读 · 2021年12月9日
【图与几何深度学习】Graph and geometric deep learning,49页ppt
专知会员服务
75+阅读 · 2021年3月16日
【ACML2020】张量网络机器学习:最近的进展和前沿,109页ppt
专知会员服务
54+阅读 · 2020年12月15日
【经典书】贝叶斯编程,378页pdf,Bayesian Programming
专知会员服务
243+阅读 · 2020年5月18日
专知会员服务
12+阅读 · 2019年11月23日
强化学习最新教程,17页pdf
专知会员服务
167+阅读 · 2019年10月11日
机器学习入门的经验与建议
专知会员服务
89+阅读 · 2019年10月10日
【SIGGRAPH2019】TensorFlow 2.0深度学习计算机图形学应用
专知会员服务
39+阅读 · 2019年10月9日
已删除
将门创投
8+阅读 · 2019年7月10日
神器Cobalt Strike3.13破解版
黑白之道
12+阅读 · 2019年3月1日
人工智能 | UAI 2019等国际会议信息4条
Call4Papers
6+阅读 · 2019年1月14日
meta learning 17年:MAML SNAIL
CreateAMind
11+阅读 · 2019年1月2日
A Technical Overview of AI & ML in 2018 & Trends for 2019
待字闺中
15+阅读 · 2018年12月24日
AI/ML/DNN硬件加速设计怎么入门?
StarryHeavensAbove
10+阅读 · 2018年12月4日
机器人开发库软件大列表
专知
10+阅读 · 2018年3月18日
Arxiv
8+阅读 · 2019年5月20日
Sparse Sequence-to-Sequence Models
Arxiv
5+阅读 · 2019年5月14日
Arxiv
23+阅读 · 2018年10月24日
Arxiv
6+阅读 · 2018年10月3日
VIP会员
相关VIP内容
【硬核书】矩阵代数基础,248页pdf
专知会员服务
80+阅读 · 2021年12月9日
【图与几何深度学习】Graph and geometric deep learning,49页ppt
专知会员服务
75+阅读 · 2021年3月16日
【ACML2020】张量网络机器学习:最近的进展和前沿,109页ppt
专知会员服务
54+阅读 · 2020年12月15日
【经典书】贝叶斯编程,378页pdf,Bayesian Programming
专知会员服务
243+阅读 · 2020年5月18日
专知会员服务
12+阅读 · 2019年11月23日
强化学习最新教程,17页pdf
专知会员服务
167+阅读 · 2019年10月11日
机器学习入门的经验与建议
专知会员服务
89+阅读 · 2019年10月10日
【SIGGRAPH2019】TensorFlow 2.0深度学习计算机图形学应用
专知会员服务
39+阅读 · 2019年10月9日
相关资讯
已删除
将门创投
8+阅读 · 2019年7月10日
神器Cobalt Strike3.13破解版
黑白之道
12+阅读 · 2019年3月1日
人工智能 | UAI 2019等国际会议信息4条
Call4Papers
6+阅读 · 2019年1月14日
meta learning 17年:MAML SNAIL
CreateAMind
11+阅读 · 2019年1月2日
A Technical Overview of AI & ML in 2018 & Trends for 2019
待字闺中
15+阅读 · 2018年12月24日
AI/ML/DNN硬件加速设计怎么入门?
StarryHeavensAbove
10+阅读 · 2018年12月4日
机器人开发库软件大列表
专知
10+阅读 · 2018年3月18日
相关论文
Arxiv
8+阅读 · 2019年5月20日
Sparse Sequence-to-Sequence Models
Arxiv
5+阅读 · 2019年5月14日
Arxiv
23+阅读 · 2018年10月24日
Arxiv
6+阅读 · 2018年10月3日
Top
微信扫码咨询专知VIP会员