新的 MIT 编码技术使一些 GPU 任务速度提高了近四倍

研究人员开发了一种新的编程技术,通过教计算机跳过不会产生任何有用的计算,可以在图形处理单元 (GPU) 上进行一些计算,速度提高了近四倍。这项工作由麻省理工学院计算机科学和人工智能实验室 (CSAIL) 的研究人员领导,可以改善人工智能、科学模拟、图形的计算 […]《麻省理工学院新编码技术使一些 GPU 任务速度提高近四倍》一文首先出现在 Knowridge Science Report 上。

来源:Knowridge科学报告

研究人员开发了一种新的编程技术,通过教计算机跳过不会产生任何有用的计算,可以在图形处理单元 (GPU) 上进行一些计算,速度提高了近四倍。

这项工作由麻省理工学院计算机科学和人工智能实验室 (CSAIL) 的研究人员领导,可以改进人工智能、科学模拟、图形和其他处理大量数据的应用程序的计算。

问题的中心是矩阵和张量,它们本质上是网格或更高维的数字集合。

将这些集合相乘是现代计算(尤其是人工智能)中最常见的计算之一。

强大的计算机和 GPU 非常擅长处理“密集”数组,其中大多数位置都包含有用的数字。但现实世界的数据通常是“稀疏的”,这意味着许多位置都包含零。

考虑一张高分辨率图像,显示月亮被大片黑色天空包围。它的大部分像素可能代表空旷的黑暗并包含零值。存储和处理所有这些零会浪费内存和计算能力。

这个问题在乘法运算中变得尤其明显。任何东西乘以零总是会产生零,但计算机仍然可以执行数百万次这样毫无意义的计算。

研究人员开发了一种新方法来避免浪费工作。

他们的工作建立在一种称为 Einsum 的描述矩阵和张量计算的紧凑方式之上,该方式基于与阿尔伯特·爱因斯坦相关的数学符号。 Einsum 允许程序员使用相对较少的代码来描述复杂的计算。

然而,标准 Einsum 不会自动知道零位于稀疏数据中的位置。因此,他们仍然可以告诉 GPU 执行涉及这些零的计算。

研究人员现在正在努力实现该过程的自动化,并解决将两个稀疏数组相乘的更困难的问题。