本发明属于运载器安全控制领域,涉及一种基于异构并行架构的运载器安控管道呈现方法。
背景技术:
随着计算机技术的发展与成熟,虚拟现实技术蓬勃发展,越来越多的应用到了航空航天、生物医学、机械制造等多方面领域。满载高能燃料的运载器在运行中一旦意外落地,会给所落地区的人民生命、财产带来重大损失,如何在运载器运行过程中对运载器安控管道进行有效的模拟呈现就提出了相应的要求。
传统的安控管道呈现的方法是基于单线程进行的处理过程,随着在多处理器和云计算技术兴起后,以上处理进行了并行化,提高了处理速度。但是由于运载器理论轨迹往往较大,且安全管道的计算与绘制过程具有密集数值计算的特点,利用多处理器和云计算技术进行处理这类数据,浪费了以上计算设施的大量逻辑分析资源。
随着微电子技术的发展,新型计算技术也层出不穷,基于gpu的通用异构计算技术,为处理密集型数值计算提供一种高效的并行处理手段。实质上,gpu的通用异构计算技术是一种simd处理技术,非常适合虚拟现实仿真过程中相关的处理操作,如快速通视分析。
传统的安控管道由于是基于单线程进行的处理过程,因此需要消耗大量的计算资源,以这样的方法在整个运载器运行过程中进行其安控管道模拟,所消耗的时间过长,而且在计算机三维模拟环境中并没有一种合适的模仿表现方式。
技术实现要素:
有鉴于此,本发明的目的在于提供一种基于异构并行架构的运载器安控管道呈现方法,利用异构并行计算架构,提高安控管道的计算效率,降低计算所需时间。
为达到上述目的,本发明提供如下技术方案:
一种基于异构并行架构的运载器安控管道呈现方法,该方法步骤为:根据运载器的理论运动轨迹,计算得到各时间点所对应的理论轨迹上的点的位置并利用显示存储器进行高程数据提取与存储,通过基于图形处理器gpu的通用计算方法,简化运载器安控管道面上点的处理过程,允许各时间点对应的理论轨迹上的点同时求取安控管道面上的点的位置信息;
具体为:
s1:设置理论轨迹各时间点所对应位置的位置存储器,用于存储理论轨迹上各时间点的对应位置;
s2:根据位置存储器中数据及安控管道相应算法,求出各点对应安控管道的半径及安控管道面上的点的位置信息;
s3:根据结果存储器中的结果,绘制运载器运行轨迹的安控管道。
进一步,所述计算得到各时间点所对应的理论轨迹上的点的位置并利用显示存储器进行高程数据提取与存储为:
在主机端,首先根据运载器理论轨迹计算得到各时间点所对应的理论轨迹上的点的位置,再将各点的位置信息存储在高速存储器中,进行安控管道面上的点的位置信息计算时,直接从纹理寄存器中提取和调用数据。
进一步,所述基于图形处理器gpu的通用计算方法为:
根据异构并行通用计算编程架构,进行数据结构的安排,运载器理论轨迹各时间点上的各个位置对应一个单一的线程块block,而各线程块有统一的构成一个网格,在进行安控管道半径计算过程中,每个thread均对应于kernel程序,从而使各个线程并行完成理论轨迹上各点安控管道面上的点的位置信息的计算。
进一步,还包括以下步骤:
s41:在主机端完成理论轨迹各时间点所对应位置的位置信息的计算,拷贝到设备端等待处理;
s42:根据理论轨迹各时间点对应位置信息的数据量,在设备端分配存储空间,即按照位置信息数据量分配存储块,设点个数为n,在设备端分配n个存储单元,每一个存储单元对应存储一个理论轨迹上的点;由gpu中线程与存储块的关系得到,每一个存储块由多个存储单元构成;每一个理论轨迹上的点都对应一个存储单元,每一个存储块对应一个线程块,一个理论轨迹上的点对应安控管道面上的点的位置信息计算过程对应于线程块中的一个处理线程;
s43:当设备端存储空间分配结束,根据运载器安控管道半径的计算方法,计算得到对应安控管道面上的点的位置信息,对每个处理线程进行计算,以完成相关操作;
s44:待计算过程结束,将设备端的实验结果拷贝回主机端,并完成安控管道的绘制。
进一步,在所述步骤s2中,根据从设备端拷贝回的运载器安控管道上的点的位置信息,绘制成相应的管道面,并依次连接前后两个管道面构成相应的安控管道,并以半透明的方式进行呈现
本发明的有益效果在于:本发明为运载器安控管道模拟提出了一种合适的呈现方法,并且充分利用gpu多处理器资源,降低了运载器安控管道计算所需时长,提高了安控管道呈现的效率。
附图说明
为了使本发明的目的、技术方案和有益效果更加清楚,本发明提供如下附图进行说明:
图1为运载器安控管道的计算方法流程图;
图2为基于cuda算法的安控管道面的计算流程简图;
图3为设备端存储空间分配;
图4为实施例示意图。
具体实施方式
下面将结合附图,对本发明的优选实施例进行详细的描述。
请参阅图1~图4,一种基于异构并行架构的运载器安控管道呈现方法,该方法步骤为:根据运载器的理论运动轨迹,计算得到各时间点所对应的理论轨迹上的点的位置并利用显示存储器进行高程数据提取与存储,通过基于图形处理器gpu的通用计算方法,简化运载器安控管道面上点的处理过程,允许各时间点对应的理论轨迹上的点同时求取安控管道面上的点的位置信息;
具体为:
s1:设置理论轨迹各时间点所对应位置的位置存储器,用于存储理论轨迹上各时间点的对应位置。
s2:根据位置存储器中数据及安控管道相应算法,求出各点对应安控管道的半径及安控管道面上的点的位置信息;
s3:根据结果存储器中的结果,绘制运载器运行轨迹的安控管道。
计算得到各时间点所对应的理论轨迹上的点的位置并利用显示存储器进行高程数据提取与存储为:在主机端,首先根据运载器理论轨迹计算得到各时间点所对应的理论轨迹上的点的位置,再将各点的位置信息存储在高速存储器中,进行安控管道面上的点的位置信息计算时,直接从纹理寄存器中提取和调用数据。
所述基于图形处理器gpu的通用计算方法为:根据异构并行通用计算编程架构,进行数据结构的安排,运载器理论轨迹各时间点上的各个位置对应一个单一的线程块block,而各线程块有统一的构成一个网格,在进行安控管道半径计算过程中,每个thread均对应于kernel程序,从而使各个线程并行完成理论轨迹上各点安控管道面上的点的位置信息的计算。
该方法包括以下步骤:
s41:在主机端完成理论轨迹各时间点所对应位置的位置信息的计算,拷贝到设备端等待处理。
s42:根据理论轨迹各时间点对应位置信息的数据量,在设备端分配存储空间,即按照位置信息数据量分配存储块,设点个数为n,在设备端分配n个存储单元,每一个存储单元对应存储一个理论轨迹上的点;由gpu中线程与存储块的关系得到,每一个存储块由多个存储单元构成;每一个理论轨迹上的点都对应一个存储单元,每一个存储块对应一个线程块,一个理论轨迹上的点对应安控管道面上的点的位置信息计算过程对应于线程块中的一个处理线程;
s43:当设备端存储空间分配结束,根据运载器安控管道半径的计算方法,计算得到对应安控管道面上的点的位置信息,对每个处理线程进行计算,以完成相关操作;
s44:待计算过程结束,将设备端的实验结果拷贝回主机端,并完成安控管道的绘制。
根据从设备端拷贝回的运载器安控管道上的点的位置信息,绘制成相应的管道面,并依次连接前后两个管道面构成相应的安控管道,并以半透明的方式进行呈现。
首先,在主机端根据运载器理论轨迹计算出各时间点对应位置的位置信息。
其次,设置理论轨迹各时间点所对应位置的位置存储器及计算结果存储器,分别用于存储理论轨迹上各时间点的对应位置与运载器理论轨迹安控管道面上点的位置信息的计算结果。
之后,根据位置存储器中数据,利用异构并行计算架构的并行计算能力按一定的粒度计算出对应安控管道面上的点的位置信息,并存入结果存储器中。
再后,将结果存储中的位置信息从设备端拷贝回主机端。
然后,根据从设备端拷贝回的运载器安控管道上的点的位置信息,绘制成相应的管道面,并依次连接前后两个管道面构成相应的安控管道,并以半透明的方式进行呈现。
最后说明的是,以上优选实施例仅用以说明本发明的技术方案而非限制,尽管通过上述优选实施例已经对本发明进行了详细的描述,但本领域技术人员应当理解,可以在形式上和细节上对其作出各种各样的改变,而不偏离本发明权利要求书所限定的范围。