【技术实现步骤摘要】
一种深度学习处理器的泛化架构设计方法
[0001]本专利技术涉及深度学习处理器的泛化架构设计方法。
技术介绍
[0002]为了满足深度学习在无人驾驶、人脸识别等应用领域的性能要求,专用的深度学习处理器相对于通用处理器提供了显著的高能效深度学习处理,成为了现代计算系统的关键计算引擎之一,被广泛集成到端、边、云计算系统中。然而,在很多实际应用场景特别是智能IoT场景中,应用不仅包含深度学习计算任务,也包含了很多其他计算密集的任务,如信号处理、数据分析等,为每一种不同类型的任务定制专用加速器,尽管理论上可以达到更高的计算能效,但是也会带来很多副作用。一方面,更多的异构加速器会直接导致芯片面积的增加,同时增加了系统互联设计的需求和复杂度,从而引起芯片成本的增加。另一方面,不同的应用配置下,计算需求的差异必然会导致专用加速器利用率的偏差。而各个专用加速器往往是独立的,加速器的很多硬件资源如片上缓存、计算阵列等,占据较大的芯片面积和功耗,却又无法跨越加速器复用,也会损害芯片的计算能效和成本。
技术实现思路
[0003]本专利技术的目的是为了解决现有深度学习处理器在智能IoT场景中不能兼容深度学习以外的其他计算密集的任务,导致芯片面积的增加、成本的增加、利用率的偏差、计算能效低的问题,而提出一种深度学习处理器的泛化架构设计方法。
[0004]一种深度学习处理器的泛化架构设计方法具体过程为:
[0005]步骤1:系统分为软件部分和硬件部分;
[0006]软件部分即通用处理器,通用处理器负责对硬 ...
【技术保护点】
【技术特征摘要】
1.一种深度学习处理器的泛化架构设计方法,其特征在于:所述方法具体过程为:步骤1:系统分为软件部分和硬件部分;软件部分即通用处理器,通用处理器负责对硬件编程;硬件部分即深度学习加速器,深度学习加速器负责硬件计算;通用处理器包括深度学习卷积计算任务和密集型计算任务;通用处理器读取数据,解析数据在片外存储器的组织形式;当进行密集型计算任务时,进入步骤2;当进行深度学习卷积计算任务时,进入步骤3;步骤2:解析密集型计算任务,得到最优的算子计算形式,将步骤1数据在片外存储器的组织形式加载到片上缓存Buffer,基于最优的算子计算形式将片上缓存Buffer的数据重排,将重排后数据加载到片上缓存Buffer2中;缓存Buffer2中数据传输到MAC阵列中,MAC阵列输出结果传给片外存储器;步骤3:将步骤1数据在片外存储器的组织形式加载到片上缓存Buffer,缓存Buffer中数据传输到MAC阵列中,MAC阵列输出结果传给片外存储器。2.根据权利要求1所述的一种深度学习处理器的泛化架构设计方法,其特征在于:所述步骤2:解析密集型计算任务,得到最优的算子计算形式,将步骤1数据在片外存储器的组织形式加载到片上缓存Buffer,基于最优的算子计算形式将片上缓存Buffer的数据重排,将重排后数据加载到片上缓存Buffer2中;缓存Buffer2中数据传输到MAC阵列中,MAC阵列输出结果传给片外存储器;具体过程为:密集型计算任务的算子包括向量向量乘,矩阵向量乘,矩阵矩阵乘和向量向量扩充乘;向量向量乘a1×
b1完成向量和向量的乘积计算,向量a1或者b1的维数可编程控制,所述向量a1或者b1的维数指向量a1或者向量b1中数据的数量;矩阵向量乘完成矩阵和向量的乘积计算,矩阵的向量数可编程控制,向量的维数可编程控制,所述向量的维数指向量中数据的数量;矩阵矩阵乘完成矩阵和矩阵的乘积计算,矩阵的向量数以及矩阵中向量的维数可编程控制;向量向量扩充乘完成矩阵矩阵乘的计算结果的对角线相加,矩阵的向量数以及矩阵中向量的维数可编程控制;若一组向量向量乘a1×
b1,a2×
b2,
…
,a
n
×
b
n
中向量a1,a2,a
n
不相同且向量b1,b2,b
n
不相同,向量向量乘a1×
b1,a2×
b2,
…
,a
n
×
b
n
还是向量向量乘a1×
b1,a2×
b2,
…
,a
n
×
b
n
;若一组向量向量乘a1×
b1,a2×
b2,
…
,a
n
×
b
n
中向量a1,a2,a
n
相同或向量b1,b2,b
n
相同,则将相同的向量提取出来,另一组不相同的向量拼接转换成矩阵,向量向量乘变成矩阵向量乘;若一组向量向量乘a1×
b1,a2×
b2,
…
,a
n
×
b
n
中向量a1,a2,a
n
相同且...
【专利技术属性】
技术研发人员:杨兵,朱智彧,刘成,张文宇,李潇,罗小琴,
申请(专利权)人:哈尔滨理工大学,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。