基于GPU的战场态势实时处理与显示技术优化
2017-06-22张志明牟海波
张志明,牟海波
(1.海军驻广州427厂军事代表室,广东 广州 510715;2.江苏自动化研究所,江苏 连云港 222061)
基于GPU的战场态势实时处理与显示技术优化
张志明1,牟海波2
(1.海军驻广州427厂军事代表室,广东 广州 510715;2.江苏自动化研究所,江苏 连云港 222061)
针对指控系统中大批量动目标态势显示中存在的效率低下问题,研究了战场态势实时处理与显示效率的限制因素和GPU并行加速技术在图形处理与显示方面的应用。通过在指控系统的态势显示中引入GPU并行加速图形处理技术,给出了基于GPU加速策略的战场态势实时显示系统设计和显示优化方法。实际测试表明,该方法显著提升了大批量动目标战场态势实时显示效率,增强了战场态势实时显示的流畅程度。
指控系统;GPU;态势显示;动目标
指挥控制系统作为现代战争指挥的神经中枢,是指挥员了解战场态势,实施作战指挥部署的利器,深刻影响着当今信息化战争的走向。信息化作战与联合作战对指挥控制系统的战场态势处理与显示提出了更高的要求。
战场态势是对战场环境和对象及各对象间关联的描述。战场态势的综合处理与显示是指挥控制系统的重要部分,是辅助指挥员获取战场情报,分析交战状态,实施决策、计划和调度部署的关键环节。随着战争形态的变化,参与并影响作战的对象日趋复杂。需要综合考虑人员与武器装备情况、保障状态、陆海空天机动目标、网络电磁环境、地理水文气象条件等战场态势以辅助作战指挥[1]。综合全面地反映交战对象情况,实时精准地显示战场态势并实现交互存在现实的需求。
目前,指控系统在战场大批量态势目标的生成和实时显示方面存在不足。造成此问题的因素如通信频率和带宽[2]、情报信息处理速度[3]、图像生成能力,数据的管理与存储方式等在数据通信、情报处理和态势显示等多个阶段中均存在。避免信息丢失,提高数据处理速度,动态实时地生成战场态势是解决问题的关键。
1 GPU并行加速图形处理技术
1999年NVIDIA提出GPU(Graphic Processing Unit,图形处理器)的概念,此后GPU的硬件制造水平及其处理能力得到了飞速发展和提升。GPU在图形处理领域的强大性能使其在该领域得到了广泛的应用。此外,GPU具有浮点计算能力强、带宽高、性价比高、能耗低等诸多优点,目前已被广泛应用于代数计算、数值天气预报、分子动力学模拟、地质勘探、数据库操作、频谱变换和滤波等非图形处理领域[4]。
1.1 GPU加速原理及执行过程
GPU在硬件设计上采用众多简单的流处理器,减少原本用于复杂逻辑控制和缓存管理的晶体管,以增加并行处理单元和存储控制单元[5]。因此,GPU适用于处理高度并行化数据的计算任务,相比CPU线程划分方式,在细粒度密集计算中颇具优势。
CPU计算采用进程划分的形式将计算数据分块处理,分块后的数据分别由单个CPU进程控制,在CPU核心上串行执行,由于CPU的物理核心有限,进程较多时,CPU核心需要在各个进程间不断切换,计算效率较低。GPU计算则是将计算数据细分,各部分数据由众多的线程控制,在大量GPU核心上并发执行,如图1所示。由于GPU的核心数量众多,数量上的优势可以弥补其处理性能上与CPU核心的差距,在大数据量计算时可以取得更高的计算效率。
图1 GPU加速原理
GPU并行计算的执行过程是将GPU(设备)作为CPU(主机)的协处理器,如图2所示。CPU负责针对内存空间的逻辑运算和数据预处理、调用GPU设备和向显存传输数据,GPU则针对显存中的数据进行高度并行计算,计算结果在CPU控制下由显存回传到内存进行输出。
图2 GPU加速执行过程
1.2 GPU图形处理流程
GPU执行图像处理的过程(如图3所示)主要分为三个阶段:1)应用程序处理阶段,主要实现场景模型的建立、格网数据更新、视锥裁剪等操作,为几何操作准备数据并通过数据总线向图形硬件进行传输;2)几何操作阶段主要完成对顶点坐标的变换,以及光照、投影、裁剪、屏幕映射等操作,经图元装配(Primitive Assembly)得到变换后的顶点坐标、颜色和纹理坐标;3)光栅处理阶段则基于几何数据完成像素着色操作和涉及透明度计算的雾化操作,计算结果存入颜色缓冲区或帧缓冲区,最后通过系统总线传输到显示控制器完成图形像素的显示。
GPU支持流式编程模型,数据必须以流的形式进行加载,图形的渲染过程则由图形绘制管线(Pipline)来描述。绘制的过程主要依靠两类着色程序:顶点着色程序(Vertex Shader Program)和片段着色程序(Fragment Shader Program)。GPU上的可编程顶点处理器(PVP,顶点着色器)和可编程片段处理器(PFP,片段着色器)分别负责执行以上两种着色程序。片段着色器可以高速访存纹理信息[6]。
图3 GPU图形处理主要流程
2 基于GPU的战场态势实时处理与显示系统概要设计
2.1 系统组成
在大批量动目标实时处理与显示过程中嵌入GPU加速机制,首先要设计一种与GPU图形处理流程相匹配的态势处理与显示系统。基于GPU的战场态势实时处理与显示系统由GPU加速态势实时处理与显示软件、建模软件、地理信息系统软件、数据库管理软件、通信转发软件和支撑以上软件运行的物理平台组成,各平台通过局域网实现互联。
2.2 物理结构
图4为基于GPU的战场态势实时处理与显示系统的物理结构。GPU加速战场态势实时处理与显示软件在GPU图形处理工作站上运行,基于GPU的并行计算能力对战场态势进行实时处理与显示。建模软件在三维建模工作站上运行,负责建立、管理和输出仿真实体模型。地理信息系统软件布置在地理信息系统工作站和GPU图形处理工作站上,承担地理信息数据的管理与下载。数据库管理软件服务端布置在各数据库服务器上,客户端则布置在三维建模工作站、地理信息系统工作站、GPU图形处理工作站和通信服务器上,以提供对数据库的存储、管理与访问支持。通信服务器上的通信转发软件负责情报数据解析处理和分发。
2.3 软件结构
图5为GPU加速战场态势实时处理与显示软件结构。支撑层配置态势数据库、地理图数据库、军标数据库和模型数据库。数据访问层由信息接收管理模块、地理信息调用模块、军标数据调用模块和模型数据调用模块组成,主程序支配完成数据调用。数据处理层由数据转换模块、数据分配模块和GPU图形处理模块组成,主程序调用各模块以实现计算数据的格式转换、计算数据分配和GPU加速数据处理。界面显示层由显示更新模块组成,负责显示战场态势和向主程序发送交互控制指令。
图4 基于GPU的战场态势实时处理与显示系统物理结构
图5 GPU加速战场态势实时处理与显示软件结构
2.4 处理与显示流程
GPU加速战场态势实时处理与显示软件的处理与显示流程(如图6)为:1)由情报接收管理模块负责接收、处理和管理战场态势报文数据,并将解析后的内部格式报文发送至主程序;2)主程序首先协调地理信息调用模块、军标数据调用模块和模型数据调用模块完成地理信息数据、军标标号、仿真实体模型及纹理数据的下载;3)主程序调用数据转换模块将数据预处理,转换成适于GPU计算的数据形式;4)数据转换模块处理结束后,数据分配模块根据数据特点,对计算数据划分进行优化;5)主程序将内存中划分后的计算数据发送至显存完成显存数据更新,调用GPU开始图形处理计算;6)GPU图形处理模块对显存的数据进行坐标转换、光栅着色和特效处理,处理结束后向内存回传数据;7)显示更新模块更新战场态势显示。
图6 GPU加速战场态势实时处理与显示流程
地理信息数据、军标标号数据和模型数据的调用主要由战场动目标及交互信息的类别决定。信息通过外部通信接口接入系统,信息接收管理模块对目标的类型、坐标方位、航速航向、战损状态、战场姿态等信息进行接收、管理和解析分发,实现由情报信息向图形模型输入的转化。
GPU加速图形处理的输入数据由数据转换模块生成。数据转换模块将数据按GPU图形处理的要求进行转换,按照计算数据的特点进行数据分配,最大限度地利用计算核心,同时将不同类别的数据归类,显存数据更新后,调用不同的计算函数对其进行计算。态势数据更新时,输入数据按照以上流程进行更新。
GPU图形处理开始后,分类处理二维和三维地形、仿真实体模型、事件标记、特效图形和动目标数据并行计算任务。地形处理和仿真实体模型计算要进行地形网格数据的计算、视域裁剪、视点转换和光栅着色操作,地形在精细度变化时要进行裂缝剔除模型计算附加碰撞检测。动目标数据的处理需要将视域内的计算数据中不频繁更新的图元进行缓存,减少不必要的计算。
战场态势图设置多个显示图层,分类的态势在各自的图层中显示,主程序根据交互控制指令实现对地图漫游、缩放、视点转换和各图层的显示。显示图层主要有地图图层、目标图层、目标属性图层、事件图层、特效图层。地图图层主要提供二维与三维的GIS显示,作为显示的根图层。目标图层用于显示作战人员、装备等实体目标模型。目标属性图层主要用于提供作战目标的方位及战损状态信息,属性数据同时影响目标模型的显示。事件图层主要对战场事件及作战指令等信息进行动态交互展示。特效图层用于对地物特征、气象信息、目标分布范围、电磁场信息的特效渲染。
2.5 GPU加速战场态势实时处理与显示优化策略
1)地理信息处理与显示的优化
地理信息的显示有二维和三维两种形式[7]。二维地图的显示优化主要是对地图进行规则的四叉树分形,纹理映射根据金字塔模型的切片栅格进行重采样,生成GPU图形显示图元并进行光栅贴图实现。三维地理信息显示采用多分辨率的细节层次模型(Level of detail,LOD)[8]进行地形分形的优化,将三维地形数据建成详细程度逐步递减的数据模型,纹理数据采用Geometry Clipmaps纹理[9],如图7所示。显示过程中通过进行视域裁剪减小数据量,采用部分缓存来解决内存耗用,三维地图漫游时进行的遮挡剔除和视点转换数据更新也采用缓存替换[10]的形式实现。
图7 地图分形模型
2)目标模型处理与显示的优化
战场态势显示的目标种类多样,如单兵、装甲车辆、作战飞机、导弹。二维态势显示以军标图形进行目标显示,三维的目标显示则要对目标模型进行细节处理,根据地图的缩放相应地进行精细度修改。精细度的变化采用细节层次模型,并进行平滑处理。考虑到地图比例尺的变化,目标的大小变化要控制在特定范围,以保证目标的直观可见。通过对GPU图形生成变换矩阵进行限定保证目标的显示。目标根据视野范围进行裁剪,对视锥体外及遮挡的目标进行剔除。此外,为保证三维目标模型不陷入地形或漂浮,在目标图形的生成前要进行碰撞检测。
3)作战事件处理与显示的优化
三维作战事件信息通过透明度计算和地形匹配处理,将事件图形显示在指定区域。
4)特效处理与显示的优化
交战过程中的特殊地标、气象条件、打击时的爆炸烟雾效果、作战兵力分布范围、雷达扫射范围等信息通过GPU图形处理的建模、粒子系统[11]、光照及透明度计算等机制来实现。
5)大批量动目标数据分配优化
大批量动目标的实时处理与显示首先进行目标的数据存储优化,使各目标数据的存取能独立进行。在生成图元的过程中,将不同目标的数据交由独立线程控制在特定的计算核心上计算,各计算内核进行ID管理,保证较高的并行程度。目标图形生成时,将相同种类的目标合并为单次处理,显示时根据各自的属性信息进行相应的定位显示。
2.6 GPU加速的战场态势实时处理与显示测试示例
为验证GPU对动目标态势的处理与显示性能,采用表3的CPU与GPU硬件进行测试。测试项主要有:1)对一幅1680×900的真彩图片进行旋转矩阵计算;2)对1000,2000,…,7000幅图标图片同时进行平移、随机旋转和缩放的计算测试。开发环境、测试软硬件环境见表1-表3。
表1 开发环境
表2 测试软件环境
表3 CPU与GPU硬件设备
CPU与GPU的计算效率对比结果如表4。
表4 CPU与GPU图像旋转矩阵计算效率对比
大批量动目标图形处理GPU-CPU效率对比如图8-图10所示。
图8 大批量动目标平移运动CPU与GPU效率对比
图9 大批量动目标随机旋转CPU与GPU效率对比
图10 大批量动目标缩放操作CPU与GPU效率对比
图11 大批量动目标图形处理GPU-CPU加速比
由图11测试结果可以看出,相对于CPU处理方式,GPU加速技术在处理图形的平移、随机旋转和缩放中取得了更高的加速比,而且随着数据量和计算量的增加,这种性能优势更加明显。计算结果同时表明:GPU在处理大批量动目标的图形处理与实时显示中具有CPU所不具备的优势。
3 结束语
本文针对指挥控制系统中大批量动目标的动态实时显示问题,将GPU加速图形处理显示技术引入指控系统战场态势实时处理与显示,并给出与GPU图形显示加速技术相融合的指控系统战场态势实时处理与显示系统设计,利用GPU的并行加速图形处理机制完成对大批量动目标的实时处理与显示,相比基于CPU的多线程处理方式,取得了更高的效率。
[1] 单连平,王亚,吴维元.指挥自动化系统现状与发展趋势[J].指挥控制与仿真, 2007, 29(3):1-5.
[2] 李策,金建中,杨博.陆军作战战术数据分发研究[J].指挥控制与仿真, 2010, 32(2):29-34.
[3] 肖海,王忠,肖留威,等.基于ArcGIS的实时态势显控系统设计与性能优化[J].计算机工程与设计, 2010, 31(18): 4108-4111.
[4] 王勃,康晓予,张莉.虚拟海战场态势三维显示系统设计与实现[J].系统仿真学报, 2012, 24(1): 202-206.
[5] 卢风顺,宋君强,银福康,等.CPU/GPU 协同并行计算研究综述[J].计算机科学, 2011, 38(3):5-9.
[6] 张舒,禇艳利.GPU高性能运算之CUDA[M].北京:中国水利水电出版社, 2009.
[7] 张荣华.基于GPU的动态地形实时绘制技术的研究与实现[J].计算机工程与设计, 2010, 31(20):4434-4437.
[8] 陈建祥,魏迎梅,吴玲达.虚拟战场环境中的态势标绘与表现[J].计算机应用, 2005, 25(7):1701-1703.
[9] 曹敏,杨长兴,杨炼.大规模地形漫游中动态LOD算法研究[J].计算机技术与发展, 2008, 18(10):187-189,193.
[10]Asirvatham, Arul, H. Hoppe.Terrain Rendering using GPU-Based Geometry Clipmaps. In GPU Gems2 [M].Tsinghua University Press, 2005.
[11]王旭,张璐,杨新,等.飞行监控系统中基于GPU的地形渲染[J].航空学报, 2010, 31(6):1230-1237.
[12]Zhang J, Zhang L, Lijian J I, et al. Design of Simulation Model on the Battlefield Environment[C].International Conference on Materials Engineering and Information Technology Applications, 2015: 209-213.
Optimization of Battlefield Situation RealTime Processing and Display Based on GPU
ZHANG Zhi-ming1, MOU Hai-bo2
(1.Navy Military Representative Office in Guangzhou 427 Factory,Guangzhou 510715;2.Jiangsu Automation Research Institute, Lianyungang 222061, China)
For solving the low efficiency problem in situation plotting of mass dynamic targets on command and control system, studied the restriction factors of battlefield situation real-time processing and display efficiency, and the application of GPU parallel acceleration technology in graphic processing and display. By introducing GPU parallel accelerated graphic processing technology into the situational display processing of command and control system, designed a battlefield situation real-time display system and proposed the optimization display method based on GPU acceleration strategy. Actual test shows that the method significantly improved the efficiency of mass dynamic targets situation real-time plotting, enhanced the fluency of situation real-time display on command and control system.
command and control system; GPU; situation display; dynamic target
2016-12-12
张志明(1973-),男,江苏盐城人,硕士,工程师,研究方向为作战信息处理。 牟海波(1990-),男,硕士,助理工程师。
1673-3819(2017)03-0115-06
TP391.9;E917
A
10.3969/j.issn.1673-3819.2017.03.025
修回日期: 2017-04-19