CN111274049A - 一种基于异构并行加速的高效多路视频分析方法 - Google Patents
一种基于异构并行加速的高效多路视频分析方法 Download PDFInfo
- 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
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/46—Multiprogramming arrangements
- G06F9/54—Interprogram communication
- G06F9/544—Buffers; Shared memory; Pipes
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/46—Multiprogramming arrangements
- G06F9/54—Interprogram communication
- G06F9/546—Message 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组结果分别发送到预定的接口中,返回第一步。
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)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114490092A (zh) * | 2022-04-06 | 2022-05-13 | 北京中科慧眼科技有限公司 | 基于机器视觉算法的软件系统及构建方法 |
Citations (6)
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 | 腾讯云计算(北京)有限责任公司 | 多媒体数据的处理方法及装置 |
-
2020
- 2020-01-17 CN CN202010056730.9A patent/CN111274049A/zh active Pending
Patent Citations (6)
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)
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 |