We develop lower bounds on communication in the memory hierarchy or between processors for nested bilinear algorithms, such as Strassen's algorithm for matrix multiplication. We build on a previous framework that establishes communication lower bounds by use of the rank expansion, or the minimum rank of any fixed size subset of columns of a matrix, for each of the three matrices encoding the bilinear algorithm. This framework provides lower bounds for any way of computing a bilinear algorithm, which encompasses a larger space of algorithms than by fixing a particular dependency graph. Nested bilinear algorithms include fast recursive algorithms for convolution, matrix multiplication, and contraction of tensors with symmetry. Two bilinear algorithms can be nested by taking Kronecker products between their encoding matrices. Our main result is a lower bound on the rank expansion of a matrix constructed by a Kronecker product derived from lower bounds on the rank expansion of the Kronecker product's operands. To prove this bound, we map a subset of columns from a submatrix to a 2D grid, collapse them into a dense grid, expand the grid, and use the size of the expanded grid to bound the number of linearly independent columns of the submatrix. We apply the rank expansion lower bounds to obtain novel communication lower bounds for nested Toom-Cook convolution, Strassen's algorithm, and fast algorithms for partially symmetric contractions.
翻译:我们开发了内存等级或嵌入双线算法处理器之间通信的较低界限,例如斯特拉斯森的矩阵倍增算法。我们以以前的框架为基础,通过使用层扩展或矩阵列中任何固定大小子集的最小级来建立通信的较低界限,针对三个矩阵中的每一个,为双线算法编码双线算法编码双线算法。这个框架为计算双线算法提供了较低的界限,它包含比确定特定依赖性图形更大的算法空间。内嵌的双线算法包括聚合、矩阵倍增和配对式变速快速递归算法。两个双线算法可以通过使用阶扩展或矩阵中任何固定尺寸子子集来建立通信的较低界限。我们的主要结果是对Kronecker产品从Kronecker产品级扩展的较低界限中构建的矩阵的等级扩展进行较低界限。为了证明这一界限,我们绘制了一个从子矩阵到2D网格的快速递归算法、矩阵增缩成、将两个双线运算法的缩成一个密度的内联、将基数放大的内联,将基数放大的内建成一个更小的内联的内联,并使用较小的内联。