背景技术:
1、本发明总体上涉及神经网络处理。
技术实现思路
1、根据本发明的一个方面,神经推断芯片包括多个网络节点和互连所述多个网络节点的片上网络。该网络包括至少一对有向路径。每个有向路径对路径具有相反方向和公共端。该网络被配置为在多个节点中的任意节点处接受数据。该网络被配置为将数据沿着该有向路径对中的第一有向路径从源节点传播到该有向路径对的公共端,并且沿着该有向路径对中的第二有向路径从该有向路径对的公共端传播到一个或多个目的地节点。
2、根据其它方面,提供了一种用于操作片上网络的方法和计算机程序产品。在多个网络节点处接受数据。多个网络节点由片上网络互连。该网络包括至少一个有向路径对。每个有向路径对路径具有相反方向和公共端。将数据沿着该有向路径对中的第一有向路径从源节点传播到该有向路径对的公共端,并且沿着该有向路径对中的第二有向路径从该有向路径对的公共端传播到一个或多个目的地节点。
1.一种神经推断芯片,包括:
2.根据权利要求1所述的神经推断芯片,其中所述网络被配置为根据网络地址在所述有向路径对中的第二有向路径上向所述一个或多个目的节点传递数据。
3.根据权利要求1或2所述的神经推断芯片,其中所述多个网络节点被组织在具有至少一行和至少一列的两个或更多个维度的网格中,每行和每列具有有向路径对。
4.根据权利要求3所述的神经推断芯片,其中每个网络节点包括路由器,所述路由器互连所述网络节点的行网络和列。
5.根据权利要求3所述的神经推断芯片,其中所述两个或更多个维度被排序,使得对于每个维度,数据沿着所述维度的有向路径对中的每个有向路径传播,之后是后续维度。
6.根据权利要求5所述的神经推断芯片,其中每个网络节点包括路由器,所述路由器将每个维度的所述有向路径对与所述后续维度的所述有向路径对进行互连,所述路由器适于将数据从所述有向路径对中的所述第二有向路径传递到所述后续维度的所述有向路径对中的所述第一有向路径。
7.根据前述权利要求中任一项所述的神经推断芯片,还包括位于每个有向路径对的所述公共端处的路由器,所述路由器被配置为沿着所述有向路径对中的第一有向路径接收数据并且沿着所述有向路径对中的第二有向路径发送数据。
8.根据前述权利要求中任一项所述的神经推断芯片,其中每个有向路径对的所述公共端是运行时可配置的。
9.根据权利要求8所述的神经推断芯片,其中网络被划分成多个子部分,每个子部分作为独立网络在所述网络节点的子集上操作。
10.根据前述权利要求中任一项所述的神经推断芯片,其中所述网络被配置为每时钟周期每节点接受一个数据分组,并且每时钟周期沿着每个有向路径向相邻节点传播数据。
11.根据权利要求10所述的神经推断芯片,其中所述网络被配置为在每个时钟周期在相邻网络节点之间传播数据而不停止或停顿。
12.根据权利要求1所述的神经推断芯片,其中所述网络被配置为通过广播向所述第二有向路径上的所有节点传递数据。
13.根据权利要求1所述的神经推断芯片,其中所述网络被配置为通过多播向所述第二有向路径上的节点子集传递数据。
14.根据权利要求1所述的神经推断芯片,其中所述网络被配置为通过单播向所述第二有向路径上的单个节点传递数据。
15.根据权利要求1所述的神经推断芯片,还包括外部接口,所述外部接口适于发送和接收来自除所述网络节点之外的源和目的地的数据。
16.根据权利要求15所述的神经推断芯片,其中所述节点路由器或公共端路由器被配置为路由绑定到所述外部接口的数据。
17.一种方法,包括:
18.根据权利要求17所述的方法,还包括:
19.根据权利要求17所述的方法,还包括:
20.根据权利要求17所述的方法,还包括:
21.根据权利要求17所述的方法,其中数据从一个或多个源节点到所述网络上的所述注入根据预定调度而进行。
22.根据权利要求21所述的方法,其中所述预定调度确保所述数据在所述一个或多个网络上不发生冲突。