The embodiment of the present invention discloses an image concurrent processing method, device and system based on a single GPU card. The method includes: receiving tasks submitted by users; adding tasks to task queues and configuring corresponding task threads for tasks; sequentially adding configured task threads to thread pools; and according to the memory of GPU card of graphics processor and each task in thread pool. The memory occupied by thread execution can be reasonably selected from thread pool to submit to GPU card so that GPU card can process one or more task threads in parallel. Through the above way, the resources of GPU can be fully utilized, the waste of resources can be avoided, the proportion of idle and unused resources can be greatly reduced, and the throughput capacity of the system can be effectively increased. In addition, multi-task threads processing at the same time can have better speedup ratio and further improve processing efficiency.
【技术实现步骤摘要】
一种基于单GPU卡的图像并发处理方法、装置及系统
本专利技术涉及图像处理
,具体涉及一种基于单GPU卡的图像并发处理方法、装置及系统。
技术介绍
深度学习是机器学习研究中的一个新的领域,其动机在于建立、模拟人脑进行分析学习的神经网络,它模仿人脑的机制来解释数据,例如图像,声音和文本。目前,深度学习应用最主要的计算方式是前向传播。在现如今大量应用场景需求下,对于深度学习计算性能的要求越来越高。而其中最常用的提高计算性能的方法是使用图形处理器(GraphicsProcessingUnit,简称GPU)加速计算,以达到更高的系统吞吐量。经典的GPU加速计算注重于发挥GPU加速硬件的性能潜力,将深度学习前向传播过程中计算密集部分使用GPU进行计算,并进行深入优化来达到更高的加速效果。即便如此,GPU硬件的实际利用率仍然没有达到理想的效果,造成了GPU资源的浪费。
技术实现思路
本专利技术实施例的目的在于提供一种基于单GPU卡的图像并发处理方法、装置及系统,用以解决在进行深度学习应用时,CPU硬件的实际利用率不高,造成资源浪费的问题。为实现上述目的,本专利技术实施例提供一种基于单GPU卡的图像并发处理方法,该方法包括:接收用户提交的任务,其中任务为用户根据待处理的对象和处理需求建立的任务;将任务加入到任务队列,并为任务配置与之对应的任务线程;将配置好的任务线程按序加入到线程池中,线程池中包含至少两个任务线程;根据图形处理器GPU卡的内存和线程池中每一个任务线程执行时占用的内存,合理的从线程池中选取一个或多个任务线程提交至GPU卡,以便GPU卡对一个或多个任务线程并 ...
【技术保护点】
1.一种基于单GPU卡的图像并发处理方法,其特征在于,所述方法包括:接收用户提交的任务,其中所述任务为用户根据待处理的对象和处理需求建立的任务;将所述任务加入到任务队列,并为所述任务配置与之对应的任务线程;将配置好的任务线程按序加入到线程池中,所述线程池中包含至少两个任务线程;根据图形处理器GPU卡的内存和所述线程池中每一个任务线程执行时占用的内存,合理的从所述线程池中选取一个或多个任务线程提交至所述GPU卡,以便所述GPU卡对所述一个或多个任务线程并行处理。
【技术特征摘要】
1.一种基于单GPU卡的图像并发处理方法,其特征在于,所述方法包括:接收用户提交的任务,其中所述任务为用户根据待处理的对象和处理需求建立的任务;将所述任务加入到任务队列,并为所述任务配置与之对应的任务线程;将配置好的任务线程按序加入到线程池中,所述线程池中包含至少两个任务线程;根据图形处理器GPU卡的内存和所述线程池中每一个任务线程执行时占用的内存,合理的从所述线程池中选取一个或多个任务线程提交至所述GPU卡,以便所述GPU卡对所述一个或多个任务线程并行处理。2.根据权利要求1所述的方法,其特征在于,所述用户提交的任务包括至少一个。3.根据权利要求1所述的方法,其特征在于,所述根据所述GPU卡的内存和所述任务线程执行时占用的内存,合理的从所述线程池中选取一个或多个任务线程提交至所述GPU卡之后,所述方法还包括:接收所述GPU卡反馈的分别与所述一个或多个任务线程中每一个任务线程对应的响应信息,以便根据所述响应信息查询所述GPU卡处理所述一个或多个任务线程的进度。4.根据权利要求3所述的方法,其特征在于,当根据所述响应信息确定所述GPU卡对所述一个或多个任务线程中的第一任务线程处理完成时,从所述GPU卡中读取处理结果,并删除与所述第一任务线程对应的任务,其中,所述第一任务线程为所述一个或多个任务线程中的任一个任务线程。5.根据权利要求1或2所述的方法,其特征在于,所述根据图形处理器GPU卡的内存和所述线程池中每一个任务线程执行时占用的内存,合理的从所述线程池中选取一个或多个任务线程提交至所述GPU卡之前,所述方法还包括:当确定所述一个或多个任务线程中第一任务线程存在前向依赖任务线程时,检测所述前向依赖线程是否执行完毕;若所述前向依赖线程未执行完毕时,将所述第一任务线程加入到所述线程池的尾部排队,直至确定所述前向依赖任务线程执行完毕后,再按序将所述第一任务线程提交至所述GPU卡;并且,重新从所述线程池中按序再次选取一个任务线程提交至所述GPU卡,所述第一任务线程为所述一个或多个任务线程中任一个任务线程。6.一种基于单GPU卡的图像并发处理装置,其特征在于,所述装置包括:接收单元,用于接收用户提交的任务,...
【专利技术属性】
技术研发人员:安玉山,
申请(专利权)人:北京视甄智能科技有限公司,
类型:发明
国别省市:北京,11
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。