System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind()
【技术实现步骤摘要】
本专利技术涉及计算机,具体涉及一种众核芯片以及众核芯片的数据获取方法。
技术介绍
1、随着人工智能技术的发展,用户对芯片处理能力的要求越来越高,由于单核芯片的处理能力有限,为了提升片上系统soc的算力,众核芯片随之出现;在众核芯片中,存在多个簇,每个簇是由多个处理核组成的计算集群,多个簇可以并行计算,提升了片上系统soc的算力。
2、现有技术中,多个簇并行计算时,每个簇需要使用相同的神经网络计算模型的权值数据处理不同图片输入,储存在双倍速率同步动态随机存储器(double data rate,ddr)内存上的神经网络计算模型的权值数据需要被不同的簇重复读取,但是由于ddr内存带宽的限制,会影响网络计算时延。
3、综上所述,如何在获取神经网络计算模型的权值数据时减少加载数据的开销,减少网络计算时延,是目前需要解决的问题。
技术实现思路
1、有鉴于此,本专利技术实施例提供了一种基于众核芯片的数据获取方法和装置,可以在获取神经网络计算模型的权值数据时减少加载数据的开销,进而减少网络计算时延。
2、第一方面,本专利技术实施例提供了一种众核芯片,包括:至少两个计算集群,其中,所述至少两个计算集群之间具有数据通路;
3、所述计算集群包括存储器和缓存,其中,所述存储器用于存储权值数据块;所述缓存用于存储从所述存储器中读取的所述计算集群对应的权值数据块,以及存储通过所述数据通路与其它计算集群的缓存交互的权值数据块;
4、所述计算集群还包括
5、可选的,所述计算集群还包括直接存储器访问,所述直接存储器访问用于从所述存储器读取所述计算集群对应的权值数据块至所述缓存。
6、可选的,所述众核芯片还包括控制模块,所述控制模块用于根据所述计算集群的数量,对全部权值数据进行分块处理,得到至少两个权值数据块;以及,确定每个所述计算集群对应的权值数据块。
7、可选的,所述存储器用于存储所述全部权值数据;或者
8、所述存储器用于存储所述计算集群对应的权值数据块。
9、可选的,所述存储器为双倍速率同步动态随机存储器,所述缓存为最后一级缓存。
10、第二方面,本专利技术实施例提供了一种众核芯片的数据获取方法,所述方法适用于包括至少两个计算集群的众核芯片,所述计算集群用于进行神经网络计算模型的计算,该方法包括:
11、对于每个计算集群,读取对应的权值数据块,其中,每个计算集群对应的权值数据块不同;
12、将所述每个计算集群对应的权值数据块进行数据交互,使得所述至少两个计算集群获取到全部权值数据。
13、可选的,所述对于每个计算集群,读取对应的权值数据块,具体包括:
14、对于每个计算集群,在所述每个计算集群对应的双倍速率同步动态随机存储器中读取对应的权值数据块。
15、可选的,在所述每个计算集群对应的双倍速率同步动态随机存储器中读取对应的权值数据块,具体包括:
16、通过直接存储器访问在所述每个计算集群对应的双倍速率同步动态随机存储器中,获取所述每个计算集群对应的权值数据块。
17、可选的,所述将所述每个计算集群对应的权值数据块进行数据交互,具体包括:
18、将所述至少两个计算集群对应的权值数据块通过所述众核芯片内的数据通路进行数据交互。
19、可选的,该方法还包括:
20、所述每个计算集群中的处理核从所述每个计算集群对应的最后一级缓存中获取对应的权值数据块进行计算。
21、可选的,所述将所述每个计算集群对应的权值数据块进行数据交互,使得所述至少两个计算集群获取到全部权值数据,包括:
22、响应于所述计算集群的缓存的内存空间小于所述全部权值数据的数据量,将所述每个计算集群读取的所述对应的权值数据块发送给其它计算集群,并接收其它计算集群发送的所述其它计算集群对应的权值数据块;
23、将所述每个计算集群的缓存中存储的权值数据块更新为所述其它计算集群对应的权值数据块,并继续向其它计算集群发送,直至所述每个计算集群迭代接收到所述全部权值数据。
24、可选的,所述将所述每个计算集群对应的权值数据块进行数据交互,使得所述至少两个计算集群获取到全部权值数据,包括:
25、响应于所述计算集群的缓存的内存空间大于或等于所述全部权值数据的数据量,将所述每个计算集群读取的对应的权值数据块逐一发送给其他计算集群,直至所述每个计算集群迭代接收到所述全部权值数据。
26、可选的,所述全部权值数据为所述神经网络计算模型任一层的第一权值数据,或者,为所述神经网络计算模型全部层的第二权值数据,或者,为所述神经网络计算模型部分层的第三权值数据。
27、可选的,在对于每个计算集群,读取对应的权值数据块之前,还包括:
28、根据所述计算集群的数量,对所述全部权值数据进行分块处理,得到至少两个权值数据块;
29、确定每个所述计算集群对应的权值数据块。
30、可选的,所述全部权值数据按照所述计算集群的数量平均存储在所述双倍速率同步动态随机存储器中,或者,所述每个计算集群的所述双倍速率同步动态随机存储器中都存储所述全部权值数据。
31、第三方面,本专利技术实施例提供了一种计算机程序指令,所述计算机程序指令在被处理器执行时实现如第一方面或第一方面任一种可能中任一项所述的方法。
32、第四方面,本专利技术实施例提供了一种计算机可读存储介质,其上存
33、储计算机程序指令,所述计算机程序指令在被处理器执行时实现如第一方面或第一方面任一种可能中任一项所述的方法。
34、第五方面,本专利技术实施例提供了一种板卡,所述板卡上包括所述第一方面的众核芯片。
35、第六方面,本专利技术实施例提供了一种服务器,所述服务器上包括所述第五方面的板卡。
36、本专利技术实施例中的众核芯片,包括:至少两个计算集群,其中,所述至少两个计算集群之间具有数据通路;所述计算集群包括存储器和缓存,其中,所述存储器用于存储权值数据块;所述缓存用于存储从所述存储器中读取的所述计算集群对应的权值数据块,以及存储通过所述数据通路与其它计算集群的缓存交互的权值数据块;所述计算集群还包括处理核,所述处理核用于获取所述缓存中存储的权值数据块,以及进行神经网络计算模型的计算。在上述众核芯片的基础上进行数据获取,可以在获取神经网络计算模型的权值数据时减少加载数据的开销,进而减少网络计算时延。
本文档来自技高网...【技术保护点】
1.一种众核芯片,其特征在于,包括:至少两个计算集群,其中,所述至少两个计算集群之间具有数据通路;
2.如权利要求1所述的众核芯片,其特征在于,所述计算集群还包括直接存储器访问,所述直接存储器访问用于从所述存储器读取所述计算集群对应的权值数据块至所述缓存。
3.如权利要求1-2任一项所述的众核芯片,其特征在于,所述众核芯片还包括控制模块,所述控制模块用于根据所述计算集群的数量,对全部权值数据进行分块处理,得到至少两个权值数据块;以及,确定每个所述计算集群对应的权值数据块。
4.如权利要求3所述的众核芯片,其特征在于,所述存储器用于存储所述全部权值数据;或者
5.如权利要求1-4任一项所述的众核芯片,其特征在于,所述存储器为双倍速率同步动态随机存储器,所述缓存为最后一级缓存。
6.一种众核芯片的数据获取方法,其特征在于,所述方法适用于包括至少两个计算集群的众核芯片,所述计算集群用于进行神经网络计算模型的计算,该方法包括:
7.如权利要求6所述的方法,其特征在于,所述将所述每个计算集群对应的权值数据块进行数据交互
8.如权利要求6-7任一项所述的方法,其特征在于,所述将所述每个计算集群对应的权值数据块进行数据交互,使得所述至少两个计算集群获取到全部权值数据,包括:
9.如权利要求6-8任一项所述的方法,其特征在于,所述全部权值数据为所述神经网络计算模型任一层的第一权值数据,或者,为所述神经网络计算模型全部层的第二权值数据,或者,为所述神经网络计算模型部分层的第三权值数据。
10.如权利要求6-9任一项所述的方法,其特征在于,在对于每个计算集群,读取对应的权值数据块之前,还包括:
...【技术特征摘要】
1.一种众核芯片,其特征在于,包括:至少两个计算集群,其中,所述至少两个计算集群之间具有数据通路;
2.如权利要求1所述的众核芯片,其特征在于,所述计算集群还包括直接存储器访问,所述直接存储器访问用于从所述存储器读取所述计算集群对应的权值数据块至所述缓存。
3.如权利要求1-2任一项所述的众核芯片,其特征在于,所述众核芯片还包括控制模块,所述控制模块用于根据所述计算集群的数量,对全部权值数据进行分块处理,得到至少两个权值数据块;以及,确定每个所述计算集群对应的权值数据块。
4.如权利要求3所述的众核芯片,其特征在于,所述存储器用于存储所述全部权值数据;或者
5.如权利要求1-4任一项所述的众核芯片,其特征在于,所述存储器为双倍速率同步动态随机存储器,所述缓存为最后一级缓存。
6.一种众核芯片的数据获取方法,其...
【专利技术属性】
技术研发人员:李涛,蒋路,
申请(专利权)人:北京希姆计算科技有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。