[发明专利]线内数据检查以进行工作量简化有效
申请号: | 201810980508.0 | 申请日: | 2018-08-27 |
公开(公告)号: | CN109426519B | 公开(公告)日: | 2023-04-28 |
发明(设计)人: | J·M·普尔;A·克尔;J·特兰;M·Y·西乌;S·奥伯曼 | 申请(专利权)人: | 辉达公司 |
主分类号: | G06F9/30 | 分类号: | G06F9/30 |
代理公司: | 北京市磐华律师事务所 11336 | 代理人: | 高伟;娄晓丹 |
地址: | 美国加利*** | 国省代码: | 暂无信息 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 数据 检查 进行 工作量 简化 | ||
公开了一种用于线内数据检查的方法、计算机可读介质和系统。该方法包括以下步骤:由加载/存储单元接收加载指令,并通过耦合到加载/存储单元的检查电路获得由加载指令指定的数据。附加步骤包括确定数据等于零并将数据和谓词信号发送到加载/存储单元,其中谓词信号指示数据等于零。可选附加步骤包括基于数据和阈值之间的比较来计算谓词值,以及将数据和谓词值发送到加载/存储单元,其中当数据小于阈值时断言谓词值并且当数据不小于阈值时否定谓词值。
技术领域
本发明涉及数据检查,并且更具体地,涉及程序指令执行期间的数据检查。
背景技术
对于深度学习应用程序,卷积核通常对稀疏的数据进行操作,这意味着数据中的许多值等于零。稀疏性可以在激活中或在权重中。激活中的稀疏性源自神经网络的前一层中的修正线性单元(ReLU)激活函数。当修剪神经网络以提高精确度或减小模型尺寸时,出现权重中的稀疏性。对具有零值的元素执行算术运算在处理时间和性能方面是浪费的,因为算术运算对输出没有贡献。需要解决与现有技术相关的这些问题和/或其他问题。
发明内容
公开了一种用于线内(inline)数据检查的方法、计算机可读介质和系统。该方法包括以下步骤:由加载/存储单元接收加载指令,并由耦合到加载/存储单元的检查电路获得由加载指令指定的数据。附加步骤包括确定数据等于零并将数据和谓词(predicate)信号发送到加载/存储单元,其中谓词信号指示数据等于零。可选的附加步骤包括基于数据和阈值之间的比较来计算谓词值,以及将数据和谓词值发送到加载/存储单元,其中当数据小于阈值时断言谓词值并且当数据不小于阈值时否定谓词值。
附图说明
图1A示出了根据一个实施例的用于线内数据检查的方法的流程图;
图1B示出了根据一个实施例的线内数据检查逻辑的框图;
图1C示出了根据一个实施例的用于线内数据检查的方法的另一流程图;
图2A示出了根据一个实施例的图1B中所示的检查电路的框图;
图2B示出了根据一个实施例的发起线内数据检查的指令的字段;
图2C示出了根据一个实施例的用于数据瓦片(a tile of data)的算术运算的概念图;
图2D示出了根据一个实施例的包括发起线内数据检查的指令的伪代码;
图3示出了根据一个实施例的并行处理单元;
图4A示出了根据一个实施例的图3的并行处理单元中的通用处理集群;
图4B示出了根据一个实施例的图3的并行处理单元的存储器分区单元;
图5示出了根据一个实施例的图4A的流式多处理器;
图6示出了示例性系统,其中可以实现各种先前实施例的各种体系架构和/或功能。
具体实施方式
避免对具有零值的操作数(即,元素)执行算术运算的一种解决方案是检查已从存储器加载并将用作算术运算的操作数的数据。然而,这种方法需要额外的指令来比较值并减少一些操作数上的比较结果。可用于存储指令的指令发布时隙(issue slots)的数量通常也限制了内核执行的性能,尤其是数学密集型内核。因此,如果执行算术运算,则额外指令可能损害内核的性能,并且如果不执行运算,则可实现的性能改进可能受到取指延迟的限制。
当输入数据等于零时,线内数据检查技术消除了算术运算(诸如乘法)的执行。因此,与现有技术相反,零检测指令不包括在程序中。在一个实施例中,当输入数据小于阈值时,线内数据检查技术消除了运算的执行。因此,与现有技术相比,比较指令不包括在程序中。如前所述,由于处理单元内的指令的存储是有限的,所以减少指令序列的指令占用(instruction footprint)是重要的。不需要额外的指令来执行零检测或输入数据的比较。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于辉达公司,未经辉达公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201810980508.0/2.html,转载请声明来源钻瓜专利网。
- 数据显示系统、数据中继设备、数据中继方法、数据系统、接收设备和数据读取方法
- 数据记录方法、数据记录装置、数据记录媒体、数据重播方法和数据重播装置
- 数据发送方法、数据发送系统、数据发送装置以及数据结构
- 数据显示系统、数据中继设备、数据中继方法及数据系统
- 数据嵌入装置、数据嵌入方法、数据提取装置及数据提取方法
- 数据管理装置、数据编辑装置、数据阅览装置、数据管理方法、数据编辑方法以及数据阅览方法
- 数据发送和数据接收设备、数据发送和数据接收方法
- 数据发送装置、数据接收装置、数据收发系统、数据发送方法、数据接收方法和数据收发方法
- 数据发送方法、数据再现方法、数据发送装置及数据再现装置
- 数据发送方法、数据再现方法、数据发送装置及数据再现装置