[发明专利]单个处理器上实现多应用并行处理的方法及装置有效
申请号: | 201210578341.8 | 申请日: | 2012-12-26 |
公开(公告)号: | CN103064657A | 公开(公告)日: | 2013-04-24 |
发明(设计)人: | 梅思行 | 申请(专利权)人: | 深圳中微电科技有限公司 |
主分类号: | G06F9/38 | 分类号: | G06F9/38;G06F9/50 |
代理公司: | 深圳市科吉华烽知识产权事务所(普通合伙) 44248 | 代理人: | 肖伟;邓扬 |
地址: | 518057 广东省深圳市南山区高*** | 国省代码: | 广东;44 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 单个 处理器 实现 应用 并行 处理 方法 装置 | ||
1.一种在单个处理器上实现多应用并行处理的方法,其特征在于,所述单个处理器中设置有多个并行的处理单元,所述方法包括如下步骤:
A)分别将多个应用形成任务队列并准备分配到所述多个并行的处理单元并行运行;
B)分别判断所述多个应用是否图像渲染应用,如是,执行步骤D);否则,判断为计算应用执行步骤C);
C)使用同质并行编程API处理所述应用产生的至少一个线程,并将所述处理过的线程配置到作为SMP核的处理单元上运行;
D)由所述应用产生至少一个着色线程到硬件线程控制单元,并通过GPU驱动在所述硬件管理器控制的处理单元上开始渲染;所述硬件管理单元控制的处理单元由所述硬件管理单元向系统取得。
2.根据权利要求1所述的在单个处理器上实现多应用并行处理的方法,其特征在于,还包括如下步骤:
E)判断是否硬件控制器控制的处理单元空闲而任务处理队列中还有任务待处理,如是,将所述任务分配到所述硬件管理器控制的处理单元上运行;否则,退出本步骤。
3.根据权利要求2所述的在单个处理器上实现多应用并行处理的方法,其特征在于,所述步骤E)中进一步包括:
E1)使用异质并行编程API处理所述任务产生的至少一个线程,并将其配置到所述硬件控制器控制的空闲处理单元上运行。
4.根据权利要求3所述的在单个处理器上实现多应用并行处理的方法,其特征在于,所述同质并行编程API包括pthread 和openMP,经过其处理的线程为pthread 线程;所述异质并行编程API包括openCL,经过其处理的线程为GPGPU线程;所述GPU驱动包括openGL,经过其处理的线程为openGL线程。
5.根据权利要求4所述的在单个处理器上实现多应用并行处理的方法,其特征在于,所述步骤D)进一步包括:
D1)所述线程产生属于其自身的ithread调用指令到硬件线程控制单元;
D2)所述硬件线程控制单元将所述ithread的调用指令按照接收时间形成其程序队列,调用并准备所述ithread;
D3)所述ithread按照其在所述硬件线程控制单元中的队列顺序依次在所述硬件管理器控制的处理单元的、空闲的多路并行硬件线程时隙中运行;
其中,所述ithread为硬件线程,所述ithread包括图像引擎、DSP或/和通用图像处理器中要求硬件加速的线程。
6.根据权利要求5所述的在单个处理器上实现多应用并行处理的方法,其特征在于,所述步骤D)进一步包括:
D01)判断所述硬件线程控制单元中是否有有效且未执行完的硬件线程,如有,执行步骤D02);否则,执行步骤D03);
D02)将当前空闲的多路并行硬件线程时隙由系统线程管理单元中移除,禁止该并行硬件线程时隙的线程定时器中断,并将该空闲的多路并行硬件线程时隙配置给所述硬件线程控制单元控制;
D03)等待并返回该并行硬件线程时隙空闲的信息到系统线程管理单元。
7.根据权利要求5所述的在单个处理器上实现多应用并行处理的方法,其特征在于,所述步骤D)还包括如下步骤:
当所述ithread执行完毕或进入等待使其继续执行的事件发生时,所述ithread退出其运行的硬件线程时隙并使能该时隙的线程计时中断;
所述硬件线程控制单元检测其运行队列中的ithread的有效状态是否被清除,如是,清除所述ithread;否则,保持所述ithread。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于深圳中微电科技有限公司,未经深圳中微电科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201210578341.8/1.html,转载请声明来源钻瓜专利网。
- 上一篇:通过截屏添加待编辑文件内容的方法和装置
- 下一篇:汽车监控系统及方法