We introduce Stream-K, a work-centric parallelization of matrix multiplication (GEMM) and related computations in dense linear algebra. Whereas contemporary decompositions are primarily tile-based, our method operates by partitioning an even share of the aggregate inner loop iterations among physical processing elements. This provides a near-perfect utilization of computing resources, regardless of how efficiently the output tiling for any given problem quantizes across the underlying processing elements. On GPU processors, our Stream-K parallelization of GEMM produces a peak speedup of up to 14$\times$ and 6.7$\times$, and an average performance response that is both higher and more consistent across 32,824 GEMM problem geometries than state-of-the-art math libraries such as CUTLASS and cuBLAS. Furthermore, we achieve this performance from a single tile size configuration per floating-point precision, whereas today's math libraries employ complex kernel-selection heuristics to select from a large ensemble of kernel variants.
翻译:我们引入了Stream-K, 母体倍增( GEMM) 的以工作为中心的平行, 以及相关计算为密度直线代数。 当代分解主要以瓷砖为基础, 我们的方法是将总内环循环迭代在物理处理元件中的比例平均分开。 这为计算资源提供了近乎完美的利用, 不论任何特定问题的产出在任何基本处理元件中如何高效地平整成数。 在 GPU 处理器上, 我们的GEM 的分流- K 平行生成了高达 14 美元 和 6.7 美元 的峰值加速, 平均性能反应在32 824 个GEMM问题上更高且更加一致, 比CUTLASS 和 cuBLAS 等最新数学图书馆的地理分布更加一致。 此外, 我们从一个浮点精确度大小的单体积配置中实现这一性能, 而今天的数学图书馆则使用复杂的内核选制, 从一个大的堆心变体中选择。