资源中心

Resource Centers

2022-11-28

国产化适配|一起看看适配国产GPU需要做什么


随着信息化进程的加快,外部环境渐趋复杂,各种科技打压和资源封锁事件频发,在这个过程中我们认识到了掌握信息技术自主可控的重要性,也是我国现亟需解决的大事儿,需要逐步减少对国外产品的依赖,在科技领域“挺直腰杆”。

国家“十四五”规划明确,“坚持创新在我国现代化建设全局中的核心地位”“把科技自立自强作为国家发展的战略支撑”。作为科技创新的重要领域,信创的战略和经济意义愈发凸显。



发展自主可控的国产GIS软件



为了建立一个健康安全的国产软件生态,不仅要有国产芯片、国产操作系统和国产数据库,还需要大量第三方应用和服务去适配它们。这样,国产软件生态才能“茁壮成长”。

在信创的变革下,GIS的基础运行环境发生了非常大的变化。实际使用中,GIS并非简单地对空间信息进行分析、处理后呈现给使用者,而是要精确、高效地进行空间数据综合分析以及动态预测。因此,在 FreeXGIS平台进行国产化环境部署时,对各功能及仿真场景的可用性及性能等方面都提出了相当高的要求。


国产化 (3).jpg


目前,在国产CPU芯片体系架构上,主要分为 X86(海光、兆芯)、ARM(海思、飞腾)、mips(龙芯)、alpha(申威)、PowerPC架构(中晟宏芯);在国产GPU中,较为知名的为景嘉微JM72系列、景嘉微JM92系列、芯瞳GenBu01;在国产操作系统上,市场占有率较高的有中标麒麟、银河麒麟等。恒歌科技针对以上国产软硬件环境进行了适配,满足客户自主可控的应用场景需求。




FreeXGIS平台国产化部署



恒歌科技在针对FreeXGIS各端进行适配时,使用Qt 、OSG、OsgEarth等进行编译部署、各种依赖库源码编译,实现了GIS及可视化应用的自主可控。



1

方案优势

Advantages of Solution


平台为在国产化软硬件环境下实现GIS及态势显示、推演与评估提供稳定且可扩展的架构体系。



全面的国产化适配能力

FreeXGIS平台具备极强的国产化适配能力,积极响应相关政策,为软件、硬件及操作系统的同步国产化做出了支持,覆盖适配绝大多数国产CPU、国产GPU和国产操作系统等。


业内领先的技术支持

FreeXGIS Desktop采用插件化框架设计,底层使用OpenGL图形接口,通过OSG的二次封装形成高效的图形渲染引擎,并结合专业的GIS数据处理库以及osgEarth地形构建引擎,形成了一套高效的二三维场景渲染框架。

图3.1.7-态势仿真.jpg

△ FreeXGIS Desktop


FreeXGIS Online则采用轻量级系统运行方式,持续优化底层渲染能力与运行效率,综合提升场景表现力,同时具有灵活的数据接口,方便用户接入互联网数据,快速拓展相关业务。

图3.1.7-态势仿真.jpg

△ FreeXGIS Online



FreeXGIS Server采用微服务的框架结构设计、分布+集群的部署方式,支持中标、银河、鲲鹏等国产化环境部署,有效提升了服务的响应速度以及用户并发量,也保证了系统的扩展性、容错性以及开发效率。同时支持用户私有云或局域网的服务部署,确保用户的数据安全性。

图3.4.2-地图服务.jpg

△ FreeXGIS Server



安全稳定的私有化部署

恒歌科技深耕于GIS领域十余年,持续为军工、航空航天等保密性、安全性要求较高领域的客户提供服务,产品稳定、可靠,保证系统信息安全。

FreeXGIS平台采用私有化部署,可直接部署在用户本地服务器上,可源码授权,在保证用户数据安全性、系统稳定性下,能够灵活应用于多种业务场景。




2

优化方案

Optimization Scheme


在3D图形处理中,显卡性能对模型表现和模型处理而言,至关重要。显卡越高端,其三维效果越逼真,图面切换越流畅。本文针对国产化GPU在FreeXGIS中的优化方向进行简单分析,分析方向:地理数据渲染优化、模型渲染优化、几何图元渲染优化。

国产化适配_H(1).png



地理数据渲染优化


01 地形数据加载流程

三维地形渲染系统使用金字塔的瓦片构建机制,采用实时动态调度算法,可以根据当前视口显示的数据范围,进行分级分区域动态调度,从而减少内存占用,减轻渲染压力。


02 渲染模式优化

在国产化系统中,大地形渲染效率优化,除地形数据调度影响效率外,更多时候渲染采用的模式更为重要。本平台通过优化渲染模式,使用顶点缓存对象渲染方式(数据存储在GPU中,可直接绘制图元,数据可修改),减少CPU与GPU的访问次数,有效提升渲染效率。


03 减少状态切换

在GIS平台中,大批量的矢量线、面绘制是比较常见的使用方式,通过分析osgEarth中矢量线、面的绘制效率较低的问题,提出了通过合并矢量绘制数据中同类型的状态信息,减少状态频繁切换,大幅提升矢量的渲染效率。


大批次模型渲染优化


三维场景中,除去大地形的渲染消耗外,其余就是大量业务数据的加载及渲染,比如大批量的比如战斗机、舰船、卫星、航路线等,带来如下问题:第一,内存随着场景中的实体增加呈现线性增长;第二,加重GPU的渲染负担;第三,需要CPU与GPU进行多次重复的交互。

针对以上问题,我们采用了多实例渲染技术进行优化,该技术是一种用于大批量重复物件渲染的GPU技术,以降低客户端和显卡端数据传输量,即所谓的“一次提交,多次渲染”,是连续执行多条相同渲染命令的方法,并且每个命令所产生的渲染结果都会有轻微的差异,因此,它是一种非常有效的、可使用少量API调用来渲染大量几何体的方法。


图元渲染优化


01 优化图元绘制

GPU绘制图形需要CPU向GPU发出指令, 同时需要向GPU提交顶点坐标、纹理坐标、法线坐标等信息,复杂的仿真都是千万级顶点数据,通过顶点缓存对象和索引缓存对象能够使数据共享,减少顶点数目,静态目标只需要提交一次数据,降低了CPU的负载。


02 动画图元绘制(如雷达通信效果)

动画可以分为形变、属性变化。形变即位置信息或拓扑结构的变化;属性变化即颜色、光照、纹理等信息变化。

在以往的实现思路中,动画都会在CPU端通过顶点变化实现,此时就需要高频率的CPU-GPU通信,然而目前在国产CPU和GPU下是无法做到的。于是我们针对性的做了优化,将数据处理放在CPU中,将动画效果通过着色器在OpenGL渲染管线中实现,减少CPU与GPU的通信,提升渲染效率。


03 几何纹理扰动的优化

为了模拟显示中的效果,如淹没分析,我们针对波浪采用改变随机的纹理坐标的方法,在以往的实现中同样需要占用CPU与GPU的带宽,于是我们将纹理坐标的计算放到顶点着色器中进行,效率得以提高。



国产化部署案例分享



01 银河麒麟运行GIS平台

操作系统

银河麒麟v10(国防版)

运行环境

PC端

CPU

飞腾D2000

开发工具

Qt Creator

开发平台

FreeXGIS系列

银河麒麟2.png


公司FreeXGIS系列产品在银河麒麟操作系统中良好适配,国产CPU飞腾D2000上流畅稳定运行。平台涵盖二三维图层加载、测量、标绘、军用标绘、海洋、星空环境、气象、电磁等模块,支持插件化与模块化开发、应用。


02 中标麒麟运行GIS平台

操作系统

中标麒麟v5(军用版)

运行环境

PC端

CPU

龙芯3A4000

开发工具

Qt Creator

开发平台

FreeXGIS系列

中标麒麟2.png


公司FreeXGIS系列产品在中标麒麟操作系统中良好适配,国产CPU龙芯3A4000上流畅稳定运行。系统涵盖卫星仿真、态势仿真、电磁仿真领域,支持插件化与模块化开发、应用,用户体验良好。

更多服务

More services