[发明专利]高并行度计算平台、系统及计算实现方法有效
申请号: | 201810277338.X | 申请日: | 2018-03-31 |
公开(公告)号: | CN110321997B | 公开(公告)日: | 2021-10-19 |
发明(设计)人: | 王俊斌;隋凌志;方绍峡;于谦;单羿 | 申请(专利权)人: | 赛灵思公司 |
主分类号: | G06N3/04 | 分类号: | G06N3/04;G06N3/08;G06N3/063;G06F12/0893;G06F12/0897 |
代理公司: | 北京展翼知识产权代理事务所(特殊普通合伙) 11452 | 代理人: | 张阳 |
地址: | 美国加利福尼亚*** | 国省代码: | 暂无信息 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 并行 计算 平台 系统 实现 方法 | ||
1.一种高并行度计算平台,包括:
一级缓存,用于缓存从外部存储器读取的计算数据;
多个读控制器,每个所述读控制器用于从所述一级缓存的任意位置读取并行计算模块中单次操作所需的计算数据或其部分;
并行计算模块,用于对所述多个读控制器读取的计算数据进行高并行度的计算操作;以及
直接从所述外部存储器读取所述计算数据的二级缓存,所述二级缓存顺序缓存读取的计算数据,并且至少基于所述一级缓存中的数据消耗状况,进行如下至少一项操作:
向所述一级缓存写入计算数据;以及
从所述外部存储器读取计算数据并进行缓存。
2.如权利要求1所述的计算平台,还包括:
连接在所述多个读控制器和所述并行计算模块之间的过滤模块,用于滤除由所述读控制器读取的计算数据中的空值数据和/或所述计算数据中对应于相应计算结果为空值的非空值数据。
3.如权利要求1所述的计算平台,其中,所述一级缓存中数据消耗状况由所述读控制器状态参数所指示,并且所述计算平台还包括:
用于存储所述读控制器状态参数的读控制器状态寄存器;以及
基于所述读控制器状态参数生成缓存更新指令的缓存更新控制器。
4.如权利要求1所述的计算平台,还包括:
与所述并行计算模块相连的计算结果缓存模块,用于缓存所述并行计算模块所进行的计算操作的计算结果数据,并将所述计算结果数据存回所述外部存储器。
5.如权利要求1所述的计算平台,其中,所述一级缓存实现为寄存器堆。
6.一种用于卷积神经网络的高并行度计算平台,包括:
一级缓存,用于缓存从外部存储器读取的特征图数据和权重数据;
多个读控制器,每个所述读控制器用于从所述一级缓存的任意位置读取单次卷积计算操作所需的特征图数据和/或权重数据;
并行计算模块,用于对所述多个读控制器读取特征图数据和权重数据的进行高并行度的卷积计算操作;以及
直接从所述外部存储器读取所述特征图数据和所述权重数据并与所述一级缓存相连的二级缓存,所述二级缓存的缓存容量大于所述一级缓存的缓存容量,用于分开缓存读取的所述特征图数据和所述权重数据,并且至少基于所述一级缓存中数据消耗状况,进行如下至少一项操作:
向所述一级缓存写入特征图数据和权重数据;以及
从所述外部存储器读取新的特征图数据和权重数据。
7.如权利要求6所述的计算平台,其中,所述一级缓存包括用于缓存所述特征图数据的特征图数据池以及用于缓存所述权重数据的权重数据池,并且所述多个读控制器包括2M个读控制器,其中第一组M个读控制器用于同时读取M个特征图卷积窗,第二组M个读控制器用于同时读取M个权重卷积窗,以在所述并行计算模块中实现并行度为M的特征图卷积操作,其中,M是大于2的整数。
8.如权利要求7所述的计算平台,还包括:
连接在所述多个读控制器和所述并行计算模块之间的过滤模块,用于滤除由所述读控制器读取的特征图数据和/或权重数据中的空值、和/或所述特征图数据和权重数据中对应于相应卷积计算结果为空值的非空值数据。
9.如权利要求8所述的计算平台,其中,所述过滤模块保留特征图卷积窗及其对应权重卷积窗中相同位置都不为零的值并将其他值滤除。
10.如权利要求9所述的计算平台,其中,所述过滤模块包括0级缓存和M个异步先进先出队列,所述0级缓存包括或能被划分为2M个卷积窗缓存池,所述2M个读控制器将M个特征图卷积窗和M个权重卷积窗存入所述0级缓存的2M个卷积窗缓存池,并以一一对应的方式滤除特征图卷积窗及其对应权重卷积窗中相同位置至少有一个为零的值,并将保留值分别存入所述M个异步先进先出队列。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于赛灵思公司,未经赛灵思公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201810277338.X/1.html,转载请声明来源钻瓜专利网。