CN116860587B - 面向战场态势性能优化的普适体系化设计框架的构建方法 - Google Patents

面向战场态势性能优化的普适体系化设计框架的构建方法 Download PDF

Info

Publication number
CN116860587B
CN116860587B CN202311132055.3A CN202311132055A CN116860587B CN 116860587 B CN116860587 B CN 116860587B CN 202311132055 A CN202311132055 A CN 202311132055A CN 116860587 B CN116860587 B CN 116860587B
Authority
CN
China
Prior art keywords
display system
battlefield situation
optimization
performance
comprehensive display
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.)
Active
Application number
CN202311132055.3A
Other languages
English (en)
Other versions
CN116860587A (zh
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.)
CETC 15 Research Institute
Original Assignee
CETC 15 Research Institute
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 CETC 15 Research Institute filed Critical CETC 15 Research Institute
Priority to CN202311132055.3A priority Critical patent/CN116860587B/zh
Publication of CN116860587A publication Critical patent/CN116860587A/zh
Application granted granted Critical
Publication of CN116860587B publication Critical patent/CN116860587B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/34Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
    • G06F11/3404Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment for parallel or distributed programming
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/3003Monitoring arrangements specially adapted to the computing system or computing system component being monitored
    • G06F11/3017Monitoring arrangements specially adapted to the computing system or computing system component being monitored where the computing system is implementing multitasking
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/3003Monitoring arrangements specially adapted to the computing system or computing system component being monitored
    • G06F11/302Monitoring arrangements specially adapted to the computing system or computing system component being monitored where the computing system component is a software system
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/3089Monitoring arrangements determined by the means or processing involved in sensing the monitored data, e.g. interfaces, connectors, sensors, probes, agents
    • G06F11/3093Configuration details thereof, e.g. installation, enabling, spatial arrangement of the probes
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/34Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
    • G06F11/3409Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment for performance assessment
    • G06F11/3419Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment for performance assessment by assessing time
    • G06F11/3423Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment for performance assessment by assessing time where the assessed time is active or idle time
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/25Integrating or interfacing systems involving database management systems
    • G06F16/252Integrating or interfacing systems involving database management systems between a Database Management System and a front-end application
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/40Transformation of program code
    • G06F8/41Compilation
    • G06F8/44Encoding
    • G06F8/443Optimisation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/40Transformation of program code
    • G06F8/41Compilation
    • G06F8/44Encoding
    • G06F8/443Optimisation
    • G06F8/4434Reducing the memory space required by the program code
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/40Transformation of program code
    • G06F8/41Compilation
    • G06F8/45Exploiting coarse grain parallelism in compilation, i.e. parallelism between groups of instructions
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/40Transformation of program code
    • G06F8/53Decompilation; Disassembly
    • 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/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request
    • G06F9/5011Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resources being hardware resources other than CPUs, Servers and Terminals
    • G06F9/5016Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resources being hardware resources other than CPUs, Servers and Terminals the resource being the memory
    • 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/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request
    • G06F9/5011Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resources being hardware resources other than CPUs, Servers and Terminals
    • G06F9/5022Mechanisms to release resources
    • 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/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request
    • G06F9/5027Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T15/003D [Three Dimensional] image rendering
    • G06T15/005General purpose rendering architectures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2201/00Indexing scheme relating to error detection, to error correction, and to monitoring
    • G06F2201/865Monitoring of software
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2209/00Indexing scheme relating to G06F9/00
    • G06F2209/50Indexing scheme relating to G06F9/50
    • G06F2209/5011Pool
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • Quality & Reliability (AREA)
  • Computing Systems (AREA)
  • Databases & Information Systems (AREA)
  • Mathematical Physics (AREA)
  • Computer Hardware Design (AREA)
  • Data Mining & Analysis (AREA)
  • Computer Graphics (AREA)
  • Debugging And Monitoring (AREA)

Abstract

本发明公开了一种面向战场态势性能优化的普适体系化设计框架的构建方法,包括:对战场态势综合显示系统进行性能测试,先对显示系统的硬件进行选型优化,之后基于通用编程技术对显示系统的基础软件程序进行处理,再基于面向显卡反向编程设计原理对显示系统的图形显卡程序进行处理,基于CPU/GPU//FPGA的多核计算算力对显示系统的数据计算程序进行并行优化处理及以对显示系统进行多线程异步处理,最后对优化后的显示系统进行优化效果评估。本发明构建了一个普适的且体系化的性能优化设计框架,解决了战场态势性能优化设计面临的零散化及个人经验化等困境,极大地提升了战场态势综合显示性能,并提供了性能优化的总体设计指南。

Description

面向战场态势性能优化的普适体系化设计框架的构建方法
技术领域
本发明涉及战场态势性能优化技术领域,尤其涉及一种面向战场态势性能优化的普适体系化设计框架的构建方法。
背景技术
联合作战已成为国内外军事领域的主要作战样式,其中,战场态势综合显示系统是各级指挥系统中的核心部分,呈现出军事目标数量规模大、更新速度快等特点,尤其是出现突发事件时,导致大规模目标涌现,战场态势综合显示系统中出现卡顿等现象,延缓了作战指挥人员的快速决策,可能会贻误最佳作战时机。目前,针对战场态势综合显示系统的性能优化主要是从局部开展,大部分凭技术人员个人的经验,还缺乏体系化的优化设计框架作为总体指导,无法应对大规模军事系统快速高质量建设的客观需求。
因此,针对战场态势性能优化,构建一个普适的且体系化的性能优化设计框架,用于指导应用系统的建设,成为战场态势性能优化面临的基本问题。
发明内容
为了针对战场态势性能优化,构建一个普适的且体系化的性能优化设计框架,本发明提供一种面向战场态势性能优化的普适体系化设计框架的构建方法。
第一方面,本发明提供了一种面向战场态势性能优化的普适体系化设计框架的构建方法,所述方法包括:
步骤S1:使用测试工具对战场态势综合显示系统进行性能测试;
步骤S2:如果性能测试的结果为所述战场态势综合显示系统需要进行性能优化,则先对所述战场态势综合显示系统的硬件进行选型优化;
步骤S3:基于通用编程技术对所述战场态势综合显示系统的基础软件程序进行处理,以优化所述战场态势综合显示系统的通用性能;
步骤S4:基于面向显卡反向编程设计原理对所述战场态势综合显示系统的图形显卡程序进行处理,以优化所述战场态势综合显示系统的三维图形性能;
步骤S5:基于CPU/GPU//FPGA的多核计算算力对所述战场态势综合显示系统的数据计算程序进行并行优化处理,以优化所述战场态势综合显示系统面向高密度数据的计算性能;
步骤S6:基于CPU的多核计算算力对所述战场态势综合显示系统进行多线程异步处理;
步骤S7:对优化后的所述战场态势综合显示系统进行优化效果评估得到优化评估结果。
可选地,所述步骤S1具体包括:
使用编译器中的分析器对所述战场态势综合显示系统进行性能测试,以生成所述战场态势综合显示系统中各个函数在程序运行过程中被调用的累积时间,进而依据各个函数在程序运行过程中被调用的累积时间确定程序中的热点函数;
或者,通过计时器在所述战场态势综合显示系统的程序中打桩进行相关函数测试,并统计各个函数的调用次数和耗时,进而依据各个函数的调用次数和耗时确定程序中的热点函数。
可选地,所述步骤S1具体还包括:
在所述战场态势综合显示系统的三维图形显示中统计并查看整个三维场景的渲染帧率,如果所述渲染帧率小于或等于预设基准帧率,则确定所述战场态势综合显示系统的三维图形显示卡顿,否则确定所述战场态势综合显示系统的三维图形显示流场。
可选地,在所述步骤S2中,对所述战场态势综合显示系统的硬件进行选型优化具体为:所述战场态势综合显示系统选用独立显卡,高主频CPU以及内存;所述内容一般为大容量内存。
可选地,所述步骤S3的具体包括:
步骤S31:利用移除对内存管理器的调用的方式,和/或静态变量替代动态变量的方式对所述战场态势综合显示系统的基础软件程序进行内存管理优化;
步骤S32:利用系统不打印和记录调试日志,和/或连接池技术管理数据库连接的方式对所述战场态势综合显示系统的基础软件程序进行降低资源消耗优化。
可选地,在所述步骤S4中,对所述战场态势综合显示系统的图形显卡程序进行处理具体包括:
依照显卡底层图形处理器的管线理念,在不改变数据管理模式的情况下,对单个对象的绘制数据进行合并后集中批处理;
和/或,基于显卡支持的多实例化绘制技术,对大批量绘制类似图形进行渲染处理;
和/或,利用OpenGL中的缓冲区对象VBO对GPU本地内存中绘图数据进行缓冲管理,以及利用顶点数组对象VAO管理一批缓冲区中绘图数据的状态;
和/或,基于GPU细分着色器对曲面绘制和填充过程进行优化处理;
和/或,基于GPU的可编程管线技术对管线进行渲染处理。
可选地,所述步骤S5具体包括:
基于CPU的多核计算算力并利用CPU并行编程接口对所述战场态势综合显示系统的数据计算程序进行并行优化处理;
或者,基于GPU的多核计算算力并利用GPU并行编程接口对所述战场态势综合显示系统的数据计算程序进行并行优化处理;
或者,基于FPGA的多核计算算力并利用通用OpenCL并行编程接口对所述战场态势综合显示系统的数据计算程序进行并行优化处理。
可选地,所述步骤S6具体包括:
基于CPU的多核计算算力对所述战场态势综合显示系统的复杂计算任务进行多线程异步处理;
基于CPU的多核计算算力并采用基于视点的内存与外存的实时动态调度技术对所述战场态势综合显示系统的大规模数据进行多线程异步处理。
第二方面,本发明提供了一种电子设备,所述电子设备包括存储器和处理器,所述存储器存储有计算机程序,所述处理器执行所述计算机程序时,实现如上述本发明第一方面所述的一种面向战场态势性能优化的普适体系化设计框架的构建方法中的步骤。
第三方面,本发明提供了一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时,实现如上述本发明第一方面所述的一种面向战场态势性能优化的普适体系化设计框架的构建方法中的步骤。
相对于现有技术,本发明具有如下有益效果:
本发明的面向战场态势性能优化的普适体系化设计框架的构建方法,使用测试工具对战场态势综合显示系统进行性能测试,当需要进行性能优化时,先对显示系统的硬件进行选型优化,之后基于通用编程技术对显示系统的基础软件程序进行处理,再基于面向显卡反向编程设计原理对显示系统的图形显卡程序进行处理,基于CPU/GPU//FPGA的多核计算算力对显示系统的数据计算程序进行并行优化处理以及对显示系统进行多线程异步处理,最后对优化后的显示系统进行优化效果评估得到优化评估结果;本发明的面向战场态势性能优化的普适体系化设计框架的构建方法构建了一个普适的且体系化的性能优化设计框架,有效解决了目前战场态势性能优化设计领域面临的零散化、个人经验化等困境,极大地提升了战场态势综合显示性能,给指挥系统的建设提供了性能优化的总体设计指南。
通过以下参照附图对本发明的示例性实施例的详细描述,本发明的其它特征及其优点将会变得清楚。
附图说明
被结合在说明书中并构成说明书的一部分的附图示出了本发明的实施例,并且连同其说明一起用于解释本发明的原理。
图1为根据实施例提供的面向战场态势性能优化的普适体系化设计框架的构建方法的流程示意图;
图2为一种电子设备的示意图。
具体实施方式
现在将参照附图来详细描述本发明的各种示例性实施例。应注意到:除非另外具体说明,否则在这些实施例中阐述的部件和步骤的相对布置、数字表达式和数值不限制本发明的范围。
以下对至少一个示例性实施例的描述实际上仅仅是说明性的,决不作为对本发明及其应用或使用的任何限制。
对于相关领域普通技术人员已知的技术、方法和设备可能不作详细讨论,但在适当情况下,所述技术、方法和设备应当被视为说明书的一部分。
在这里示出和讨论的所有例子中,任何具体值应被解释为仅仅是示例性的,而不是作为限制。因此,示例性实施例的其它例子可以具有不同的值。
实施例1:
如图1所示,本实施例提供了一种面向战场态势性能优化的普适体系化设计框架的构建方法,该方法包括:
步骤S1:使用测试工具对战场态势综合显示系统进行性能测试;
步骤S2:如果性能测试的结果为战场态势综合显示系统需要进行性能优化,则先对战场态势综合显示系统的硬件进行选型优化;
步骤S3:基于通用编程技术对战场态势综合显示系统的基础软件程序进行处理,以优化战场态势综合显示系统的通用性能;
步骤S4:基于面向显卡反向编程设计原理对战场态势综合显示系统的图形显卡程序进行处理,以优化战场态势综合显示系统的三维图形性能;
步骤S5:基于CPU/GPU/FPGA的多核计算算力对战场态势综合显示系统的数据计算程序进行并行优化处理,以优化战场态势综合显示系统面向高密度数据的计算性能;
步骤S6:基于CPU的多核计算算力对战场态势综合显示系统进行多线程异步处理;
步骤S7:对优化后的战场态势综合显示系统进行优化效果评估得到优化评估结果。
本实施例提出的面向战场态势性能优化的普适体系化设计框架的构建方法中采用软硬件协同优化理念,其中,涉及硬件方面:CPU(即中央处理器,Central ProcessingUnit)/GPU(即图形处理器Graphics Processing Unit)、内外存、GPU显卡等,软件方面:并行计算编程、异步多线程编程、面向显卡的反向编程等。该方法包含一个基本的设计流程:(1)性能测试。通过使用测试工具,分析出软件中的性能瓶颈;(2)性能优化。针对性能瓶颈,综合使用多种优化方法,进行优化处理;(3)性能评估。
可选地,本实施例面向战场态势性能优化的普适体系化设计框架的构建方法中步骤S1具体包括:
使用编译器中的分析器对战场态势综合显示系统进行性能测试,以生成战场态势综合显示系统中各个函数在程序运行过程中被调用的累积时间,进而依据各个函数在程序运行过程中被调用的累积时间确定程序中的热点函数;
或者,通过计时器在战场态势综合显示系统的程序中打桩进行相关函数测试,并统计各个函数的调用次数和耗时,进而依据各个函数的调用次数和耗时确定程序中的热点函数。
可选地,本实施例面向战场态势性能优化的普适体系化设计框架的构建方法中步骤S1具体还包括:
在战场态势综合显示系统的三维图形显示中统计并查看整个三维场景的渲染帧率,如果渲染帧率小于或等于预设基准帧率,则确定战场态势综合显示系统的三维图形显示卡顿,否则确定战场态势综合显示系统的三维图形显示流场。
需要说明的是,本实施例中性能测量是优化程序性能的前提。本实施例中采用的方法可以为:(1)使用编译器中的分析器,生成各个函数在程序运行过程中被调用的累积时间,例如使用Visual Studio提供的性能分析探查器,查看函数执行时间的统计,列出程序中的热点函数;(2)通过计时器,在程序中打桩,测试相关函数,统计调用的次数和耗时,可以有针对性地进行分析,同时不受编译器的影响,找出程序热点函数;(3)在三维图形显示中,统计及查看整个三维场景的渲染帧率,一般采用不小于24 FPS(电影级流畅帧率)作为测试渲染流畅度的预设基准帧率,高于该预设基准帧率,则显示流畅,否则显示卡顿。通过上述基本的分析,进行初步评估得到性能测试的结果,确认是否进行性能优化,如果需要,则进入第二阶段,进行优化,否则,终止整个流程。
可选地,本实施例面向战场态势性能优化的普适体系化设计框架的构建方法在步骤S2中,对战场态势综合显示系统的硬件进行选型优化具体为:战场态势综合显示系统选用独立显卡,高主频CPU以及内存,所述内容一般为大容量内存。
需要说明的是,本实施例第二阶段的优化处理中第一步为基础硬件的选型设计优化,即:战场态势综合显示系统中的性能优化的基础是硬件层面的支撑。针对战场态势综合显示系统,建议采用高端独立显卡替代集成显卡,复杂态势显示系统还需要更专业的图形工作站支撑,CPU主频尽量选择较高、内存尽量选择较大容量等。
可选地,本实施例面向战场态势性能优化的普适体系化设计框架的构建方法中步骤S3的具体包括:
步骤S31:利用移除对内存管理器的调用的方式,和/或静态变量替代动态变量的方式对战场态势综合显示系统的基础软件程序进行内存管理优化;
步骤S32:利用系统不打印和记录调试日志,和/或连接池技术管理数据库连接的方式对战场态势综合显示系统的基础软件程序进行降低资源消耗优化。
需要说明的是,本实施例第二阶段的优化处理中第二步为通用编程普适性能优化,即从通用软件的角度来考虑,着重软件层面的通用性能提升,这是提升整体性能的基础部分。主要包含如下方法:
(1)优化内存管理。从循环处理中或是被频繁调用的函数中移除对内存管理器的调用,能显著地改善性能;减少动态变量的使用等。在某些场合静态创建的变量常常可以用于替代动态变量,使用静态创建类实例,使用静态数据结构,例如用std::array代替std::vector;预分配动态变量以防止重新分配,在循环外创建动态变量,移除无谓的复制;利用内存池统一管理内存的申请释放,避免出现系统物理内存碎片化,同时可以减少内存资源的申请释放所带来的系统资源消耗,使得更多的CPU计算时间可以用于图形绘制,增加图形绘制的流畅性。
(2)降低资源消耗。尽量减少I/O的消耗;部署运行时,系统不打印和记录调试日志,同时提供配置日志的生成和管理策略以提高系统性能,减少系统资源消耗;尽量减少频繁的创建和关闭数据库连接,采用连接池技术管理数据库连接,避免频繁创建释放数据库连接而造成性能损耗。
可选地,本实施例面向战场态势性能优化的普适体系化设计框架的构建方法在步骤S4中,对战场态势综合显示系统的图形显卡程序进行处理具体包括:
依照显卡底层图形处理器的管线理念,在不改变数据管理模式的情况下,对单个对象的绘制数据进行合并后集中批处理;
和/或,基于显卡支持的多实例化绘制技术,对大批量绘制类似图形进行渲染处理;
和/或,利用OpenGL(Open Computing Language,是第一个面向异构系统通用目的并行编程的开放式、免费标准,也是一个统一的编程环境)中的缓冲区对象VBO(VertexBuffer Object)对GPU本地内存中绘图数据进行缓冲管理,以及利用顶点数组对象VAO(Vertex Array Object)管理一批缓冲区中绘图数据的状态;
和/或,基于GPU细分着色器对曲面绘制和填充过程进行优化处理;
和/或,基于GPU的可编程管线技术对管线进行渲染处理。
需要说明的是,本实施例第二阶段的优化处理中第三步为三维图形性能优化,计算机图形显卡处理主要采用流式管线模式,具有硬件自身的特点,与目前主流的面向对象的编程技术存在极大的不同,因此,针对图形部分的性能优化,需要从硬件显卡的内部处理流程出发,反向来对应用软件中的相关部分进行图形性能优化处理,本实施例将这种设计称之为“面向显卡反向编程”。主要包含如下几种方法:
(1)面向显卡的绘制数据集中批处理。基于显卡的流式集中批处理的硬件设计特点,将小而散的三维图形绘制单元合并为较大的批量数据进行集中处理,可优化图形性能。依照显卡底层图形处理器的管线理念,在不改变数据管理模式的情况下,对于单个对象的绘制数据进行合并,改变原有的依赖于面向对象的三维图形创建模式,避免单个对象调用多次渲染命令,从以下几个角度设计,进行渲染性能提升:(1)减少OpenGL管线状态的更改;(2)减少串行的管线流程次数,使得在单次管线处理过程中被批量合并的顶点数据计算可以通过GPU进行并行加速;(3)减少顶点数据在GPU和CPU之间的传输次数;(4)减少颜色缓冲区和深度缓冲区等的更新次数。
(2)基于多实例技术对图形批量绘制。基于显卡支持的多实例化绘制技术,对大批量绘制类似图形进行高效渲染,可优化三维图形性能。针对图形中大量存在多次绘制同一个对象的情况,或可以通过矩阵变换为相同图形的多个对象,OpenGL提供了实例绘制方法来优化渲染性能。在集中绘制性能优化的基础上,实例化极大缩减了CPU向GPU传输的数据量,仅需要保存一个图元的顶点数据副本在GPU内存中,再通过多次重启该图元副本的生成操作,借助实例属性更改单个图元的位置、颜色、大小等,可实现在一次管线操作中完成大批量的数据计算和显示。
(3)基于VBO及VAO等数据缓冲区的绘制数据存储。通过优化CPU内存与GPU之间的数据传输(或数据绑定),减少数据处理时间,从而间接地优化三维图形性能。在三维渲染过程中,指定的绘制数据为一个指向内存中的包含顶点坐标、颜色、法向等顶点信息的指针。在每次调用渲染命令时,这些信息需要从绑定到CPU的应用程序内存,通过总线传递到GPU本地内存,渲染管线才能对位于GPU内存中的数据进行操作。对于数据量比较大的绘制,数据传输过程将耗费大量时间,而GPU访问本地内存的速度比访问位于CPU中的相同数据要快上好几倍。因此,应用程序端尽量避免重复从CPU端向GPU端提交大量数据,最好是一次性将这些绘制数据复制到GPU的内存中,再多次运用这组数据的副本。OpenGL提供了缓冲区对象VBO实现对GPU本地内存中的缓冲区管理,对于可能包含不止一个VBO的复杂绘制过程,提供了顶点数组对象VAO这一特殊容器,用于管理一批缓冲区数据的状态。在一个VAO中可以创建一个或多个VBO,通过在渲染管线开始前绑定对应的VAO即可以调用由这个VAO管理的一个或多个VBO的状态。
(4)基于GPU细分着色器对曲面绘制和填充过程进行优化。利用现代GPU硬件支持的细分着色器能力,优化图形复杂细分等处理(将传统的CPU端的软件细分,转化为现代的GPU端的硬件细分),从而间接地优化三维图形性能。在作战符号的三维绘制中,存在大量曲面填充绘制的需求。在绘制进攻箭头、污染地域、运动轨迹等,需要通过颜色渐变处理增强绘制对象的视觉表达。为避免填充区域与多变的地形冲突,同时保证颜色渐变的均匀,则需要对填充面进行曲面细分。为保证填充效果,填充区域越大则需要采样的顶点也就越多,意味着细分计算的需求量也越大,利用管线的曲面细分着色特性则能够将这些顶点的计算放到GPU中并行进行,大规模提升绘制性能。在OpenGL 4.0后,曲面细分技术已经被整合到了渲染管线中。借助曲面细分控制着色器和细分曲面计算着色器,可以对传入渲染管线的图元实现细分操作。
(5)基于GPU的可编程渲染管线优化。基于GPU的GLSL着色语言将单一固定管线改为可编程管线,利用在OpenGL管线内部的高效并行处理,通过使用现代的三维图形主流可编程管线技术,优化传统的渲染机制,并采用效率更高的VBO代替显示列表,提升处理和渲染的性能。
可选地,本实施例面向战场态势性能优化的普适体系化设计框架的构建方法中步骤S5具体包括:
基于CPU的多核计算算力并利用CPU并行编程接口对战场态势综合显示系统的数据计算程序进行并行优化处理;
或者,基于GPU的多核计算算力并利用GPU并行编程接口对战场态势综合显示系统的数据计算程序进行并行优化处理;
或者,基于FPGA(Field-ProgrammableGateArray,即现场可编程门阵列)的多核计算算力并利用通用OpenCL并行编程接口对战场态势综合显示系统的数据计算程序进行并行优化处理。
需要说明的是,本实施例第二阶段的优化处理中第四步为面向高密度数据计算的并行优化,态势显示中也涉及一些密集数据计算,比如雷达包络显示中需要大量的计算生成网格等,由于格点计算相互独立,可采用并行计算进行加速,主要使用CPU/GPU/FPGA硬件多核支撑能力。可采用如下三类方法:
(1)基于GPU的高性能并行计算优化。主要是利用GPU的众核算力,加速计算,比较常用的GPU并行编程接口:CUDA(Compute Unified Device Architecture, 显卡厂商NVIDIA推出的运算平台)、OpenCL等。当今GPU除了具有高性能渲染能力外,还提供高性能通用计算。比较适用于较大数据规模场景,较小数据时,因为涉及CPU与GPU的交换,性能反而较差。
(2)基于CPU的高性能并行计算优化。主要是利用CPU的多核算力,加速计算,比较常用的CPU并行编程接口:OpenMP(Open Multi-Processing,由OpenMPArchitectureReview Board牵头提出的,并已被广泛接受,用于共享内存并行系统的多处理器程序设计的一套指导性编译处理方案)、OpenCL等。比较适用于较小数据规模场景,而且加速比一般不会超过CPU的核数,加速比受限,但是编程简单,应用方便,例如,OpenMP。在数据规模较大时,建议选用CUDA,但是编程相对复杂。总体来看,一般先优先使用OpenMP等简易编程接口,如果性能优化目标差距还是比较大,再进一步改用CUDA等。
(3)基于FPGA的高性能并行计算优化。FPGA具有较低的功耗(与GPU相比),而且装备上的CPU主频多数受限,因此,装备中可采用FPGA进行并行计算。比较常用基于通用OpenCL并行编程接口。
可选地,本实施例面向战场态势性能优化的普适体系化设计框架的构建方法中步骤S6具体包括:
基于CPU的多核计算算力对战场态势综合显示系统的复杂计算任务进行多线程异步处理;
基于CPU的多核计算算力并采用基于视点的内存与外存的实时动态调度技术对战场态势综合显示系统的大规模数据进行多线程异步处理。
需要说明的是,本实施例第二阶段的优化处理中第五步为基于CPU多核的多线程异步处理优化,具体方法包括:
(1)复杂计算任务的异步处理。态势显示过程中也涉及耗时较长的计算任务,而且某些计算任务无法分解为相互独立的子任务,此时,无法采用并行计算接口,可改用基于多线程的异步处理技术,充分利用CPU多核的计算算力,是较佳的通用技术方案,多线程编程接口可参看OpenThread等。例如,雷达组网探测三维包络的并、交、补等复杂几何布尔计算,无法分解为相互独立的子任务,此时,可将耗时较长的计算整体放入到一个辅助线程中,进行异步处理,待完成后再进行显示,从而避免主进程的显示卡顿,提升用户体验。辅助线程异步处理技术是工程领域里常用的性能优化方法。
(2)基于内外存交换的大规模数据异步处理。态势显示过程中也涉及全球海量数据,大规模的数据量无法直接全部加载于内存,则需要采用基于视点的内存与外存的实时动态调度技术,开源三维图形库Open Scene Graph(OSG)提供了分页调度对象PagedLOD,主要用于实现数字地球内外存的动态交换,可参看该技术实现,应对战场态势综合显示中的大规模数据动态调度,例如,海量动目标及大数据量的轨迹的分页调度等。
本实施例第三阶段为性能评估,即对第二阶段的优化效果进行评估,评判优化评估结果是否已达到优化目标,否则,再重新进入性能测试或性能优化阶段,再次迭代优化。
综上所述,本发明实施例的面向战场态势性能优化的普适体系化设计框架的构建方法中首次提出了“面向显卡反向编程”的图形性能优化设计方式,其以硬件显卡内部处理管线为核心,反向优化应用软件中的图形显示;并提出了一个“基于软硬件协同的性能优化普适体系化框架”,充分考虑了硬件层CPU的多核算力提供的高并行计算及异步多线程支持、GPU基于众核算力的着色器高性能渲染及高性能并行计算、FPGA基于多核的并行计算支撑等,为战场态势综合显示系统的全面性能优化提供了一个总体指导性的解决方案,可极大地提升实际工程应用系统的质量,并加快建设速度,实际应用前景广阔,该框架在实际应用中可结合业务领域进一步扩展框架中的方法,保证框架具有不断提升的可扩展性;通过集成工程实践中的零散性能优化经验,形成一个基本的、体系化的性能优化设计框架,可极大提升软件系统级的设计水平。因此,本发明实施例的方法构建了一个普适的且体系化的性能优化设计框架,有效解决了目前战场态势性能优化设计领域面临的零散化、个人经验化等困境,极大地提升了战场态势综合显示性能,给指挥系统的建设提供了性能优化的总体设计指南。
实施例2:
本实施例公开了一种电子设备。电子设备包括存储器和处理器,存储器存储有计算机程序,处理器执行计算机程序时,实现本发明公开实施例1中的一种面向战场态势性能优化的普适体系化设计框架的构建方法中的步骤。
图2为根据本发明实施例的一种电子设备的结构图,如图2所示,电子设备包括通过系统总线连接的处理器、存储器、通信接口、显示屏和输入装置。其中,该电子设备的处理器用于提供计算和控制能力。该电子设备的存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作系统和计算机程序。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该电子设备的通信接口用于与外部的终端进行有线或无线方式的通信,无线方式可通过WIFI、运营商网络、近场通信(NFC)或其他技术实现。该电子设备的显示屏可以是液晶显示屏或者电子墨水显示屏,该电子设备的输入装置可以是显示屏上覆盖的触摸层,也可以是电子设备外壳上设置的按键、轨迹球或触控板,还可以是外接的键盘、触控板或鼠标等。
本领域技术人员可以理解,图2中示出的结构,仅仅是与本公开的技术方案相关的部分的结构图,并不构成对本申请方案所应用于其上的电子设备的限定,具体的电子设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
实施例3:
本实施例公开了一种计算机可读存储介质。计算机可读存储介质上存储有计算机程序,计算机程序被处理器执行时,实现本发明的实施例1中任一项的一种面向战场态势性能优化的普适体系化设计框架的构建方法中的步骤。
请注意,以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。以上实施例仅表达了本申请的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本申请构思的前提下,还可以做出若干变形和改进,这些都属于本申请的保护范围。因此,本申请专利的保护范围应以所附权利要求为准。
本说明书中描述的主题及功能操作的实施例可以在以下中实现:数字电子电路、有形体现的计算机软件或固件、包括本说明书中公开的结构及其结构性等同物的计算机硬件、或者它们中的一个或多个的组合。本说明书中描述的主题的实施例可以实现为一个或多个计算机程序,即编码在有形非暂时性程序载体上以被数据处理装置执行或控制数据处理装置的操作的计算机程序指令中的一个或多个模块。可替代地或附加地,程序指令可以被编码在人工生成的传播信号上,例如机器生成的电、光或电磁信号,该信号被生成以将信息编码并传输到合适的接收机装置以由数据处理装置执行。计算机存储介质可以是机器可读存储设备、机器可读存储基板、随机或串行存取存储器设备、或它们中的一个或多个的组合。
本说明书中描述的处理及逻辑流程可以由执行一个或多个计算机程序的一个或多个可编程计算机执行,以通过根据输入数据进行操作并生成输出来执行相应的功能。所述处理及逻辑流程还可以由专用逻辑电路—例如FPGA(现场可编程门阵列)或ASIC(专用集成电路)来执行,并且装置也可以实现为专用逻辑电路。
适合用于执行计算机程序的计算机包括,例如通用和/或专用微处理器,或任何其他类型的中央处理单元。通常,中央处理单元将从只读存储器和/或随机存取存储器接收指令和数据。计算机的基本组件包括用于实施或执行指令的中央处理单元以及用于存储指令和数据的一个或多个存储器设备。通常,计算机还将包括用于存储数据的一个或多个大容量存储设备,例如磁盘、磁光盘或光盘等,或者计算机将可操作地与此大容量存储设备耦接以从其接收数据或向其传送数据,抑或两种情况兼而有之。然而,计算机不是必须具有这样的设备。此外,计算机可以嵌入在另一设备中,例如移动电话、个人数字助理(PDA)、移动音频或视频播放器、游戏操纵台、全球定位系统(GPS)接收机、或例如通用串行总线(USB)闪存驱动器的便携式存储设备,仅举几例。
适合于存储计算机程序指令和数据的计算机可读介质包括所有形式的非易失性存储器、媒介和存储器设备,例如包括半导体存储器设备(例如EPROM、EEPROM和闪存设备)、磁盘(例如内部硬盘或可移动盘)、磁光盘以及CD ROM和DVD-ROM盘。处理器和存储器可由专用逻辑电路补充或并入专用逻辑电路中。
虽然本说明书包含许多具体实施细节,但是这些不应被解释为限制任何发明的范围或所要求保护的范围,而是主要用于描述特定发明的具体实施例的特征。本说明书内在多个实施例中描述的某些特征也可以在单个实施例中被组合实施。另一方面,在单个实施例中描述的各种特征也可以在多个实施例中分开实施或以任何合适的子组合来实施。此外,虽然特征可以如上所述在某些组合中起作用并且甚至最初如此要求保护,但是来自所要求保护的组合中的一个或多个特征在一些情况下可以从该组合中去除,并且所要求保护的组合可以指向子组合或子组合的变型。
类似地,虽然在附图中以特定顺序描绘了操作,但是这不应被理解为要求这些操作以所示的特定顺序执行或顺次执行、或者要求所有例示的操作被执行,以实现期望的结果。在某些情况下,多任务和并行处理可能是有利的。此外,上述实施例中的各种系统模块和组件的分离不应被理解为在所有实施例中均需要这样的分离,并且应当理解,所描述的程序组件和系统通常可以一起集成在单个软件产品中,或者封装成多个软件产品。
由此,主题的特定实施例已被描述。其他实施例在所附权利要求书的范围以内。在某些情况下,权利要求书中记载的动作可以以不同的顺序执行并且仍实现期望的结果。此外,附图中描绘的处理并非必需所示的特定顺序或顺次顺序,以实现期望的结果。在某些实现中,多任务和并行处理可能是有利的。
以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明保护的范围之内。
虽然已经通过例子对本发明的一些特定实施例进行了详细说明,但是本领域的技术人员应该理解,以上例子仅是为了进行说明,而不是为了限制本发明的范围。本领域的技术人员应该理解,可在不脱离本发明的范围和精神的情况下,对以上实施例进行修改。本发明的范围由所附权利要求来限定。

Claims (7)

1.一种面向战场态势性能优化的普适体系化设计框架的构建方法,其特征在于,包括以下步骤:
步骤S1:使用测试工具对战场态势综合显示系统进行性能测试;
步骤S2:如果性能测试的结果为所述战场态势综合显示系统需要进行性能优化,则先对所述战场态势综合显示系统的硬件进行选型优化;
步骤S3:基于通用编程技术对所述战场态势综合显示系统的基础软件程序进行处理,以优化所述战场态势综合显示系统的通用性能;
步骤S4:基于面向显卡反向编程设计原理对所述战场态势综合显示系统的图形显卡程序进行处理,以优化所述战场态势综合显示系统的三维图形性能;
步骤S5:基于CPU/GPU//FPGA的多核计算算力对所述战场态势综合显示系统的数据计算程序进行并行优化处理,以优化所述战场态势综合显示系统面向高密度数据的计算性能;
步骤S6:基于CPU的多核计算算力对所述战场态势综合显示系统进行多线程异步处理;
步骤S7:对优化后的所述战场态势综合显示系统进行优化效果评估得到优化评估结果;
所述步骤S1具体包括以下步骤:
使用编译器中的分析器对所述战场态势综合显示系统进行性能测试,以生成所述战场态势综合显示系统中各个函数在程序运行过程中被调用的累积时间,进而依据各个函数在程序运行过程中被调用的累积时间确定程序中的热点函数;
或者,
通过计时器在所述战场态势综合显示系统的程序中打桩进行相关函数测试,并统计各个函数的调用次数和耗时,进而依据各个函数的调用次数和耗时确定程序中的热点函数;
所述步骤S1具体还包括以下步骤:
在所述战场态势综合显示系统的三维图形显示中统计并查看整个三维场景的渲染帧率,如果所述渲染帧率小于或等于预设基准帧率,则确定所述战场态势综合显示系统的三维图形显示卡顿,否则,确定所述战场态势综合显示系统的三维图形显示流场;
所述步骤S3的具体包括以下步骤:
步骤S31:利用移除对内存管理器的调用的方式,和/或静态变量替代动态变量的方式对所述战场态势综合显示系统的基础软件程序进行内存管理优化;
步骤S32:利用系统不打印和记录调试日志,和/或连接池技术管理数据库连接的方式对所述战场态势综合显示系统的基础软件程序进行降低资源消耗优化。
2.根据权利要求1所述的面向战场态势性能优化的普适体系化设计框架的构建方法,其特征在于,在所述步骤S2中,对所述战场态势综合显示系统的硬件进行选型优化具体为:所述战场态势综合显示系统选用独立显卡,高主频CPU以及内存。
3.根据权利要求1所述的面向战场态势性能优化的普适体系化设计框架的构建方法,其特征在于,在所述步骤S4中,对所述战场态势综合显示系统的图形显卡程序进行处理具体包括以下步骤:
依照显卡底层图形处理器的管线理念,在不改变数据管理模式的情况下,对单个对象的绘制数据进行合并后集中批处理;
和/或,利用OpenGL中的缓冲区对象VBO对GPU本地内存中绘图数据进行缓冲管理,以及利用顶点数组对象VAO管理一批缓冲区中绘图数据的状态;
和/或,基于GPU细分着色器对曲面绘制和填充过程进行优化处理;
和/或,基于GPU的可编程管线技术对管线进行渲染处理。
4.根据权利要求1所述的面向战场态势性能优化的普适体系化设计框架的构建方法,其特征在于,所述步骤S5具体包括以下步骤:
基于CPU的多核计算算力并利用CPU并行编程接口对所述战场态势综合显示系统的数据计算程序进行并行优化处理;
或者,
基于GPU的多核计算算力并利用GPU并行编程接口对所述战场态势综合显示系统的数据计算程序进行并行优化处理;
或者,
基于FPGA的多核计算算力并利用通用OpenCL并行编程接口对所述战场态势综合显示系统的数据计算程序进行并行优化处理。
5.根据权利要求1所述的面向战场态势性能优化的普适体系化设计框架的构建方法,其特征在于,所述步骤S6具体包括以下步骤:
基于CPU的多核计算算力对所述战场态势综合显示系统的复杂计算任务进行多线程异步处理;
基于CPU的多核计算算力并采用基于视点的内存与外存的实时动态调度技术对所述战场态势综合显示系统的大规模数据进行多线程异步处理。
6.一种电子设备,其特征在于,所述电子设备包括存储器和处理器,所述存储器存储有计算机程序,所述处理器执行所述计算机程序时,实现权利要求1至5中任一项所述的一种面向战场态势性能优化的普适体系化设计框架的构建方法中的步骤。
7.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时,实现权利要求1至5中任一项所述的一种面向战场态势性能优化的普适体系化设计框架的构建方法中的步骤。
CN202311132055.3A 2023-09-05 2023-09-05 面向战场态势性能优化的普适体系化设计框架的构建方法 Active CN116860587B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202311132055.3A CN116860587B (zh) 2023-09-05 2023-09-05 面向战场态势性能优化的普适体系化设计框架的构建方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202311132055.3A CN116860587B (zh) 2023-09-05 2023-09-05 面向战场态势性能优化的普适体系化设计框架的构建方法

Publications (2)

Publication Number Publication Date
CN116860587A CN116860587A (zh) 2023-10-10
CN116860587B true CN116860587B (zh) 2023-11-28

Family

ID=88223828

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202311132055.3A Active CN116860587B (zh) 2023-09-05 2023-09-05 面向战场态势性能优化的普适体系化设计框架的构建方法

Country Status (1)

Country Link
CN (1) CN116860587B (zh)

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103049245A (zh) * 2012-10-25 2013-04-17 浪潮电子信息产业股份有限公司 一种基于cpu多核平台的软件性能优化方法
CN114518857A (zh) * 2022-01-27 2022-05-20 中国航空研究院 一种面向协同空战的单一综合空中态势显示设计方法
CN116071218A (zh) * 2023-02-17 2023-05-05 无锡先进技术研究院 一种显卡驱动选择机制实现方法、装置及存储介质

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1680741B1 (en) * 2003-11-04 2012-09-05 Kimberly-Clark Worldwide, Inc. Testing tool for complex component based software systems

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103049245A (zh) * 2012-10-25 2013-04-17 浪潮电子信息产业股份有限公司 一种基于cpu多核平台的软件性能优化方法
CN114518857A (zh) * 2022-01-27 2022-05-20 中国航空研究院 一种面向协同空战的单一综合空中态势显示设计方法
CN116071218A (zh) * 2023-02-17 2023-05-05 无锡先进技术研究院 一种显卡驱动选择机制实现方法、装置及存储介质

Also Published As

Publication number Publication date
CN116860587A (zh) 2023-10-10

Similar Documents

Publication Publication Date Title
US10067768B2 (en) Execution of divergent threads using a convergence barrier
US20230038061A1 (en) Convergence among concurrently executing threads
CN106991011B (zh) 基于cpu多线程与gpu多粒度并行及协同优化的方法
EP3053038B1 (en) Gpu divergence barrier
JP6541685B2 (ja) グラフィックス処理におけるレンダーターゲットに基づいたフレックスレンダリング
Tzeng et al. Task management for irregular-parallel workloads on the GPU
CN104050632B (zh) 用于多样本像素数据处理的方法和系统
JP6294565B2 (ja) グラフィックス処理において使用するためのシェーダプログラム実行技法
KR101799978B1 (ko) 타일 근접성을 사용하는 타일 기반 렌더링 방법 및 장치
US20140229953A1 (en) System, method, and computer program product for management of dependency between tasks
TWI502510B (zh) 最佳化管理執行緒堆疊記憶體的系統、方法,及電腦程式產品
KR20140109431A (ko) 커맨드 프로세서를 갖는 그래픽 프로세싱 유닛
JP5778343B2 (ja) グラフィックス処理ユニットでの命令カリング
CN104823215A (zh) 子画面图形渲染系统
TW201426301A (zh) 局部運用具單一圖形處理單元之系統除錯圖形程式之系統、方法及電腦程式產品
CN108604113A (zh) 用于处理单元的以帧为基础的时钟速率调整
Chen et al. A flow-guided file layout for out-of-core streamline computation
US11315303B2 (en) Graphics processing
US20220027194A1 (en) Techniques for divergent thread group execution scheduling
CN113342485A (zh) 任务调度方法、装置、图形处理器、计算机系统及存储介质
US20150145871A1 (en) System, method, and computer program product to enable the yielding of threads in a graphics processing unit to transfer control to a host processor
Navrátil Dynamic scheduling for large-scale distributed-memory ray tracing
CN116860587B (zh) 面向战场态势性能优化的普适体系化设计框架的构建方法
GB2607348A (en) Graphics processing
US11016774B1 (en) Issuing execution threads in a data processor

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
GR01 Patent grant
GR01 Patent grant