CN111274049A - 一种基于异构并行加速的高效多路视频分析方法 - Google Patents

一种基于异构并行加速的高效多路视频分析方法 Download PDF

Info

Publication number
CN111274049A
CN111274049A CN202010056730.9A CN202010056730A CN111274049A CN 111274049 A CN111274049 A CN 111274049A CN 202010056730 A CN202010056730 A CN 202010056730A CN 111274049 A CN111274049 A CN 111274049A
Authority
CN
China
Prior art keywords
shared memory
queue
video
reading
results
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN202010056730.9A
Other languages
English (en)
Inventor
庄永忠
廖长明
徐燕生
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Chengdu Dinganhua Wisdom Internet Of Things Co ltd
Original Assignee
Chengdu Dinganhua Wisdom Internet Of Things Co ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Chengdu Dinganhua Wisdom Internet Of Things Co ltd filed Critical Chengdu Dinganhua Wisdom Internet Of Things Co ltd
Priority to CN202010056730.9A priority Critical patent/CN111274049A/zh
Publication of CN111274049A publication Critical patent/CN111274049A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/54Interprogram communication
    • G06F9/544Buffers; Shared memory; Pipes
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/54Interprogram communication
    • G06F9/546Message passing systems or structures, e.g. queues

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Image Processing (AREA)

Abstract

本发明公开发明了一种基于异构并行加速的高效多路视频分析方法,使用异构并行加速设备,加速在视频处理的同时提高GPU并行设备的利用率。利用一种多进程共享内存队列的机制,减少在并行设备和CPU之间的速度差别而产生的等待时间,从而提高GPU等并行加速设备的处理效率与利用率。

Description

一种基于异构并行加速的高效多路视频分析方法
技术领域
本发明涉及一种多路视频分析的方法,尤其是一种在异构并行硬件支持下的多路视频分析的架构方法,属于图像视频处理领域。
背景技术
随着GPU和FPGA等并行设备的兴起与应用,任务并行的设计方法越来越受欢迎。尤其是在近年来,机器学习与深度学习等算法在并行硬件的支持下蓬勃发展。图像与视频处理任务又是近年来在机器学习与深度学习中的典型任务并且取得的非常显著的效果。
许多基于深度学习图像处理方法,都能够一次性的处理包含多张图像的一个batch的图像数据。但是当前许多的实际应用中的视频处理方法都是基于CPU串行运行的架构,只能串行的处理一路视频。
虽然现在已经有一些将GPU与CPU结合起来利用深度学习的算法来提升视频图像处理的精度,但都有一些显著的缺点:GPU的算法处理时间交比之于CPU的准备阶段而言要短很多,GPU的等待时间势必会造成GPU资源的浪费。
发明内容
针对上诉问题,本发明提供了一种基于GPU与CPU的异构并行加速高效视频处理软件设计方法。本发明采用一种共享内存队列的机制来协调在GPU与CPU之间的速度差异,并因而提高GPU的资源利用率。
为了实现上述目的,本发明包括以下步骤:
步骤1)主程序:主要负责分别将每一个视频流数据进行读取并存储到指定的共享内存队列;
步骤2)算法程序:主要负责从共享内存队列中读取视频帧并且拼装成batch数据进行加速算法处理,最后将处理结果放入到共享内存队列B中;
步骤3)结构后处理程序:负责从共享内存B中读取结果并分发到指定接口。
上述步骤1)中所述的主程序是指:读取视频流配置信息,并根据初始化配置中视频流的数量n,初始化相同数量(n个)线程用于分别读取每一路视频帧数据;
上述步骤1)中所述的一种基于异构并行加速的高效多路视频分析方法,其特征是,在步骤1)中所述的主程序是指:每一个视频线程中,维护一个基于共享内存的队列A,用于存储队列读取出来的视频帧;
上述步骤1)中所述的主程序是指:在每一个子线程中,先线程环境初始化,然后读取视频帧,并加入到共享内存队列A,并返回执行步骤i;
上述步骤1)中所述的共享内存队列是指:共享内存队列是在本发明中进行数据交换的数据结构,与一般的队列相比,多了一个drop函数,在入队时判断,当队列长度为队列总容量的70%时,将会以prob的概率丢弃当前帧。
上述步骤2)中所述的算法程序是指:加载基于深度学习或者机器学习的相应模型,算法程序从n个共享内存队列(A)中读取相应队首帧拼接成一个batch数据,将拼成的batch喂给模型利用GPU等计算加速运算,最后将处理结果放入到共享内存队列B的队尾,返回第二步操作。
上述步骤3)中所述结构后处理程序是指:从共享内存队列(B)的队首,依次取出结果,将结果分析与解析成n组结果,将n组结果分别发送到预定的接口中,返回第一步。
附图说明
图1是结构模块图
图2是主程序六层图
图3是算法程序流程图
图4是后处理程序流程图
图5是共享内存队列
具体实施方式
以下结合附图对本发明作进一步说明。
一种基于异构并行加速的高效多路视频分析方法,包括如下模块与步骤:
如图1中,本发明包括如下三个模块:
步骤1)主程序:主要负责分别将每一个视频流数据进行读取并存储到指定的共享内存队列;
步骤2)算法程序:主要负责从共享内存队列中读取视频帧并且拼装成batch数据进行加速算法处理,最后将处理结果放入到共享内存队列B中;
步骤3)结构后处理程序:负责从共享内存B中读取结果并分发到指定接口。
上述步骤1)中所述的主程序是指:读取视频流配置信息,并根据初始化配置中视频流的数量n,初始化相同数量(n个)线程用于分别读取每一路视频帧数据;
上述步骤1)中所述的一种基于异构并行加速的高效多路视频分析方法,其特征是,在步骤1)中所述的主程序是指:每一个视频线程中,维护一个基于共享内存的队列A,用于存储队列读取出来的视频帧;
上述步骤1)中所述的主程序是指:在每一个子线程中,先线程环境初始化,然后读取视频帧,并加入到共享内存队列A,并返回执行步骤i;
上述步骤1)中所述的共享内存队列是指:共享内存队列是在本发明中进行数据交换的数据结构,与一般的队列相比,多了一个drop函数,在入队时判断,当队列长度为队列总容量的70%时,将会以prob的概率丢弃当前帧。
上述步骤2)中所述的算法程序是指:加载基于深度学习或者机器学习的相应模型,算法程序从n个共享内存队列(A)中读取相应队首帧拼接成一个batch数据,将拼成的batch喂给模型利用6PU等计算加速运算,最后将处理结果放入到共享内存队列B的队尾,返回第二步操作。
上述步骤3)中所述结构后处理程序是指:从共享内存队列(B)的队首,依次取出结果,将结果分析与解析成n组结果,将n组结果分别发送到预定的接口中,返回第一步。

Claims (7)

1.一种基于异构并行加速的高效多路视频分析方法,包括如下模块与步骤:
步骤1)主程序:主要负责分别将每一个视频流数据进行读取并存储到指定的共享内存队列;
步骤2)算法程序:主要负责从共享内存队列中读取视频帧并且拼装成batch数据进行加速算法处理,最后将处理结果放入到共享内存队列B中;
步骤3)结构后处理程序:负责从共享内存B中读取结果并分发到指定接口。
2.根据权利要求1所述的一种基于异构并行加速的高效多路视频分析方法,其特征是,在步骤1)中所述的主程序是指:读取视频流配置信息,并根据初始化配置中视频流的数量n,初始化相同数量(n个)线程用于分别读取每一路视频帧数据。
3.根据权利要求1所述的一种基于异构并行加速的高效多路视频分析方法,其特征是,在步骤1)中所述的主程序是指:每一个视频线程中,维护一个基于共享内存的队列A,用于存储队列读取出来的视频帧。
4.根据权利要求1所述的一种基于异构并行加速的高效多路视频分析方法,其特征是,在步骤1)中所述的主程序是指:在每一个子线程中,先线程环境初始化,然后读取视频帧,并加入到共享内存队列A,并返回执行步骤i。
5.根据权利要求1所述的一种基于异构并行加速的高效多路视频分析方法,其特征是,在步骤1)中所述的共享内存队列是指:共享内存队列是在本发明中进行数据交换的数据结构,与一般的队列相比,多了一个drop函数,在入队时判断,当队列长度为队列总容量的70%时,将会以prob的概率丢弃当前帧。
6.根据权利要求1所述的一种基于异构并行加速的高效多路视频分析方法,其特征是,在步骤2)中所述的算法程序是指:加载基于深度学习或者机器学习的相应模型,算法程序从n个共享内存队列(A)中读取相应队首帧拼接成一个batch数据,将拼成的batch喂给模型利用GPU等计算加速运算,最后将处理结果放入到共享内存队列B的队尾,返回第二步操作。
7.根据权利要求1所述的一种基于异构并行加速的高效多路视频分析方法,其特征是,在步骤3)中所述结构后处理程序是指:从共享内存队列(B)的队首,依次取出结果,将结果分析与解析成n组结果,将n组结果分别发送到预定的接口中,返回第一步。
CN202010056730.9A 2020-01-17 2020-01-17 一种基于异构并行加速的高效多路视频分析方法 Pending CN111274049A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202010056730.9A CN111274049A (zh) 2020-01-17 2020-01-17 一种基于异构并行加速的高效多路视频分析方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010056730.9A CN111274049A (zh) 2020-01-17 2020-01-17 一种基于异构并行加速的高效多路视频分析方法

Publications (1)

Publication Number Publication Date
CN111274049A true CN111274049A (zh) 2020-06-12

Family

ID=71003034

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010056730.9A Pending CN111274049A (zh) 2020-01-17 2020-01-17 一种基于异构并行加速的高效多路视频分析方法

Country Status (1)

Country Link
CN (1) CN111274049A (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114490092A (zh) * 2022-04-06 2022-05-13 北京中科慧眼科技有限公司 基于机器视觉算法的软件系统及构建方法

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102223300A (zh) * 2011-06-09 2011-10-19 武汉烽火网络有限责任公司 一种网络设备中多媒体数据的传输控制方法
CN108900327A (zh) * 2018-06-20 2018-11-27 昆明理工大学 一种基于dpdk的天文数据采集和实时处理方法
CN109167979A (zh) * 2018-10-30 2019-01-08 深兰科技(上海)有限公司 多路监控视频人工智能分析的处理方法及系统
CN109840597A (zh) * 2017-11-28 2019-06-04 珠海市君天电子科技有限公司 一种模型预测方法、装置、电子设备及存储介质
CN110298213A (zh) * 2018-03-22 2019-10-01 北京深鉴智能科技有限公司 视频分析系统和方法
CN110650347A (zh) * 2019-10-24 2020-01-03 腾讯云计算(北京)有限责任公司 多媒体数据的处理方法及装置

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102223300A (zh) * 2011-06-09 2011-10-19 武汉烽火网络有限责任公司 一种网络设备中多媒体数据的传输控制方法
CN109840597A (zh) * 2017-11-28 2019-06-04 珠海市君天电子科技有限公司 一种模型预测方法、装置、电子设备及存储介质
CN110298213A (zh) * 2018-03-22 2019-10-01 北京深鉴智能科技有限公司 视频分析系统和方法
CN108900327A (zh) * 2018-06-20 2018-11-27 昆明理工大学 一种基于dpdk的天文数据采集和实时处理方法
CN109167979A (zh) * 2018-10-30 2019-01-08 深兰科技(上海)有限公司 多路监控视频人工智能分析的处理方法及系统
CN110650347A (zh) * 2019-10-24 2020-01-03 腾讯云计算(北京)有限责任公司 多媒体数据的处理方法及装置

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114490092A (zh) * 2022-04-06 2022-05-13 北京中科慧眼科技有限公司 基于机器视觉算法的软件系统及构建方法

Similar Documents

Publication Publication Date Title
Yang et al. Re-thinking CNN frameworks for time-sensitive autonomous-driving applications: Addressing an industrial challenge
CN106358003B (zh) 一种基于线程级流水线的视频分析加速方法
TWI585680B (zh) 用於執行緒佇列安排之方法、裝置與系統(二)
RU2771008C1 (ru) Способ и устройство для обработки задач на основе нейронной сети
US9990412B2 (en) Data driven parallel sorting system and method
CN111562948B (zh) 在实时图像处理系统中实现串行任务并行化的系统及方法
US20130207983A1 (en) Central processing unit, gpu simulation method thereof, and computing system including the same
CN107038482A (zh) 应用于ai算法工程化、系统化的分布式框架
US20190317804A1 (en) Method, apparatus and system for multi-module scheduling
US11941528B2 (en) Neural network training in a distributed system
US20220147383A1 (en) Cooperative computing device and cooperative computing method thereof
US8832412B2 (en) Scalable processing unit
CN111274049A (zh) 一种基于异构并行加速的高效多路视频分析方法
CN103543989A (zh) 一种面向大数据的针对可变长度特征提取的自适应并行处理方法
US11301255B2 (en) Method, apparatus, device, and storage medium for performing processing task
CN112241289B (zh) 一种文本数据的处理方法和电子设备
CN111913816A (zh) Gpgpu中簇的实现方法、装置、终端及介质
WO2023184754A1 (zh) 可配置实时视差点云计算装置及方法
CN115346099A (zh) 基于加速器芯片的图像卷积方法、芯片、设备及介质
CN114363478A (zh) 信号处理单元、方法、加速单元、电子设备和片上系统
CN111831405B (zh) 一种数据处理方法、逻辑芯片及其设备
CN116681575B (zh) 图形处理单元、图形渲染方法、存储介质、终端设备
CN113835852B (zh) 任务数据的调度方法及装置
CN114463159B (zh) 一种gpu资源共享方法
CN113485805B (zh) 基于异构加速平台的分布式计算调整方法、装置及设备

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
WD01 Invention patent application deemed withdrawn after publication
WD01 Invention patent application deemed withdrawn after publication

Application publication date: 20200612