【技术实现步骤摘要】
用于在神经网络中处理数据的静态生成的经编译表示
技术介绍
[0001]相关技术
[0002]一些电子装置执行人工神经网络或者更简单地说“神经网络”的操作。一般地,神经网络是一种计算结构,其包括与生物神经网络具有相似性的内部元件,诸如与生物的大脑相关的那些内部元件。可以通过使用训练数据的已知实例来配置神经网络的内部元件来训练神经网络以执行指定的任务,使得神经网络可以在输入数据的未知实例上执行指定的任务。例如,由神经网络执行的一项任务是识别图像是否包括诸如面部或车辆的图像元素。当训练神经网络以执行图像识别时,通过神经网络处理已知包括(或不包括)图像元素的图像,以配置内部元件,从而在随后处理未知图像以识别图像元素是否存在于未知图像中时生成适当的输出。
[0003]一种类型的神经网络是“完全连接的”神经网络。完全连接的神经网络在其内部元件中包括人工神经元或“节点”集,其以某种布置彼此互连,所述布置与生物大脑中通过突触使神经元互连的方式具有某种相似性。完全连接的神经网络可以被可视化为一种加权图结构形式,其中节点包括输入节点、中间(或“隐藏”)节点和输出节点。图1呈现了示出完全连接的神经网络100的框图,该神经网络100包括输入节点102、层110和112中的中间节点104、输出节点106和定向边108(为了清楚起见,仅标记了两个定向边和层)。在完全连接的神经网络内,除输出节点106之外的每个节点都通过具有相关联权重的定向边连接到一个或多个下游节点。在操作期间,完全连接的神经网络100的第一层中的输入节点102接收来自外部源的输入,并处理 ...
【技术保护点】
【技术特征摘要】
1.一种电子装置,其包括:本地高速缓存存储器;存储器,所述存储器存储输入矩阵A,输入矩阵A具有在通过神经网络处理输入数据实例时将使用的值;以及处理器,所述处理器被配置为:生成经编译表示,所述经编译表示包括用于在通过所述神经网络处理输入数据实例时从输入矩阵A获取数据的值,所述值包括输入矩阵A中针对多个线程中的每个线程的基址和相对偏移,所述相对偏移是将由所述线程处理的输入矩阵A的元素之间的距离;以及在所述本地高速缓存存储器中存储包括针对每个线程的所述基址和所述相对偏移的所述经编译表示。2.如权利要求1所述的电子装置,其中当生成所述经编译表示时,所述处理器被配置为:根据每个线程的线程标识符(ID)、输入矩阵A和/或输出矩阵C的维数、输入矩阵A和/或输出矩阵C的元素的性质以及卷积过滤器性质中的一些或全部来计算输入矩阵A中针对所述线程的所述基址。3.如权利要求1所述的电子装置,其中当生成所述经编译表示时,所述处理器被配置为:根据输入矩阵A和/或输出矩阵C的维数、输入矩阵A和/或输出矩阵C的元素的性质以及过滤器性质中的一些或全部来计算所述相对偏移。4.如权利要求1所述的电子装置,其中:所述存储器存储输入矩阵B,输入矩阵B具有在通过神经网络处理输入数据实例时将使用的值;以及所述处理器还被配置为:使用所述线程中的每个来处理输入矩阵A,所述处理包括使用所述本地高速缓存存储器中的所述经编译表示来识别存储器中的位置,将从所述位置获取的输入矩阵A的元素中的值与来自输入矩阵B的对应位置处的元素的值一起用作通过所述线程的一个或多个通用矩阵乘法(GEMM)运算的输入。5.如权利要求4所述的电子装置,其中在使用所述线程中的每个来处理输入矩阵A时,所述处理器被配置为:从所述本地高速缓存存储器中的输入矩阵A的所述经编译表示中获取用于输入矩阵A的每个线程的所述基址;在输入矩阵A的元素有待处理时,对于所述线程中的活动线程:从所述经编译表示获取下一个相对偏移;将所述活动线程的基址增加所述下一个相对偏移;从所述存储器中由所述活动线程的基址识别的位置处的输入矩阵A的元素中读取第一值;从与输入矩阵A的所述元素相关联的存储器位置处的输入矩阵B的元素中读取第二值;将所述第一值和所述第二值用作GEMM运算的输入;以及将所述GEMM运算的结果存储在所述存储器中的输出矩阵C中。
6.如权利要求5所述的电子装置,其中所述处理器还被配置为使用索引来与输入矩阵B的基址相结合地获取所述相对偏移以从输入矩阵B读取所述第二值。7.如权利要求5所述的电子装置,其中在将所述GEMM运算的所述结果存储在输出矩阵C中时,所述处理器还被配置为:将每个结果存储在输出矩阵C中基于输入矩阵A中读取所述第一值的位置确定的输出矩阵C中的位置处。8.如权利要求4所述的电子装置,其中输入矩阵A和输入矩阵B中的所述值分别包括与输入数据实例相关联的输入值和权重,所述输入值和权重将用于通过所述神经网络处理所述输入数据实例。9.如权利要求4所述的电子装置,其中输入矩阵A和输入矩阵B的维数大于用于所述GEMM运算的维数。10.如权利要求1所述的电子装置,其中所述本地高速缓存存储器通过快速访问接口耦合到处理电路,所述快速访问接口实现比所述存储器的访问更快的访问。11.一种用于在电子装置中生成经编译表示的方法,所述电子装置包括:本地高速缓存存储器;存储器,所述存储器存储输入矩阵A,输入矩阵A具有在通过神经网络处理输入数据实例时将使用的值;以及处理器,所述方法包括:由所述处理器生成经编译表示,所述经编译表示包括用于在通过所述神经网络处理输入数据实例时从输入矩阵A获取数据的值,所述值包括输入矩阵A中针对多个线程中的每个线程的基址和相对偏移,所述相对偏移是将由所述线程处理的输入矩阵A的元素之间的距离;以及由所述处理器在所述本地高速缓存存储器中存储包括针对每个线程的所述基址和所述相对偏移的所述经编译表示。12.如权利要求11所述的方法,其中生成所述经编译表示包括:由所述处理器根据每个线程的线程标识符(ID)、输入矩阵A和/或输出矩阵C的维数、输入矩阵A和/或输出矩阵C的元素的性质以及卷积过滤器性质中的一些或全部来计算输入矩阵A中针对所述线程的所述基址。13.如权利要求11所述的方法,其中生成所述经编译表示包括:由所述处理器根据输入矩阵A和/或输出矩阵C的维数、输入矩阵A和/或输出矩阵C的元素的性质以及过滤器性质中的一些或全部来计算所述相对偏移。14.如权利要求11所述的方法,其中:所述存储器存储输入矩阵B,输入矩阵B具有在通过神经网络处理输入数据实例时将使用的值;以及所述方法还包括:由所述处理器使用所述线程中的每个来处理输入矩阵A,所述处理包括使用所述本地高速缓存存储器中的所述经编译表示来识别存储器中的位置,将从所述位置获取的输入矩阵A的元素中的值与来自输入矩阵B的对应位置处的元素的值一起用作通过所述线程的一个或多个通用矩阵乘法(GEMM)运算的输入。15.如权利要求14所述的方法,其中使用所述线程中的每个来处理输入矩阵A包括:由所述处理器从所述本地高速缓存存储器中的输入矩阵A的所述经编译表示中获取用
于输入矩阵A的每个线程的所述基址和所述相对偏移;在输入矩阵A的元素有...
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。