一种GPU任务调度中间件和GPU任务调度方法及装置制造方法及图纸

技术编号:41464243 阅读:17 留言:0更新日期:2024-05-30 14:20
本公开属于GPU任务调度技术领域,具体涉及一种GPU任务调度中间件、方法及装置。其中所述方法应用于所述中间件,包括:在多个任务链中确定当前执行的任务链,在所述当前执行的任务链中获取所述GPU任务,将所述GPU任务映射到一个工作线程上,其中,所述任务链由执行特定功能所需的GPU任务组成,在所述中间件中,所有与GPU相关的工作线程被放置在同一个进程内;在所述工作线程上,根据第一预设策略确定是否执行所述GPU任务;当执行所述GPU任务时,基于调度逻辑获取实现所述GPU任务的GPU驱动以实现受控内核发射,其中,所述调度逻辑至少包括所述内核的优先级设定以及基于优先级的内核发射,内核分组发射和延迟发射。

【技术实现步骤摘要】

本公开属于gpu任务调度,具体涉及一种gpu任务调度中间件和gpu任务调度方法及装置。


技术介绍

1、近年来,深度学习和边缘计算的兴起带来了对多任务实时计算的需求,也即大量任务需要混合的cpu/gpu计算,同时面临时延约束。为了满足实时需求,出现了很多针对gpu的加速库,例如tensorrt,cudnn,cupcl,cublas等。但是上述加速库的源码不开放。此外,最先进的gpu(如nvidia gpu)的驱动也是闭源的。算法库和硬件的黑盒特性导致中间件无法获取、修改对应位置的源码以进行调度,因此中间件的调度只能运行在很粗的粒度(以任务为粒度,而不是以gpu指令为粒度),从而对调度性能产生不利影响。

2、此外,尽管加速库可以大大加速单个任务在gpu上的执行,然而在多个任务同时执行,并且存在依赖关系时,多层次的调度会使得不同层次之间的策略相互干扰,难以进行有效的管理。除此之外,gpu在多任务共享执行时,也会由于gpu内部资源的竞争产生互相干扰,导致调度决策更加困难。


技术实现思路

>1、本公开实施例提本文档来自技高网...

【技术保护点】

1.一种GPU任务调度中间件,用于获取GPU任务,并调用GPU驱动执行所述GPU任务,其特征在于,包括GPU驱动镜像库、黑盒算法库和内核调度模块:

2.一种GPU任务调度方法,应用于根据权利要求1所述的GPU任务调度中间件,其特征在于,包括:

3.根据权利要求2所述的方法,其特征在于,所述在多个任务链中确定当前执行的任务链包括:

4.根据权利要求3所述的方法,其特征在于,确定所述任务链的执行时间包括:

5.根据权利要求2所述的方法,其特征在于,所述根据第一预设策略确定是否执行所述GPU任务包括:

6.根据权利要求2所述的方法,其...

【技术特征摘要】

1.一种gpu任务调度中间件,用于获取gpu任务,并调用gpu驱动执行所述gpu任务,其特征在于,包括gpu驱动镜像库、黑盒算法库和内核调度模块:

2.一种gpu任务调度方法,应用于根据权利要求1所述的gpu任务调度中间件,其特征在于,包括:

3.根据权利要求2所述的方法,其特征在于,所述在多个任务链中确定当前执行的任务链包括:

4.根据权利要求3所述的方法,其特征在于,确定所述任务链的执行时间包括:

5.根据权利要求2所述的方法,其特征在于,所述根据第一预设策略确定是否执行所...

【专利技术属性】
技术研发人员:祝含颀张午阳张鑫燃陶子扬林欣蕊张昱吉建民张燕咏
申请(专利权)人:中国科学技术大学
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1