多核神经矢量检索硬件加速器及其调度方法
- 国知局
- 2024-08-22 14:55:04
本发明涉及神经网络加速器,尤其涉及一种多核神经矢量检索硬件加速器及其调度方法。
背景技术:
1、神经向量检索是大规模信息检索系统的基本组成部分,它利用深度学习技术提取非结构化数据的语义将其转换成特征向量,从而进行检索。该技术被应用在很多互联网服务中,用于应对目前互联网数据量爆炸增长的趋势,为用户提供延迟更低,质量更好的使用体验。
2、神经向量检索包含两个阶段:特征提取和向量检索。特征提取阶段利用神经网络将数据的语义投影到高维度的特征向量;向量检索阶段对于给定的查询向量,从向量数据库中提取k个与查询向量距离最小的向量。这两个阶段所包含的各个算子的计算规模可能各不相同,在同一个应用中,也可能提供多种不同规模的神经向量检索服务。因此,简单地使用单个或多个硬件资源量相同的神经向量检索加速器执行这些计算任务会面临高计算延迟和低硬件利用率等问题,提高服务成本的同时也不利于用户体验。
技术实现思路
1、本发明的旨在提供一种多核神经矢量检索硬件加速器及其调度方法,其能够满足神经向量检索多任务系统的实时性与高硬件利用率,提高用户的使用体验以及降低硬件加速器的成本。
2、对此,为了实现上述目的,本发明一方面提供一种多核神经矢量检索硬件加速器,包含:
3、子加速器堆,包含多个子加速器,用于执行计算任务;
4、调度控制模块,与该子加速器堆耦接,配置为执行一调度程序,将每一计算任务匹配到合适的子加速器上执行。
5、在一实施例中,该调度控制模块被配置来执行下列调度程序,以将每一计算任务匹配到合适的子加速器上执行,包含:
6、每一计算任务,依据该计算任务对应的任务参数和所有子加速器硬件参数,统计该计算任务在每一子加速器的执行时间,选择执行时间满足一预设时间条件的至少一子加速器作为该计算任务匹配的子加速器。
7、在一实施例中,该预设时间条件为执行时间最短,
8、选择执行时间最短的至少一子加速器作为该计算任务匹配的子加速器。
9、在一实施例中,该调度控制模块被配置来执行下列调度程序,以将每一计算任务匹配到合适的子加速器上执行,还包含:
10、对于每一处于空闲状态的子加速器,根据该子加速器的硬件参数和任务参数,计算期望匹配到该子加速器的每一计算任务与该子加速器的匹配度值,选择满足一预设匹配条件的至少一计算任务分配给该子加速器执行。
11、在一实施例中,该预设匹配条件为匹配度值最高,
12、选择匹配度值最高的至少一计算任务分配给该子加速器执行。
13、在一实施例中,所述调度控制模块包括至少一riscv架构的微处理器,用于执行该调度程序。
14、在一实施例中,该多核神经矢量检索硬件加速器还包含:
15、全局缓冲模块,与该子加速器堆耦接,配置为缓冲各子加速器需要的数据,使得各加速器能够并行读写数据。
16、在一实施例中,该多核神经矢量检索硬件加速器还包含:
17、所述全局缓冲模块包括至少一缓冲区域,每一缓冲区域配置为用以一子加速器所需数据的暂存,且每一缓冲区域包含多个缓冲块。
18、在一实施例中,该多核神经矢量检索硬件加速器还包含:
19、存储控制模块,与dma内存以及该全局缓冲模块耦接,用于从该dma内存中读取数据并写入到该全局缓冲模块中;及,将该全局缓冲模块存储的数据写入该dma内存中。
20、在一实施例中,该多核神经矢量检索硬件加速器还包含:
21、网络接口模块,与该调度控制模块耦接,配置为接收用户发送的一调度请求,且将该调度请求发送给该调度控制模块进行计算任务调度。
22、本发明另一方面还提供了一种多核神经矢量检索硬件加速器的调度方法,包括以下步骤:
23、在接收到一新的计算任务时,将该计算任务的任务参数加入到一待调度任务序列中;
24、对每一计算任务,依据该计算任务对应的任务参数和所有子加速器硬件参数,统计该计算任务在每一子加速器的执行时间,选择执行时间满足一预设时间条件的至少一子加速器作为该计算任务匹配的子加速器。
25、在一实施例中,该预设时间条件为执行时间最短,
26、选择执行时间最短的至少一子加速器作为该计算任务匹配的子加速器。
27、在一实施例中,对于每一处于空闲状态的子加速器,根据该子加速器的硬件参数和任务参数,计算期望匹配到该子加速器的每一计算任务与该子加速器的匹配度值,选择满足一预设匹配条件的至少一计算任务分配给该子加速器执行。
28、在一实施例中,该预设匹配条件为匹配度值最高,
29、选择匹配度值最高的至少一计算任务分配给该子加速器执行。
30、由以上方案可知,本发明的优点在于:
31、本发明提供的多核神经向量检索硬件加速器,其能够支持多个不同规模的神经向量检索任务的并行执行。其通过将计算任务和子加速器进行匹配,能够将不同规模的计算任务调度到拥有和其相适应的硬件资源的子加速器上,从而用更少的硬件资源降低计算任务的运行延迟,满足神经向量检索多任务系统的实时性与高硬件利用率,最终提高用户的使用体验以及降低硬件加速器的成本。
技术特征:1.一种多核神经矢量检索硬件加速器,其特征在于,包含:
2.根据权利要求1所述的多核神经矢量检索硬件加速器,其特征在于,
3.根据权利要求2所述的多核神经矢量检索硬件加速器,其特征在于,
4.根据权利要求2所述的多核神经矢量检索硬件加速器,其特征在于,
5.根据权利要求4所述的多核神经矢量检索硬件加速器,其特征在于,
6.根据权利要求1所述的多核神经矢量检索硬件加速器,其特征在于,
7.根据权利要求1所述的多核神经矢量检索硬件加速器,其特征在于,还包含:
8.根据权利要求7所述的多核神经矢量检索硬件加速器,其特征在于,还包含:
9.根据权利要求7所述的多核神经矢量检索硬件加速器,其特征在于,还包含:
10.根据权利要求1所述的多核神经矢量检索硬件加速器,其特征在于,还包含:
11.一种多核神经矢量检索硬件加速器的调度方法,其特征在于,包括以下步骤:
12.根据权利要求11所述的方法,其特征在于,该预设时间条件为执行时间最短,
13.根据权利要求11所述的方法,其特征在于,
14.根据权利要求13所述的方法,其特征在于,
技术总结本发明提出一种多核神经矢量检索硬件加速器及其调度方法,该加速器包含:子加速器堆,包含多个子加速器,用于执行计算任务;调度控制模块,与该子加速器堆耦接,配置为执行一调度程序,将每一计算任务匹配到合适的子加速器上执行。其能够满足神经向量检索多任务系统的实时性与高硬件利用率,提高用户的使用体验以及降低硬件加速器的成本。技术研发人员:袁梓铭,梁胜文,刘成,王颖,李华伟,李晓维受保护的技术使用者:中国科学院计算技术研究所技术研发日:技术公布日:2024/8/20本文地址:https://www.jishuxx.com/zhuanli/20240822/280388.html
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 YYfuon@163.com 举报,一经查实,本站将立刻删除。
下一篇
返回列表