[发明专利]用于根据高级程序进行脉动阵列设计的系统及方法在审
申请号: | 201810391781.X | 申请日: | 2018-04-27 |
公开(公告)号: | CN108805262A | 公开(公告)日: | 2018-11-13 |
发明(设计)人: | 张鹏;俞浩;魏学超;潘培琛 | 申请(专利权)人: | 美国飞通计算解决方案有限公司 |
主分类号: | G06N3/04 | 分类号: | G06N3/04;G06N3/063 |
代理公司: | 北京安信方达知识产权代理有限公司 11262 | 代理人: | 陆建萍;杨明钊 |
地址: | 美国加利*** | 国省代码: | 美国;US |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 处理元件 脉动阵列 可重新配置 映射 二维阵列 高级程序 输入特征 配置 缓冲器 相邻处理元件 自动化系统 互连系统 神经网络 数据传递 双缓冲器 调度器 列排列 支持卷 存储 关联 | ||
1.一种支持卷积神经网络(CNN)的脉动阵列,包括:
以行和列排列的可重新配置的处理元件的二维阵列,每个处理元件具有关联的SIMD向量并通过本地连接被连接至至少一个其他处理元件;
输入特征映射缓冲器,所述输入特征映射缓冲器具有用于存储输入特征映射的双缓冲器;
互连系统,所述互连系统用于根据处理元件调度器将数据传递到邻近的处理元件,并且其中,
CNN计算是使用被配置为确定合适的可重新配置的处理元件参数的自动化系统而被映射到所述可重新配置的处理元件的二维阵列上的。
2.根据权利要求1所述的脉动阵列,其中,所述CNN计算是用高级C程序进行定义的,并且其中,所述映射被从所述高级C程序到FPGA比特流执行。
3.根据权利要求1所述的脉动阵列,其中,处理元件包括DSP块或者包括多个DSP块的向量处理器。
4.根据权利要求1所述的脉动阵列,其中,处理元件实现包括加法、减法、乘法和除法的数学运算,并且其中,所述处理元件包括查找表。
5.根据权利要求1所述的脉动阵列,其中,所述双缓冲器包括第一缓冲器和第二缓冲器,其中,在第一数据周期中,所述第一缓冲器被配置为存储由所述脉动阵列从外部存储器提取的数据,其中,在所述第一数据周期中,所述第二缓冲器被配置为将数据馈送到处理元件中,其中,在第二数据周期中,所述第二缓冲器被配置为存储由所述脉动阵列从外部存储器提取的数据,并且其中,在所述第二数据周期中,所述第一缓冲器被配置为将数据馈送到处理元件。
6.根据权利要求5所述的脉动阵列,其中,所述第一缓冲器和所述第二缓冲器中的每一个包括缓冲器段的阵列,并且其中,每个缓冲器段经由本地连接耦合到相邻的缓冲器段。
7.一种用于定义计算系统的方法,包括以下步骤:
确定计算到包括处理元件的行和列的脉动阵列的可行映射,每个处理元件具有相关联的SIMD向量;
选择脉动阵列的形状;以及
使用循环分块表示来确定数据分块大小。
8.根据权利要求7所述的方法,其中,所述可行映射包括在所述行和列以及在所述SIMD向量中的数据重用。
9.根据权利要求7所述的方法,其中,处理元件是DSP块或DSP块的向量。
10.根据权利要求9所述的方法,其中,选择所述脉动阵列的形状表征DSP块的总数、DSP时钟频率和DSP效率。
11.根据权利要求7所述的方法,其中,处理元件实施包括加法、减法、乘法和除法的数学运算,并且其中,所述处理元件包括查找表。
12.根据权利要求7所述的方法,其中,所述循环分块表示包括多个外部循环、多个中间循环和多个内部循环,其中,所述外部循环被配置为计算与所述计算系统相关联的多个图像块,所述中间循环被配置为表示将来自与所述计算系统相关联的多个输入缓冲器的数据馈送到所述处理元件的顺序处理,并且所述内部循环被配置为表示在所述脉动阵列中的并行性。
13.一种用于定义具有细粒度数据重用的计算系统的方法,包括以下步骤:
定义迭代器向量,所述迭代器向量列出循环嵌套中从最外侧循环到内部循环的循环迭代器;
设置定义循环迭代器的范围的迭代域D;和
计算将所述循环迭代器映射到阵列r的访问索引的访问函数,其中,循环l上的每个阵列r要求在不同循环l迭代中在阵列r上访问的数据是相同的。
14.根据权利要求13所述的方法,其中,基于所述内部循环的边界来确定与所述计算系统相关联的DSP的资源利用率。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于美国飞通计算解决方案有限公司,未经美国飞通计算解决方案有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201810391781.X/1.html,转载请声明来源钻瓜专利网。
- 上一篇:基于八叉树的卷积神经网络
- 下一篇:网络中的多个层的可变精度和混合类型表示