CN106708518A - 一种染色器驱动运行时重构方法 - Google Patents
一种染色器驱动运行时重构方法 Download PDFInfo
- Publication number
- CN106708518A CN106708518A CN201611139560.0A CN201611139560A CN106708518A CN 106708518 A CN106708518 A CN 106708518A CN 201611139560 A CN201611139560 A CN 201611139560A CN 106708518 A CN106708518 A CN 106708518A
- Authority
- CN
- China
- Prior art keywords
- stainer
- module
- drive
- information
- attribute
- 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.)
- Granted
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/20—Software design
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/60—Software deployment
- G06F8/61—Installation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/70—Software maintenance or management
- G06F8/72—Code refactoring
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Stored Programmes (AREA)
Abstract
本发明属于计算机图形领域,尤其涉及一种染色器驱动运行时重构方法。本方法包括:染色器属性搜集模块(1)将搜集的染色器运行属性发送到染色器运行属性缓冲模块(3);染色器数据搜集模块(2)将搜集的染色器运行数据发送到染色器运行数据缓冲模块(4);染色器运行属性缓冲模块(3)记录染色器属性搜集模块(1)发送的染色器运行属性信息,并为染色器驱动重构模块(7)提供染色器运行属性信息支持。本方法通过将监控染色器应用运行过程中的染色器属性参数、染色器数据类型以及染色器运行控制情况,有针对的优化,改进染色器驱动,使得染色器驱动能够运行时重构,达到染色器应用加速运行的目的。
Description
技术领域
本发明属于计算机软件领域,尤其涉及一种染色器驱动运行时重构方法。
背景技术
染色器驱动软件作为染色器硬件运行的直接控制,功能、性能直接决定染色器处理能力的发挥,目前公开研究都是针对染色器测试、染色器编程的研究,未发现有针对染色器驱动运行时重构的研究。
发明内容
本发明的目的是:
本发明主要提供一种染色器驱动运行时重构方法,运行时优化染色器驱动软件。
本发明的解决方案是:
一种染色器驱动运行时重构方法,包括:
步骤1、染色器属性搜集模块(1)搜集染色器应用在运行过程所涉及的染色器运行属性,并将搜集的染色器运行属性发送到染色器运行属性缓冲模块(3);
步骤2、染色器数据搜集模块(2)搜集染色器应用在运行过程的染色器运行数据,并将搜集的染色器运行数据发送到染色器运行数据缓冲模块(4);
步骤3、染色器运行属性缓冲模块(3)记录染色器属性搜集模块(1)发送的染色器运行属性信息,并为染色器驱动重构模块(7)提供染色器运行属性信息支持;
步骤4、染色器运行数据缓冲模块(4)记录染色器数据搜集模块(2)发送的染色器运行数据信息,并为染色器驱动重构模块(7)提供染色器运行数据信息支持;
步骤5、染色器运行控制模块(5)接收染色器应用的染色器运行控制信息,并为染色器驱动重构模块(7)提供触发条件支持;
步骤6、染色器驱动分解模块(6)接收染色器应用的染色器驱动软件,并分解染色器驱动软件为各独立软件块及软件块的调用标记;将分解后的软件块提供给染色器功能函数库模块(8);将调用标记提供给染色器驱动重构模块(7);
步骤7、染色器驱动重构模块(7)获取染色器运行控制模块(5)提供的触发条件,接收染色器运行属性缓冲模块(3)提供的染色器运行属性信息,染色器运行数据缓冲模块(4)提供的染色器运行数据信息,染色器驱动分解模块(6)提供的染色器驱动分解后软件块调用标记信息,根据染色器运行属性信息、染色器运行数据信息、染色器驱动分解后软件块调用标记信息判断本次染色器运行是否需要重构染色器驱动,若不需要则终止操作;若需要,则根据染色器运行属性信息和染色器驱动软件块调用标记信息,从染色器功能函数库模块(8)中获取对应的功能软件块并重构成新的染色器驱动软件,将新的染色器驱动软件发送给染色器驱动优化模块(9);
步骤8、染色器功能函数库模块(8)接收染色器驱动分解模块(6)提供的染色器驱动分解后软件块,将这些软件块更新到染色器功能软件库中,并将所述软件块提供给染色器驱动重构模块(7);
步骤9、染色器驱动优化模块(9)接收染色器驱动重构模块(7)生成的重构后染色器驱动,并进行优化处理,将优化后的染色器驱动发送给染色器驱动可执行文件生成模块(10);
步骤10、染色器驱动可执行文件生成模块(10)接收染色器驱动优化模块(9)优化后的染色器驱动,生成可执行文件,并将可执行文件发送给染色器驱动加载模块(11);
步骤11、染色器驱动加载模块(11)接收染色器驱动可执行文件生成模块(10)生成的染色器可执行文件并加载到染色器程序空间,可以使染色器直接运行该软件。
步骤7中根据染色器运行属性信息、染色器运行数据信息、染色器驱动分解后软件块调用标记信息判断本次染色器运行是否需要重构染色器驱动的判断标准为:
本次的染色器运行属性信息、染色器运行数据信息、软件调用标记信息与上次调用的染色器运行属性信息、染色器运行数据信息、标记信息是否一致,如果都一致不进行染色器驱动重构,否则需要进行染色器驱动重构。
染色器功能函数库模块(8)包含默认的染色器功能函数。
步骤5中染色器运行控制信息包括:开始、停止。
本发明的优点是:本发明提供的一种染色器驱动运行时重构方法,通过搜集染色器应用运行时所包含的染色器属性信息、染色器处理数据信息、染色器运行管理信息、染色器驱动软件,然后本次染色器运行有针对的优化染色器驱动软件,使得染色器应用在保证功能正确的情况下高性能的运行。
附图说明
图1为本发明的方法模块图。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
下面结合附图和具体实施例对本发明的技术方案做进一步详细描述。
如图1所示,本发明实施例的一种染色器驱动运行时重构方法,包括:
步骤1、染色器属性搜集模块(1)搜集染色器应用在运行过程所涉及的染色器运行属性,并将搜集的染色器运行属性发送到染色器运行属性缓冲模块(3);
步骤2、染色器数据搜集模块(2)搜集染色器应用在运行过程的染色器运行数据,并将搜集的染色器运行数据发送到染色器运行数据缓冲模块(4);
步骤3、染色器运行属性缓冲模块(3)记录染色器属性搜集模块(1)发送的染色器运行属性信息,并为染色器驱动重构模块(7)提供染色器运行属性信息支持;
步骤4、染色器运行数据缓冲模块(4)记录染色器数据搜集模块(2)发送的染色器运行数据信息,并为染色器驱动重构模块(7)提供染色器运行数据信息支持;
步骤5、染色器运行控制模块(5)接收染色器应用的染色器运行控制信息,并为染色器驱动重构模块(7)提供触发条件支持;
步骤6、染色器驱动分解模块(6)接收染色器应用的染色器驱动软件,并分解染色器驱动软件为各独立软件块及软件块的调用标记;将分解后的软件块提供给染色器功能函数库模块(8);将调用标记提供给染色器驱动重构模块(7);
步骤7、染色器驱动重构模块(7)获取染色器运行控制模块(5)提供的触发条件,接收染色器运行属性缓冲模块(3)提供的染色器运行属性信息,染色器运行数据缓冲模块(4)提供的染色器运行数据信息,染色器驱动分解模块(6)提供的染色器驱动分解后软件块调用标记信息,根据染色器运行属性信息、染色器运行数据信息、染色器驱动分解后软件块调用标记信息判断本次染色器运行是否需要重构染色器驱动,若不需要则终止操作;若需要,则根据染色器运行属性信息和染色器驱动软件块调用标记信息,从染色器功能函数库模块(8)中获取对应的功能软件块并重构成新的染色器驱动软件,将新的染色器驱动软件发送给染色器驱动优化模块(9);
步骤8、染色器功能函数库模块(8)接收染色器驱动分解模块(6)提供的染色器驱动分解后软件块,将这些软件块更新到染色器功能软件库中,并将所述软件块提供给染色器驱动重构模块(7);
步骤9、染色器驱动优化模块(9)接收染色器驱动重构模块(7)生成的重构后染色器驱动,并进行优化处理,将优化后的染色器驱动发送给染色器驱动可执行文件生成模块(10);
步骤10、染色器驱动可执行文件生成模块(10)接收染色器驱动优化模块(9)优化后的染色器驱动,生成可执行文件,并将可执行文件发送给染色器驱动加载模块(11);
步骤11、染色器驱动加载模块(11)接收染色器驱动可执行文件生成模块(10)生成的染色器可执行文件并加载到染色器程序空间,可以使染色器直接运行该软件。
步骤7中根据染色器运行属性信息、染色器运行数据信息、染色器驱动分解后软件块调用标记信息判断本次染色器运行是否需要重构染色器驱动的判断标准为:
本次的染色器运行属性信息、染色器运行数据信息、软件调用标记信息与上次调用的染色器运行属性信息、染色器运行数据信息、标记信息是否一致,如果都一致不进行染色器驱动重构,否则需要进行染色器驱动重构。
染色器功能函数库模块(8)包含默认的染色器功能函数。
步骤5中染色器运行控制信息包括:开始、停止。
最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细地说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。
Claims (4)
1.一种染色器驱动运行时重构方法,其特征在于,包括:
步骤1、染色器属性搜集模块(1)搜集染色器应用在运行过程所涉及的染色器运行属性,并将搜集的染色器运行属性发送到染色器运行属性缓冲模块(3);
步骤2、染色器数据搜集模块(2)搜集染色器应用在运行过程的染色器运行数据,并将搜集的染色器运行数据发送到染色器运行数据缓冲模块(4);
步骤3、染色器运行属性缓冲模块(3)记录染色器属性搜集模块(1)发送的染色器运行属性信息,并为染色器驱动重构模块(7)提供染色器运行属性信息支持;
步骤4、染色器运行数据缓冲模块(4)记录染色器数据搜集模块(2)发送的染色器运行数据信息,并为染色器驱动重构模块(7)提供染色器运行数据信息支持;
步骤5、染色器运行控制模块(5)接收染色器应用的染色器运行控制信息,并为染色器驱动重构模块(7)提供触发条件支持;
步骤6、染色器驱动分解模块(6)接收染色器应用的染色器驱动软件,并分解染色器驱动软件为各独立软件块及软件块的调用标记;将分解后的软件块提供给染色器功能函数库模块(8);将调用标记提供给染色器驱动重构模块(7);
步骤7、染色器驱动重构模块(7)获取染色器运行控制模块(5)提供的触发条件,接收染色器运行属性缓冲模块(3)提供的染色器运行属性信息,染色器运行数据缓冲模块(4)提供的染色器运行数据信息,染色器驱动分解模块(6)提供的染色器驱动分解后软件块调用标记信息,根据染色器运行属性信息、染色器运行数据信息、染色器驱动分解后软件块调用标记信息判断本次染色器运行是否需要重构染色器驱动,若不需要则终止操作;若需要,则根据染色器运行属性信息和染色器驱动软件块调用标记信息,从染色器功能函数库模块(8)中获取对应的功能软件块并重构成新的染色器驱动软件,将新的染色器驱动软件发送给染色器驱动优化模块(9);
步骤8、染色器功能函数库模块(8)接收染色器驱动分解模块(6)提供的染色器驱动分解后软件块,将这些软件块更新到染色器功能软件库中,并将所述软件块提供给染色器驱动重构模块(7);
步骤9、染色器驱动优化模块(9)接收染色器驱动重构模块(7)生成的重构后染色器驱动,并进行优化处理,将优化后的染色器驱动发送给染色器驱动可执行文件生成模块(10);
步骤10、染色器驱动可执行文件生成模块(10)接收染色器驱动优化模块(9)优化后的染色器驱动,生成可执行文件,并将可执行文件发送给染色器驱动加载模块(11);
步骤11、染色器驱动加载模块(11)接收染色器驱动可执行文件生成模块(10)生成的染色器可执行文件并加载到染色器程序空间,可以使染色器直接运行该软件。
2.如权利要求1所述的一种染色器驱动运行时重构方法,其特征在于,步骤7中根据染色器运行属性信息、染色器运行数据信息、染色器驱动分解后软件块调用标记信息判断本次染色器运行是否需要重构染色器驱动的判断标准为:
本次的染色器运行属性信息、染色器运行数据信息、软件调用标记信息与上次调用的染色器运行属性信息、染色器运行数据信息、标记信息是否一致,如果都一致不进行染色器驱动重构,否则需要进行染色器驱动重构。
3.如权利要求1所述的一种染色器驱动运行时重构方法,其特征在于,
染色器功能函数库模块(8)包含默认的染色器功能函数。
4.如权利要求1所述的一种染色器驱动运行时重构方法,其特征在于,
步骤5中染色器运行控制信息包括:开始、停止。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201611139560.0A CN106708518B (zh) | 2016-12-12 | 2016-12-12 | 一种染色器驱动运行时重构方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201611139560.0A CN106708518B (zh) | 2016-12-12 | 2016-12-12 | 一种染色器驱动运行时重构方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN106708518A true CN106708518A (zh) | 2017-05-24 |
CN106708518B CN106708518B (zh) | 2020-02-14 |
Family
ID=58937132
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201611139560.0A Active CN106708518B (zh) | 2016-12-12 | 2016-12-12 | 一种染色器驱动运行时重构方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN106708518B (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109656532A (zh) * | 2018-12-12 | 2019-04-19 | 中国航空工业集团公司西安航空计算技术研究所 | 一种基于uml的面向gpu片元着色任务调度方法 |
CN109710302A (zh) * | 2018-12-12 | 2019-05-03 | 中国航空工业集团公司西安航空计算技术研究所 | 一种染色器软件管理装置和方法 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102054087A (zh) * | 2010-04-21 | 2011-05-11 | 华东理工大学 | 一种基于本体论可重构的嵌入式***设计方法及*** |
CN103676900A (zh) * | 2013-12-23 | 2014-03-26 | 广西大学 | 一种可重构的开放式运动控制***架构设计 |
US20160011890A1 (en) * | 2013-03-19 | 2016-01-14 | Huawei Technologies Co., Ltd. | Compatibility method and apparatus |
CN105511996A (zh) * | 2015-12-11 | 2016-04-20 | 中国航空工业集团公司西安航空计算技术研究所 | 一种图形处理器内嵌可编程染色器验证平台 |
-
2016
- 2016-12-12 CN CN201611139560.0A patent/CN106708518B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102054087A (zh) * | 2010-04-21 | 2011-05-11 | 华东理工大学 | 一种基于本体论可重构的嵌入式***设计方法及*** |
US20160011890A1 (en) * | 2013-03-19 | 2016-01-14 | Huawei Technologies Co., Ltd. | Compatibility method and apparatus |
CN103676900A (zh) * | 2013-12-23 | 2014-03-26 | 广西大学 | 一种可重构的开放式运动控制***架构设计 |
CN105511996A (zh) * | 2015-12-11 | 2016-04-20 | 中国航空工业集团公司西安航空计算技术研究所 | 一种图形处理器内嵌可编程染色器验证平台 |
Non-Patent Citations (2)
Title |
---|
周建伟 等: "异构多核SoC可编程图形***硬件设计", 《集成电路应用》 * |
邓军勇: "MIGPU-9多核交互式图形处理器的设计", 《计算机辅助设计与图形学学报》 * |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109656532A (zh) * | 2018-12-12 | 2019-04-19 | 中国航空工业集团公司西安航空计算技术研究所 | 一种基于uml的面向gpu片元着色任务调度方法 |
CN109710302A (zh) * | 2018-12-12 | 2019-05-03 | 中国航空工业集团公司西安航空计算技术研究所 | 一种染色器软件管理装置和方法 |
CN109710302B (zh) * | 2018-12-12 | 2021-12-24 | 中国航空工业集团公司西安航空计算技术研究所 | 一种染色器软件管理装置和方法 |
CN109656532B (zh) * | 2018-12-12 | 2022-03-15 | 中国航空工业集团公司西安航空计算技术研究所 | 一种基于uml的面向gpu片元着色任务调度方法 |
Also Published As
Publication number | Publication date |
---|---|
CN106708518B (zh) | 2020-02-14 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7823023B2 (en) | Test framework for testing an application | |
CN105590051B (zh) | 用于可信执行环境的可信应用生成及安装方法 | |
CN105677469A (zh) | 定时任务执行方法及装置 | |
CN106982266A (zh) | 一种自动化部署集群的方法和装置 | |
WO2006092047A1 (en) | System and method for porting a mobile device application | |
CN103677870A (zh) | ***升级方法及采用该方法升级的*** | |
CN104572054B (zh) | 一种能力调用方法和设备 | |
CN102207884A (zh) | 一种文件编译方法及装置 | |
CN112529528B (zh) | 基于大数据流计算的工作流监控与告警方法、装置及*** | |
CN106708518A (zh) | 一种染色器驱动运行时重构方法 | |
CN104462943A (zh) | 业务***中非侵入式性能监控装置和方法 | |
CN112181477A (zh) | 复杂事件处理方法、装置及终端设备 | |
CN107463490B (zh) | 一种应用于平台开发中的集群日志集中收集方法 | |
CN111367768A (zh) | 程序的函数响应时间监控方法及装置 | |
CN108536429B (zh) | 一种开发软件的方法、装置、存储介质及电子设备 | |
CN106683033B (zh) | 一种乱序OpenGL接口处理方法 | |
CN108595178B (zh) | 一种基于hook的数据采集方法、装置及设备 | |
CN106681760A (zh) | 基于客户工程项目管理***的事务处理方法和装置 | |
CN109062577A (zh) | 一种前端脚本拆分与解构优化方法及*** | |
CN110018866B (zh) | 用户界面主题更新方法、装置、***、车机及车辆 | |
CN102999374A (zh) | 一种基于虚拟机的信息记录方法 | |
CN106681696B (zh) | 一种大规模并列程序优化排布方法 | |
CN111966358B (zh) | 代码打包方法、装置、电子设备和计算机可读存储介质 | |
CN103123603B (zh) | 调试***及执行调试***操作的方法 | |
CN105045694A (zh) | 一种自动测试Nitrox加速卡的方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |