本发明属于人工智能,尤其涉及一种基于任务缓冲区的多核任务管理方法。
背景技术:
1、在面向低动态、场景变化缓慢的场景时,使用传统的单核加速神经网络,可以一般场景需求,但是当面对强实时、高并发、高性能的场景时,该种加速方法便出现了实时性不够的弊端,因此可通过配置任务缓冲区完成任务下达工作,采用多核加速的方法来提高推理实时性,满足场景需求。
技术实现思路
1、为解决背景技术中存在的上述技术问题,本发明提供一种基于任务缓冲区的多核任务管理方法,解决了满足主机和npu核间特定应用运算调度效率问题。
2、本发明的技术解决方案是:本发明为一种基于任务缓冲区的多核任务管理方法,其特殊之处在于:该方法包括以下步骤:
3、1)将算法配置信息通过dma搬运到npu的内存中;
4、2)配置一个或多个任务缓冲区;
5、3)从主机内存搬运数据到npu内存中,根据任务缓冲区配置情况启动一个或多个npu核;
6、4)npu核推理计算完成采用查表检索的办法查询请求的缓冲区;
7、5)将npu核计算结果搬运到主机内存。
8、进一步的,步骤1)中,算法配置信息是npu核运算所需的数据,将这部分用于计算的参数数据搬运至npu内存中。
9、进一步的,步骤1)中,参数数据为权重数据及iu数据。
10、进一步的,步骤2)的具体步骤如下:通过给任务缓冲区寄存器赋值,配置输入数据基地址、输入数据dma源地址、输入数据dma目的地址、输出数据基地址、输出数据dma源地址、输出数据dma目的地址、参数数据基地址以及要启动的npu核个数;同时将该缓冲区标志位置“1”。
11、进一步的,步骤3)的具体步骤如下:通过轮询的方式将输入数据从主机内存搬运到npu内存中,在此期间按照任务缓冲区配置的需要启动的npu核个数,启动一个或多个npu核。
12、进一步的,步骤4)的具体步骤如下:查询缓冲区标志位,确认发出请求的缓冲区,将推理完成中断上报至缓冲区。
13、进一步的,步骤5)的具体步骤如下:在npu核推理结束后,将输出数据通过dma搬运至主机内存中,数据搬运完成后将该缓冲区标志位置“0”。
14、本发明的优点是:本发明提供一种基于任务缓冲区的多核任务管理方法,可通过配置任务缓冲区的方法启动npu核,完成多核加速工作,提高推理实时性,满足场景需求。该方法解决了单核加速方法实时性不够的问题。
1.一种基于任务缓冲区的多核任务管理方法,其特征在于:该方法包括以下步骤:
2.根据权利要求1所述的基于任务缓冲区的多核任务管理方法,其特征在于:所述步骤1)中,算法配置信息是npu核运算所需的数据,将这部分用于计算的参数数据搬运至npu内存中。
3.根据权利要求2所述的基于任务缓冲区的多核任务管理方法,其特征在于:所述步骤1)中,参数数据为权重数据及iu数据。
4.根据权利要求3所述的基于任务缓冲区的多核任务管理方法,其特征在于:所述步骤2)的具体步骤如下:通过给任务缓冲区寄存器赋值,配置输入数据基地址、输入数据dma源地址、输入数据dma目的地址、输出数据基地址、输出数据dma源地址、输出数据dma目的地址、参数数据基地址以及要启动的npu核个数;同时将该缓冲区标志位置“1”。
5.根据权利要求4所述的基于任务缓冲区的多核任务管理方法,其特征在于:所述步骤3)的具体步骤如下:通过轮询的方式将输入数据从主机内存搬运到npu内存中,在此期间按照任务缓冲区配置的需要启动的npu核个数,启动一个或多个npu核。
6.根据权利要求5所述的基于任务缓冲区的多核任务管理方法,其特征在于:所述步骤4)的具体步骤如下:查询缓冲区标志位,确认发出请求的缓冲区,将推理完成中断上报至缓冲区。
7.根据权利要求6所述的基于任务缓冲区的多核任务管理方法,其特征在于:所述步骤5)的具体步骤如下:在npu核推理结束后,将输出数据通过dma搬运至主机内存中,数据搬运完成后将该缓冲区标志位置“0”。