The invention relates to a pipeline processor with low power parallel matrix multiplication pipeline. Systems, devices and methods for realizing a low power parallel matrix multiplication pipeline are disclosed. In one embodiment, the system includes at least the first and second vector registers stacks coupled to the matrix multiplication pipeline. Matrix multiplication pipeline contains multiple point product units. The dot product unit is configured to calculate the dot product or the outer product of the first and second sets of operands retrieved from the first vector register heap. The result of the dot product or outer product operation is written back to the second vector register heap. The second vector register heap takes the results of previous dot product or outer product operations as input for subsequent dot product or outer product operations. The dot product unit receives the results from the previous stage of the matrix multiplication operation and accumulates the results of the previous dot product or the outer product with the current dot product or the outer product.
【技术实现步骤摘要】
具有低功率并行矩阵乘法流水线的流处理器
本专利技术涉及计算机领域,更具体地涉及一种具有低功率并行矩阵乘法流水线的流处理器。
技术介绍
许多不同类型的计算系统包括矢量处理器或单指令多数据(SIMD)处理器。任务可以在这些类型的并行处理器上并行执行,以增加计算系统的吞吐量。注意,并行处理器在这里也可以被称为“流处理器”。在流处理器上实现了各种类型的机器学习算法。这些机器学习算法中的一些实现矩阵乘法操作。这些矩阵乘法操作通常需要很多周期来产生结果,同时消耗大量的功率。因此,期望用于改进性能、降低功耗和/或减少流处理器上的矩阵乘法操作的等待时间的技术。
技术实现思路
本专利技术的一些方面具体体现如下:1.一种系统,包括:第一矢量寄存器堆;和耦合到所述第一矢量寄存器堆的第一执行流水线,其中所述第一执行流水线包括多个点积单元,并且其中所述多个点积单元中的每一个点积单元被配置为:计算第一组操作数中的元素与第二组操作数中的对应元素的多个乘积;和计算累加输入和所述多个乘积的总和,其中所述总和是所述点积单元的输出。2.如条款1所述的系统,其中所述系统被配置为从所述第一矢量寄存器堆读取所述第一组操作数和所述第二组操作数,并将所述第一组操作数和所述第二组操作数提供给所述第一执行流水线。3.如条款1所述的系统,其中所述系统还包括第二矢量寄存器堆,其中所述系统被配置为从所述第二矢量寄存器堆读取多个累加输入,并将所述多个累加输入提供给所述第一执行流水线。4.如条款3所述的系统,其中,每个点积单元还被配置为将所述输出写入到所述第二矢量寄存器堆,其中先前点积操作的输出是被加到当前点积操作的总和 ...
【技术保护点】
1.一种系统,包括:第一矢量寄存器堆;和耦合到所述第一矢量寄存器堆的第一执行流水线,其中所述第一执行流水线包括多个点积单元,并且其中所述多个点积单元中的每一个点积单元被配置为:计算第一组操作数中的元素与第二组操作数中的对应元素的多个乘积;和计算累加输入和所述多个乘积的总和,其中所述总和是所述点积单元的输出。
【技术特征摘要】
1.一种系统,包括:第一矢量寄存器堆;和耦合到所述第一矢量寄存器堆的第一执行流水线,其中所述第一执行流水线包括多个点积单元,并且其中所述多个点积单元中的每一个点积单元被配置为:计算第一组操作数中的元素与第二组操作数中的对应元素的多个乘积;和计算累加输入和所述多个乘积的总和,其中所述总和是所述点积单元的输出。2.如权利要求1所述的系统,其中所述系统被配置为从所述第一矢量寄存器堆读取所述第一组操作数和所述第二组操作数,并将所述第一组操作数和所述第二组操作数提供给所述第一执行流水线。3.如权利要求1所述的系统,其中所述系统还包括第二矢量寄存器堆,其中所述系统被配置为从所述第二矢量寄存器堆读取多个累加输入,并将所述多个累加输入提供给所述第一执行流水线。4.如权利要求3所述的系统,其中,每个点积单元还被配置为将所述输出写入到所述第二矢量寄存器堆,其中先前点积操作的输出是被加到当前点积操作的总和的累加输入。5.如权利要求1所述的系统,其中所述系统还包括第二执行流水线,其中所述第二执行流水线被配置为与由所述第一执行流水线正在执行的点积操作并行地执行操作。6.如权利要求5所述的系统,其中所述系统还被配置为:在第一周期中从所述第一矢量寄存器堆读取所述第一组操作数和所述第二组操作数并且将所述第一组操作数和所述第二组操作数存储在存储元件中;和在第二周期中从所述第一矢量寄存器堆读取第三组操作数并且将所述第三组操作数提供给所述第二执行流水线。7.如权利要求1所述的系统,其中所述第一组操作数是第一矩阵的行,并且其中所述第二组操作数是第二矩阵的列,并且其中所述多个点积单元被配置成将所述第一矩阵乘以所述第二矩阵。8.一种方法,其包括:计算第一组操作数的元素和第二组操作数的对应元素的多个乘积;和计算累加输入和所述多个乘积的总和,其中所述总和是点积单位的输出。9.如权利要求8所述的方法,还包括从第一矢量寄存器堆读取所述第一组操作数和所述第二组操作数,并将所述第一组操作数和所述第二组操作数提供给第一执行流水线。10.如权利要求8所述的方法,还包括从第二矢量寄存器堆读取多个累加输入,并将所述多个累加输入提供给第一...
【专利技术属性】
技术研发人员:陈佳升,邹云晓,迈克尔·J·曼托尔,艾伦·拉什,
申请(专利权)人:超威半导体公司,
类型:发明
国别省市:美国,US
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。