通过构造接口的带宽控制来增强DNN模块的处理性能制造技术

技术编号:22758152 阅读:13 留言:0更新日期:2019-12-07 05:17
具有DNN模块的示例性计算环境可以维持一个或多个带宽节流机制。说明性地,第一节流机制可以指定在协作构造组件(例如,数据总线)上的事务之间等待的周期数目。说明性地,第二节流机制可以是事务计数限制器,该事务计数限制器操作性地设定在给定事务序列期间要被处理的事务数目的阈值,并且限制诸如飞行中的多个事务的事务数目不超过所设定的阈值。在说明性操作中,在执行这两个示例性的所计算的节流参数时,平均带宽使用和峰值带宽使用可以被限制。操作性地,利用该构造带宽控制,DNN的处理单元被优化,以跨每个事务周期处理数据,从而得到增强的处理和较低的功耗。

Enhancing the processing performance of DNN module by constructing the bandwidth control of interface

An example computing environment with DNN modules can maintain one or more bandwidth throttling mechanisms. Illustratively, the first throttling mechanism may specify the number of cycles to wait between transactions on a cooperative construction component (E. G., data bus). Illustratively, the second throttling mechanism may be a transaction count limiter, which operationally sets a threshold value for the number of transactions to be processed during a given transaction sequence, and restricts the number of transactions such as multiple transactions in flight to not exceed the set threshold value. In the illustrative operation, the average bandwidth use and peak bandwidth use can be limited when performing the two example calculated throttling parameters. Operationally, using the constructed bandwidth control, DNN's processing units are optimized to process data across each transaction cycle, resulting in enhanced processing and lower power consumption.

【技术实现步骤摘要】
【国外来华专利技术】通过构造接口的带宽控制来增强DNN模块的处理性能
技术介绍
深度神经网络(“DNN”)根据生物神经系统(诸如,人脑)中的信息处理和通信模式被松散地建模。DNN可以用于解决复杂的分类问题,例如但不限于对象检测、语义标记和特征提取。因此,DNN形成了诸如计算机视觉、语音识别和机器翻译等许多人工智能(“AI”)应用的基础。DNN可以在许多这些领域中匹配或超越人类的准确度。DNN的高级别性能源于它们能够在使用大数据集上的统计学习来获得输入空间的有效表示之后,从输入数据中提取高级别特征。然而,DNN的优越性能以高计算复杂性为代价。高性能通用处理器(诸如,图形处理单元(“GPU”))通常用于提供许多DNN应用所需的高级别计算性能。虽然如GPU的通用处理器可以提供用于实现DNN的高级别计算性能,但是这些类型的处理器通常不适合用于在低功耗是关键的计算设备中长时间执行DNN操作。例如,诸如GPU的通用处理器可能不适合用于在电池供电的便携式设备(例如,智能电话或备用/虚拟现实(“AR/VR”)设备)中执行长时间运行的DNN任务,在这些便携式设备中,需要降低的功耗来延长电池寿命。还可以在非电池供电的设备(例如,诸如以太网供电(“POE”)的安全相机)中,在执行连续DNN任务(诸如,检测人类移动)的同时降低功耗。在该特定示例中,POE交换机可以仅提供有限量的功率,并且诸如安全相机的POE设备中的降低的功率可以使POE交换机的功耗和成本降低。已经开发了可以提供高性能DNN处理同时与通用处理器相比降低功耗的专用集成电路(“ASIC”)。然而,尽管在该领域取得了进步,但仍然需要提高执行DNN处理的ASIC的性能且降低ASIC的功耗,特别是对于在低功耗是关键的计算设备中的使用。当前的实践提供了各种机制来管理存储器和/或处理,以确保针对示例性计算环境的共享资源的请求组件之间的平衡。通过当前的实践,这样的存储器/处理器管理不足以优化每个可用处理元件(例如,协作DNN芯片的神经元)的整体效用。此外,当前的实践关注于系统的整体处理/存储器管理,而不考虑DNN芯片的整体功耗和处理性能。关于这些和其他技术挑战,提出了本文的公开内容。
技术实现思路
公开了一种神经网络模块,该神经网络模块可以通过确保处理单元的均匀效用来增强模块的处理单元的处理性能,以及通过增强的存储器管理降低功耗。本文未具体提及的其他技术益处也可以通过所公开的主题的实现来达到。为了达到上面简要提及的技术益处,说明性地,在具有DNN模块的示例性计算环境中,DNN的内部数据传递组件可以维持一个或多个带宽节流机制。在说明性实现中,第一节流机制可以指定在协作构造组件(例如,数据总线)上的事务之间等待的周期数目。举例来说,如果在事务之间等待的周期数目的值被设定为零,则在事务之间不插入间隙,并且数据传递可以以构造的最大传递速率发生。在另一说明性实现中,第二节流机制可以是事务计数限制器,事务计数限制器操作性地设定在给定事务序列期间要被处理的事务数目的阈值,并且限制诸如在飞行中的多个事务的事务数目不超过所设定的阈值。在说明性操作中,在执行这两个所计算的节流参数时,平均带宽使用和峰值带宽使用可以被限制。在说明性操作中,可以对示例性计算环境的一个或多个所选择的协作存储器组件执行这些节流参数。在说明性操作中,以一定速率向诸如神经元的一个或多个协作处理单元提供数据,以优化其效用来避免神经元在事务处理序列期间空闲。事务处理周期可以被认为是在所选择的时间单位期间由示例性计算环境处理的事务的数目。如上面简要讨论的,假设DNN模块可以对示例性神经网络环境的协作处理单元可用的带宽进行优化,则本文所公开的技术的实现提供DNN模块的增强的处理性能和降低的功耗。通过实现所公开的技术,也可以达到本文未具体标识的其他技术益处。应当理解,上述主题可以被实现为计算机控制的装置、计算机实现的方法、计算设备或者诸如计算机可读介质的制品。通过阅读以下具体实施方式以及查阅附图,这些和各种其他特征将是显而易见的。提供本
技术实现思路
是为了以简化的形式介绍所公开技术的一些方面的简要描述,这些描述将在下面的具体实施方式中进一步描述。本
技术实现思路
不旨在标识所要求保护的主题的关键特征或必要特征,也不旨在将本
技术实现思路
用于限制所要求保护的主题的范围。此外,所要求保护的主题不限于解决在本公开的任何部分中提到的任何或所有缺点的实现。附图说明图1是示出根据一个实施例的实现本文所公开的技术的各方面的DNN模块的配置和操作的各方面的计算架构图。图2图示了根据本文所描述的系统和方法的具有协作组件的示例性神经联网环境的框图。图3图示了根据本文所描述的系统和方法的说明性逻辑数据映射中表示的示例性输入数据的框图。图4图示了在说明性逻辑数据映射中表示的示例性输入数据的框图,其示出了操作以跨越说明性逻辑数据映射的一行或多行的说明性的n个滑动窗的使用。图5图示了根据本文所描述的系统和方法的在说明性逻辑数据映射中表示的示例性输入数据的框图,其示出了操作以跨越说明性逻辑数据映射的一行或多行的、操作以允许数据填充作为处理增强说明性的n个滑动窗的使用。图6是示出根据本文所描述的系统和方法的示例性神经网络环境的各种组件的交互的框图,该示例性神经网络环境操作以执行对示例性构造接口的带宽控制。图7是用于根据说明性神经联网计算环境中的示例性构造接口的带宽控制来处理数据的说明性过程的流程图。图8是示出根据一个实施例的用于计算设备的说明性计算机硬件和软件架构的计算机架构图,该计算设备可以充当本文所提出的DNN模块的应用主机;以及图9是图示根据本文所提出的各种实施例的分布式计算环境的网络图,在该分布式计算环境中可以实现所公开的技术的各方面。具体实施方式以下详细描述涉及神经网络模块,该神经网络模块可以通过确保处理单元的一致效用以及通过经增强的存储器管理降低功耗,增强模块的处理单元的处理性能。如上面简要讨论的,假设DNN模块可以优化示例性神经网络环境的协作处理单元可用的带宽,则本文所公开的技术的实现提供DNN模块进行的增强的处理性能和降低的功耗。本文未具体提及的其他技术益处也可以通过所公开的主题的实现来达到。为了达到上面简要提及的技术益处,说明性地,在具有DNN模块的示例性计算环境中,DNN的内部数据传递组件可以维持一个或多个带宽节流机制。在说明性实现中,第一节流机制可以指定在协作构造组件(例如,数据总线)上的事务之间等待的周期数目。举例来说,如果在事务之间等待的周期数目的值被设定为零,则在事务之间不插入间隙,并且数据传递可以以构造的最大传递速率发生。在另一说明性实现中,第二节流机制可以是事务计数限制器,其操作性地设定在给定的事务序列期间要被处理的事务数目的阈值,并且限制诸如在飞行中的多个事务的事务数目不超过所设定的阈值。在说明性操作中,在执行这两个经计算的节流参数时,可以限制平均带宽使用和峰值带宽使用。在说明性操作中,可以对示例性计算环境的一个或多个所选择本文档来自技高网
...

【技术保护点】
1.一种用于计算环境中的增强数据处理的系统,所述系统包括:/n至少一个神经网络处理器;/n至少一个存储器组件;以及/n至少一个存储器,所述至少一个存储器与所述至少一个神经网络处理器通信,所述至少一个存储器具有存储在其上的计算机可读指令,所述计算机可读指令在由所述至少一个处理器执行时使得所述至少一个处理器:/n从所述计算环境的协作组件接收一个或多个处理参数,所述一个或多个处理参数表示处理输入数据所需的处理和存储器资源;/n计算所述计算环境的协作构造组件上的总可用存储器,以确定针对所述计算环境的负载参数;/n使用所接收的所述一个或多个处理参数和所计算的所述负载参数来计算一个或多个节流参数;/n选择所计算的所述节流参数中的一个或多个节流参数来执行;以及/n通过执行所选择的、所计算的所述一个或多个节流参数,对所述计算环境的一个或多个协作存储器组件进行节流。/n

【技术特征摘要】
【国外来华专利技术】20170417 US 62/486,432;20180411 US 15/950,6441.一种用于计算环境中的增强数据处理的系统,所述系统包括:
至少一个神经网络处理器;
至少一个存储器组件;以及
至少一个存储器,所述至少一个存储器与所述至少一个神经网络处理器通信,所述至少一个存储器具有存储在其上的计算机可读指令,所述计算机可读指令在由所述至少一个处理器执行时使得所述至少一个处理器:
从所述计算环境的协作组件接收一个或多个处理参数,所述一个或多个处理参数表示处理输入数据所需的处理和存储器资源;
计算所述计算环境的协作构造组件上的总可用存储器,以确定针对所述计算环境的负载参数;
使用所接收的所述一个或多个处理参数和所计算的所述负载参数来计算一个或多个节流参数;
选择所计算的所述节流参数中的一个或多个节流参数来执行;以及
通过执行所选择的、所计算的所述一个或多个节流参数,对所述计算环境的一个或多个协作存储器组件进行节流。


2.根据权利要求1所述的系统,其中所述节流由所述计算环境的协作DMA组件执行。


3.根据权利要求2所述的系统,其中所计算的所述节流参数包括事务限制和间隙插入。


4.根据权利要求3所述的系统,其中所述计算机可读指令还使得所述至少一个处理器:根据所计算的所述节流参数,在所述一个或多个协作存储器组件上配置协作可配置寄存器。


5.根据权利要求4所述的系统,其中由所述计算环境的所述示例性神经网络处理器处理的事务的数目受限于低于所述协作存储器组件中的一个或多个协作存储器组件的最大带宽的阈值。


6.根据权利要求5所述的系统,其中协作存储器组件包括外部构造组件。


7.根据权利要求6所述的系统,其中根据所选择的阈值由所述示例性神经网络处理器处理的事务的受限制的所述数目包括:未完成事务...

【专利技术属性】
技术研发人员:C·B·麦克布赖德T·H·黑尔A·A·安巴德卡G·彼得K·D·塞多拉L·M·瓦尔B·博布罗夫
申请(专利权)人:微软技术许可有限责任公司
类型:发明
国别省市:美国;US

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1