论文标题

Autohoot:张量的自动高阶优化

AutoHOOT: Automatic High-Order Optimization for Tensors

论文作者

Ma, Linjian, Ye, Jiayu, Solomonik, Edgar

论文摘要

高阶优化方法,包括牛顿的方法及其变体以及交替的最小化方法,主导了张量分解和张量网络的优化算法。这些张量方法用于量子系统的数据分析和仿真。在这项工作中,我们介绍了自动磁盘,这是针对张量计算的高阶优化定位的第一个自动分化(AD)框架。 Autohoot采用输入张量计算表达式并生成优化的衍生表达式。特别是,Autohoot包含一个新的显式雅各布 /黑森表达生成内核,其输出保持输入张量的粒度,并且易于优化。然后,传统的编译器优化技术和特定的张量代数转换都优化了表达式。实验结果表明,与现有的AD软件和其他具有手动书面内核的张量和其他张量计算库相比,Autohoot可为张量分解和张量网络应用实现竞争性CPU和GPU性能。由Autohoot生成的张量方法也是可行的,我们在分布式内存超级计算机上演示了良好的可扩展性。

High-order optimization methods, including Newton's method and its variants as well as alternating minimization methods, dominate the optimization algorithms for tensor decompositions and tensor networks. These tensor methods are used for data analysis and simulation of quantum systems. In this work, we introduce AutoHOOT, the first automatic differentiation (AD) framework targeting at high-order optimization for tensor computations. AutoHOOT takes input tensor computation expressions and generates optimized derivative expressions. In particular, AutoHOOT contains a new explicit Jacobian / Hessian expression generation kernel whose outputs maintain the input tensors' granularity and are easy to optimize. The expressions are then optimized by both the traditional compiler optimization techniques and specific tensor algebra transformations. Experimental results show that AutoHOOT achieves competitive CPU and GPU performance for both tensor decomposition and tensor network applications compared to existing AD software and other tensor computation libraries with manually written kernels. The tensor methods generated by AutoHOOT are also well-parallelizable, and we demonstrate good scalability on a distributed memory supercomputer.

扫码加入交流群

加入微信交流群

微信交流群二维码

扫码加入学术交流群,获取更多资源