System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind()
【技术实现步骤摘要】
本专利技术涉及深度学习,具体涉及一种基于神威处理器的算子融合方法。
技术介绍
1、在深度学习领域,算子融合是一种提高计算效率的有效手段。算子融合通过合并多个计算操作,减少数据在内存与计算单元之间的传输次数,降低计算延迟,从而提高算法的执行速度,由于深度学习算法的计算复杂度和数据规模不断增大,对计算设备也提出了更高的要求。
2、神威处理器为一款高性能处理器,其在浮点计算、并行处理等方面具有显著优势。神威处理器采用了众核架构,具备大量的计算核心和高度的并行能力,为深度学习算法的加速提供了有力支持。
3、然而,现有的算子融合方法主要针对通用处理器cpu、gpu进行设计,在执行深度学习任务时存在一定的局限性,存在能效比不高、并行处理能力不足等问题。未能充分发挥神威处理器的特性,导致在神威处理器上执行深度学习算法时,算子融合的效果不佳,且现有算子融合技术未能充分考虑神威处理器的众核架构,导致并行处理能力未能充分发挥,影响了算法的执行速度,此外,现有算子融合方法在融合过程中,对内存访问模式优化不足,导致内存带宽利用率较低,进一步制约了算法性能的提升。
技术实现思路
1、针对相关技术中存在的不足之处,本专利技术的目的在于提供了一种基于神威处理器的算子融合方法,以解决现有技术未能充分考虑神威处理器的众核架构,导致并行处理能力未能充分发挥,影响了算法的执行速度,现有算子融合方法在融合过程中,对内存访问模式优化不足,导致内存带宽利用率较低,进一步制约了算法性能的提升的技术问题。
2、本专利技术提供一种基于神威处理器的算子融合方法,包括如下步骤:
3、数据获取步骤:获取深度学习模型中计算图的算子,分析算子的数据访问模式,根据预设融合判定机制确定符合融合条件的待融合算子,并获取所述待融合算子的特征图;
4、数据加载步骤:所述特征图利用所述待融合算子进行数据处理,其中,将所述待融合算子的参数预先加载至神威处理器的局部数据存储器中;
5、数据运算步骤:判断所述特征图的总数据流与所述局部数据存储器的容量的大小,通过判断结果对所述特征图的数据块进行划分,利用所述数据块完成待融合算子的运算,并输出运算后的数据块。
6、本专利技术实施例通过将符合融合条件的算子进行融合,并预先将参数加载至神威处理器的局部数据存储器中,减少了数据在处理器和外部存储器之间的频繁传输,能够充分利用神威处理器的计算资源,提升并行计算效率,优化了内存访问模式,减少了内存带宽的瓶颈。
7、本专利技术一些实施例中,所述数据运算步骤具体为:
8、根据所述待融合算子的工作集大小将所述局部数据存储器的空间区域划分为计算区、缓存区及通信区,所述计算区用于存放计算所需数据,所述缓存区用于存放临时数据,所述通信区用于数据交换缓冲。
9、本专利技术实施例通过将局部数据存储器的空间区域划分为计算区、缓存区及通信区,实现了内存资源的高效管理和利用,减少数据访问冲突和内存带宽压力,从而显著提升计算效率和整体性能。
10、本专利技术一些实施例中,判断所述特征图的总数据流与所述局部数据存储器的容量的大小的过程具体为:
11、若所述特征图的总数据流超出所述局部数据存储器的容量,则通过动态计算最优分块大小,根据计算得到的最优分块采用分块流水线方式利用多个数据块依次完成待融合算子的运算,并输出运算后的数据块;
12、否则,将所述特征图中的数据块连续加载至局部数据存储器中完成待融合算子的计算,并输出运算后的数据块。
13、本专利技术实施例通过动态判断特征图的总数据流与局部数据存储器的容量关系,灵活选择最优分块大小或连续加载方式,当特征图数据流超出局部数据存储器容量时,采用分块流水线方式,将数据划分为适合存储器容量的最优分块,避免内存溢出,同时充分利用计算资源,当特征图数据流未超出容量时,采用连续加载方式,减少数据分块和加载的开销,提升计算效率,最大化性能和资源利用率。
14、本专利技术一些实施例中,根据计算得到的最优分块采用分块流水线方式利用多个数据块依次完成待融合算子的运算的过程具体为:
15、在所述局部数据存储器的计算区中划分两个缓冲区,根据所述神威处理器的接口向dma控制器发送dma请求,根据所述dma请求获取所述缓冲区中的计算所需数据后,完成待融合算子的运算。
16、本专利技术实施例通过在局部数据存储器的计算区中划分两个缓冲区,当一个缓冲区用于计算时,另一个缓冲区通过dma控制器预取下一块数据,从而实现计算与数据加载的并行化,减少等待时间,通过dma控制器直接获取计算所需数据,避免了cpu的频繁干预,提高了数据传输效率,多个数据块依次通过缓冲区完成计算,形成了高效的流水线处理模式,显著提升了计算吞吐量和整体性能。
17、本专利技术一些实施例中,通过动态计算最优分块大小的计算模型为:
18、
19、其中,为最优分块大小;为预设的分块的最大值;为局部数据存储器的可用空间;为待融合算子的个数。
20、本专利技术实施例通过动态计算最优分块大小,结合局部数据存储器的可用空间和待融合算子的个数,确保分块大小既能充分利用存储资源,又能满足计算需求。
21、本专利技术一些实施例中,所述数据加载步骤具体包括:
22、根据所述神威处理器的架构模式判断数据访问模式,根据数据访问模式选择将所述待融合算子的参数加载至所述局部数据存储器中的方式,其中,
23、当所述数据访问模式为连续访问时,根据所述神威处理器的接口向dma控制器发送dma请求,所述dma控制器根据所述dma请求将所述特征图中的数据块连续加载至局部数据存储器中;
24、当所述数据访问模式为跨步访问时,在主存储器中将特征图的数据块进行重排,将离散的数据组成连续的数据块后,通过向所述dma控制器发送dma请求将所述数据块连续加载至局部数据存储器中;
25、当所述数据访问模式为随机访问时,通过分析识别出数据块中访问次数超过预设次数的数据后,通过将所述数据移动至相邻位置以组成连续的数据块,再通过向所述dma控制器发送dma请求将所述数据块连续加载至局部数据存储器中。
26、本专利技术实施例当数据访问模式为连续访问时直接通过dma控制器将连续数据块加载至局部数据存储器,充分利用dma的高效数据传输能力,减少cpu干预;跨步访问时,通过数据重排将离散数据组成连续数据块,再通过dma加载,避免了跨步访问的低效性,提升了数据传输效率;随机访问时,通过分析高频访问数据并将其重组为连续数据块,优化了随机访问模式下的数据加载效率,减少了内存访问延迟,能够根据数据访问模式动态选择数据加载方式,确保数据高效加载至局部数据存储器中。
27、本专利技术一些实施例中,根据预设融合判定机制确定符合融合条件的待融合算子的过程具体为:
28、分析算子与算子之间的数据依赖关系,确认是否存在直接数据依赖且无循环依赖的算子本文档来自技高网...
【技术保护点】
1.一种基于神威处理器的算子融合方法,其特征在于,包括如下步骤:
2.根据权利要求1所述的基于神威处理器的算子融合方法,其特征在于,所述数据运算步骤具体为:
3.根据权利要求2所述的基于神威处理器的算子融合方法,其特征在于,判断所述特征图的总数据流与所述局部数据存储器的容量的大小的过程具体为:
4.根据权利要求3所述的基于神威处理器的算子融合方法,其特征在于,根据计算得到的最优分块采用分块流水线方式利用多个数据块依次完成待融合算子的运算的过程具体为:
5.根据权利要求3所述的基于神威处理器的算子融合方法,其特征在于,通过动态计算最优分块大小的计算模型为:
6.根据权利要求3所述的基于神威处理器的算子融合方法,其特征在于,所述数据加载步骤具体包括:
7.根据权利要求1-6中任一项所述的基于神威处理器的算子融合方法,其特征在于,根据预设融合判定机制确定符合融合条件的待融合算子的过程具体为:
8.根据权利要求7所述的基于神威处理器的算子融合方法,其特征在于,根据预设融合判定机制确定符合融合条件的待融合算
9.根据权利要求8所述的基于神威处理器的算子融合方法,其特征在于,所述算子融合判定步骤还包括:
10.根据权利要求8中所述的基于神威处理器的算子融合方法,其特征在于,所述数据获取步骤包括:
...【技术特征摘要】
1.一种基于神威处理器的算子融合方法,其特征在于,包括如下步骤:
2.根据权利要求1所述的基于神威处理器的算子融合方法,其特征在于,所述数据运算步骤具体为:
3.根据权利要求2所述的基于神威处理器的算子融合方法,其特征在于,判断所述特征图的总数据流与所述局部数据存储器的容量的大小的过程具体为:
4.根据权利要求3所述的基于神威处理器的算子融合方法,其特征在于,根据计算得到的最优分块采用分块流水线方式利用多个数据块依次完成待融合算子的运算的过程具体为:
5.根据权利要求3所述的基于神威处理器的算子融合方法,其特征在于,通过动态计算最优分块大小的计算模型为:
【专利技术属性】
技术研发人员:丛明明,陈溟,苏亮,马猛飞,贾晓艺,信子君,
申请(专利权)人:青岛国实科技集团有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。