1.一种存算一体智能计算架构中的Concat算子简化处理方法,其特征在于,包括以下两个部分:
P1.Concat算子的前继和后继卷积层的输入输出通道的切分方式;
P2.Concat算子输入输出通信连接规划流程;
所述的Concat算子的前继和后继卷积层的输入输出通道的切分方式,包括以下内容:
按照逐通道Xbar映射方式对Concat算子的所有前继卷积层进行输入输出通道的切分,所述Xbar为存内计算阵列,同时按照常规的逐通道Xbar映射方式对Concat算子的后继卷积层进行输出通道的切分,经过映射切分后,前继卷积层的所有输入和输出通道切片以及后继卷积层的所有输出通道切片的长度均等于K或小于K;
对于后继卷积层的输入通道,不是按照逐通道Xbar映射的方式进行切分,而是根据每个前继卷积层中每个输出通道切片的长度进行切分,即在切分后继卷积层的输入通道时,使每个切片的长度与对应的前继卷积层中的输出通道切片的长度相等;
所述的Concat算子输入输出通信连接规划流程,包括以下内容:
首先设置一个拥有两层嵌套的循环,外层循环的循环变量为n,用于指示Concat算子的第n个前继卷积层,循环范围为[1,N];内层循环的循环变量为t,用于指示Concat算子的第n个前继卷积层的第t个输出通道切片,循环范围为[1,Tn],其中Tn为第n个前继卷积层包含的输出通道切片数;设置两个计数器c,s,初始时n,t,c均为1,s为0,之后循环启动,在循环的每一步都会分析第n个前继卷积层的第t个输出通道切片,并在后继卷积层切分出一个输入通道切片,该切片的序号被赋值为c,记为后继卷积层的第c个输入通道切片,该输入通道切片的通道范围为[s,s+m),其中m为当前所分析的前继卷积层的输出通道切片的长度;同时,在当前所分析的前继卷积层的输出通道切片和刚切分得到的后继卷积层的输入通道切片之间建立通信连接,之后c自加1,s自加m,并开始下一轮循环;如此反复,直到所有前继卷积层的所有输出通道切片均与后继卷积层建立通信连接。
2.根据权利要求1所述的一种存算一体智能计算架构中的Concat算子简化处理方法,其特征在于,包括以下步骤:
(1)对于神经网络算子图中的Concat算子,从算子的每路输入向上游方向搜索,得到所有的前继卷积层,然后从算子的输出端向下游方向搜索得到后继卷积层;
(2)按照常规的逐通道Xbar映射方式对Concat算子的所有前继卷积层进行输入输出通道的切分,同时按照常规的逐通道Xbar映射方式对Concat算子的后继卷积层进行输出通道的切分,经过映射切分后,前继卷积层的所有输入和输出通道切片以及后继卷积层的所有输出通道切片的长度均等于K或小于K;
(3)根据原始模型要求的Concat算子的拼接顺序对Concat算子的N个前继卷积层进行排序并依次标号1,2,...,N;
(4)运行通信连接规划程序,设置一个拥有两层嵌套的循环,外层循环的循环变量为n,用于指示Concat算子的第n个前继卷积层,循环范围为[1,N];内层循环的循环变量为t,用于指示Concat算子的第n个前继卷积层的第t个输出通道切片,循环范围为[1,Tn],其中Tn为第n个前继卷积层包含的输出通道切片数;设置两个计数器c,s,之后循环启动,在循环的每一步都会分析第n个前继卷积层的第t个输出通道切片,并在后继卷积层切分出一个输入通道切片,该切片的序号被赋值为c,记为后继卷积层的第c个输入通道切片,该输入通道切片的通道范围为[s,s+m),其中m为当前所分析的前继卷积层的输出通道切片的长度;同时,在当前所分析的前继卷积层的输出通道切片和刚切分得到的后继卷积层的输入通道切片之间建立通信连接,之后c自加1,s自加m,并开始下一轮循环;如此反复,直到所有前继卷积层的所有输出通道切片均与后继卷积层建立通信连接。
3.根据权利要求2所述的一种存算一体智能计算架构中的Concat算子简化处理方法,其特征在于,步骤(1)中,在卷积神经网络,每个卷积层的权重是一个尺寸为输入通道数×卷积核尺寸×输出通道数的矩阵。
4.根据权利要求2所述的一种存算一体智能计算架构中的Concat算子简化处理方法,其特征在于,步骤(1)中,在卷积神经网络,在映射时卷积的输入通道和输出通道被切分为多个长度为K的切片。
5.根据权利要求2所述的一种存算一体智能计算架构中的Concat算子简化处理方法,其特征在于,步骤(1)中,在卷积神经网络,每个Tile包含一个Xbar或一个由多个Xbar组成的大的逻辑Xbar。
6.根据权利要求2所述的一种存算一体智能计算架构中的Concat算子简化处理方法,其特征在于,步骤(2)中后继卷积层的输入通道数等于其所有前继卷积层的输出通道数的和,而前继卷积层的输入通道数和后继卷积层的输出通道数是任意的。