-
公开(公告)号:CN110546611A
公开(公告)日:2019-12-06
申请号:CN201880025480.3
申请日:2018-04-16
Applicant: 微软技术许可有限责任公司
Abstract: 深度神经网络(“DNN”)模块可以确定由神经元对输入缓冲区或权重缓冲区中的某些值的处理是否可以被跳过。例如,DNN模块可以确定神经元是否可以跳过对神经元缓冲区的整个列中的值的处理。例如,如果输入缓冲区或权重缓冲区的整个列为零,则可以跳过对这些值的处理。DNN模块还可以确定对输入缓冲区或权重缓冲区的行中的单个值的处理(例如,如果这些值为零)是否可以被跳过。由于跳过操作而提早完成其处理的神经元可以协助其他神经元进行其处理。可以在将由神经元执行的处理操作的结果传递给其正确所有者的处理完成之后执行组合操作。
-
公开(公告)号:CN110546610A
公开(公告)日:2019-12-06
申请号:CN201880025126.0
申请日:2018-04-16
Applicant: 微软技术许可有限责任公司
Abstract: 具有与一个或多个存储器组件协作的示例性DNN模块的示例性人工智能/机器学习硬件计算环境可以执行数据共享和分发以及缓冲器数据的重用,以减少存储器组件读/写的数目,从而增强整体硬件性能并降低功耗。说明性地,根据示例性硬件的所选操作来读取来自协作存储器组件的数据,并将其写入对应的其他存储器组件以供一个或多个处理元件(例如,神经元)使用。以该方式读取数据,来优化每个处理周期的一个或多个处理元件的参与,以及重用先前存储在一个或多个协作存储器组件中的数据。可操作地,将写入的数据在被处理元件消费之前复制到阴影存储器缓冲器。
-
公开(公告)号:CN110520857A
公开(公告)日:2019-11-29
申请号:CN201880025504.5
申请日:2018-04-06
Applicant: 微软技术许可有限责任公司
Abstract: 神经网络(NN)和/或深度神经网络(DNN)的性能可能受到正在执行的操作的数目以及NN/DNN的各种存储器组件之间的数据管理的限制。使用虚拟化硬件迭代器,由NN/DNN处理的数据可以被遍历并且被配置为优化操作的数目以及存储器利用率,以增强NN/DNN的整体性能。可操作地,迭代器控制器可以生成用于由NN/DNN执行的指令,指令表示一个或多个期望的迭代器操作类型并执行一个或多个迭代器操作。可以根据所选择的迭代器操作来将数据迭代,并将数据通信到NN/DD的一个或多个神经元处理器来进行处理并输出到目标存储器。迭代器操作可以应用于并行的各种数据量(例如,二进制大对象)或相同容量的多个切片。
-
公开(公告)号:CN110520853A
公开(公告)日:2019-11-29
申请号:CN201880025503.0
申请日:2018-04-06
Applicant: 微软技术许可有限责任公司
IPC: G06F13/28
Abstract: 直接存储器访问(DMA)引擎可能负责启用和控制计算系统内的DMA数据流。DMA引擎不通过计算机系统处理器的控制,自动地将与多个队列中的描述符相关联的数据块从源移动到目的地存储器位置或地址。基于对链接到队列中的描述符的数据块的分析,DMA引擎及其关联的DMA分段器确保链接到队列中的描述符的存储的数据块不会在昂贵的时间段内保持空闲。DMA分段器可以将大数据块划分为较小的数据块,以确保对大数据块的处理不会妨碍对与队列中一个或多个描述符关联的较小数据块的及时处理。所存储的数据块可以是二维数据块。
-
公开(公告)号:CN110520846A
公开(公告)日:2019-11-29
申请号:CN201880025417.X
申请日:2018-04-06
Applicant: 微软技术许可有限责任公司
IPC: G06F9/50
Abstract: 经优化的存储器使用和管理对于神经网络(NN)或深度神经网络(DNN)计算环境的整体性能至关重要。使用输入数据维度的各种特性,分配序列针对将由NN或DNN处理的输入数据而被计算,分配序列优化本地和外部存储器组件的有效使用。分配序列可以描述如何将输入数据(及其相关联的处理参数(例如,处理权重))拆分为一个或多个部分以及输入数据的这样的部分(及其相关联的处理参数)如何在本地存储器、外部存储器和NN或DNN的处理单元组件之间被传递。附加地,分配序列可以包括将所生成的输出数据存储在本地和/或外部存储器组件中以优化本地和/或外部存储器组件的有效使用的指令。
-
公开(公告)号:CN116909984A
公开(公告)日:2023-10-20
申请号:CN202310865940.6
申请日:2018-04-06
Applicant: 微软技术许可有限责任公司
Abstract: 本申请涉及使用虚拟化数据迭代器对神经网络进行数据处理性能增强的系统、方法、计算机可读存储介质。使用虚拟化硬件迭代器,由NN/DNN处理的数据可以被遍历并且被配置为优化操作的数目以及存储器利用率,以增强NN/DNN的整体性能。可操作地,迭代器控制器可以生成用于由NN/DNN执行的指令,指令表示一个或多个期望的迭代器操作类型并执行一个或多个迭代器操作。可以根据所选择的迭代器操作来将数据迭代,并将数据通信到NN/DD的一个或多个神经元处理器来进行处理并输出到目标存储器。迭代器操作可以应用于并行的各种数据量(例如,二进制大对象)或相同容量的多个切片。
-
公开(公告)号:CN110546628B
公开(公告)日:2023-10-20
申请号:CN201880025415.0
申请日:2018-04-06
Applicant: 微软技术许可有限责任公司
IPC: G06F15/80
Abstract: 神经网络(NN)和/或深度神经网络(DNN)的性能可以受到正在执行的操作的数目以及NN/DNN的各种存储器组件中间的数据管理的限制。使用可操作地在数据块中插入要处理的一个或多个移位比特的有向线缓冲器,可以优化对线缓冲器的数据读/写以便由NN/DNN进行处理,从而增强NN/DNN的整体性能。可操作地,操作控制器和/或迭代器能够生成具有所计算的(多个)移位比特的一个或多个指令,以用于传送到线缓冲器。说明性地,可以使用输入数据的各种特性以及包括数据维度的NN/DNN来计算(多个)移位比特。线缓冲器可以读取用于处理的数据,插入移位比特并将数据写入线缓冲器中以供(多个)协作处理单元进行后续处理。
-
公开(公告)号:CN110520853B
公开(公告)日:2023-08-15
申请号:CN201880025503.0
申请日:2018-04-06
Applicant: 微软技术许可有限责任公司
IPC: G06F13/28
Abstract: 直接存储器访问(DMA)引擎可能负责启用和控制计算系统内的DMA数据流。DMA引擎不通过计算机系统处理器的控制,自动地将与多个队列中的描述符相关联的数据块从源移动到目的地存储器位置或地址。基于对链接到队列中的描述符的数据块的分析,DMA引擎及其关联的DMA分段器确保链接到队列中的描述符的存储的数据块不会在昂贵的时间段内保持空闲。DMA分段器可以将大数据块划分为较小的数据块,以确保对大数据块的处理不会妨碍对与队列中一个或多个描述符关联的较小数据块的及时处理。所存储的数据块可以是二维数据块。
-
公开(公告)号:CN110520846B
公开(公告)日:2023-07-28
申请号:CN201880025417.X
申请日:2018-04-06
Applicant: 微软技术许可有限责任公司
IPC: G06F9/50
Abstract: 经优化的存储器使用和管理对于神经网络(NN)或深度神经网络(DNN)计算环境的整体性能至关重要。使用输入数据维度的各种特性,分配序列针对将由NN或DNN处理的输入数据而被计算,分配序列优化本地和外部存储器组件的有效使用。分配序列可以描述如何将输入数据(及其相关联的处理参数(例如,处理权重))拆分为一个或多个部分以及输入数据的这样的部分(及其相关联的处理参数)如何在本地存储器、外部存储器和NN或DNN的处理单元组件之间被传递。附加地,分配序列可以包括将所生成的输出数据存储在本地和/或外部存储器组件中以优化本地和/或外部存储器组件的有效使用的指令。
-
公开(公告)号:CN110678843A
公开(公告)日:2020-01-10
申请号:CN201880025426.9
申请日:2018-04-16
Applicant: 微软技术许可有限责任公司
Abstract: 公开了能够将神经元工作负载动态地划分以降低功率消耗的深度神经网络(DNN)模块。DNN模块包括神经元和组划分器以及调度器单元。组划分器和调度器单元将针对神经元的工作负载拆分为分区,以便将可以同时处理工作负载的神经元的数量最大化。组划分器和调度器单元然后将神经元的组分配给分区中的每个分区。DNN模块中的神经元的组处理它们的分配的分区中的工作负载以生成部分输出值。每个组中的神经元然后能够对它们的部分输出值求和以针对工作负载生成最终输出值。一旦神经元的组完成了对它们的分配的工作负载的处理,就可以将神经元关断以降低功率消耗。
-
-
-
-
-
-
-
-
-