CN111580790B - A Construction Method for Software Radar Middleware - Google Patents
A Construction Method for Software Radar Middleware Download PDFInfo
- Publication number
- CN111580790B CN111580790B CN202010320291.8A CN202010320291A CN111580790B CN 111580790 B CN111580790 B CN 111580790B CN 202010320291 A CN202010320291 A CN 202010320291A CN 111580790 B CN111580790 B CN 111580790B
- Authority
- CN
- China
- Prior art keywords
- vsipl
- function
- middleware
- data
- radar
- 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
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/20—Software design
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Radar Systems Or Details Thereof (AREA)
- Stored Programmes (AREA)
Abstract
本发明提供一种用于软件化雷达中间件的构建方法,设置并行计算中间件包括步骤:基础函数中间件构建步骤、雷达专用功能中间件构建步骤、运行时函数中间件构建步骤和实时服务质量QOS中间件构建步骤;其中,基础函数中间件的构建方法利用VSIPL程序构建一套比较完备的基础数学函数库;该函数库向上层提供统一的接口API,具备高性能的同时还具有良好的可移植性和可扩展性。使用该方法开发雷达基础函数库,提高了雷达应用组件开发人员的开发效率;利用VSIPL提供的与平台无关的标准接口API,能够保证算法函数在不同平台上的接口是固定的,实现一次编写,多平台运行。
The invention provides a construction method for software-based radar middleware. The parallel computing middleware includes the steps of: basic function middleware construction steps, radar-specific function middleware construction steps, runtime function middleware construction steps, and real-time quality of service QOS middleware construction steps; wherein, the basic function middleware construction method utilizes a VSIPL program to construct a set of relatively complete basic mathematical function library; the function library provides a unified interface API to the upper layer, and has high performance and good portability and scalability. Using this method to develop the radar basic function library improves the development efficiency of radar application component developers; using the platform-independent standard interface API provided by VSIPL can ensure that the interface of the algorithm function on different platforms is fixed, and realizes writing once and running on multiple platforms.
Description
技术领域technical field
本发明涉及软件化雷达信号处理技术,特别涉及中间件的多态性构建技术。The invention relates to software-based radar signal processing technology, in particular to polymorphic construction technology of middleware.
背景技术Background technique
“软件化雷达”(Software Defined Radar,SDR)是具有通用化和数字化特点的新型雷达系统,具有开放式体系架构,可以适应“面向实际需求,以软件技术为核心”的开发理念实现系统的扩展、更新和升级,将更加注重系统的标准化、模块化和软件可定义,系统各组成部分的通用性将更加提高。软件化雷达采用开放、通用、标准的架构,支持雷达功能软件定义,极大地提升雷达装备的作战性能、研发质量和研发效率,是未来雷达的重要发展方向。雷达系统具有数据流量大、计算密集、实时性要求高等特点。传统雷达系统的计算单元,为了满足上述要求,采用软件与特定硬件绑定,紧耦合定制开发的模式,而软件化雷达采用开放式体系架构,要求软件硬件解耦合。"Software Defined Radar" (Software Defined Radar, SDR) is a new type of radar system with the characteristics of generalization and digitalization. It has an open architecture and can adapt to the development concept of "oriented to actual needs, with software technology as the core" to realize the expansion, update and upgrade of the system. Software-based radar adopts an open, universal, and standard architecture, supports software definition of radar functions, and greatly improves the combat performance, R&D quality, and R&D efficiency of radar equipment. It is an important development direction for future radars. The radar system has the characteristics of large data flow, intensive calculation, and high real-time requirements. In order to meet the above requirements, the computing unit of the traditional radar system adopts the mode of binding software and specific hardware and tightly coupling custom development, while the software-based radar adopts an open architecture and requires decoupling of software and hardware.
近年来,并行化、异构化成为高性能计算的一个重要发展趋势,多核处理器、异构处理器以及加速卡等计算器件在雷达系统中广泛应用。随着有源数字相控阵雷达、合成孔径雷达、分布式阵列雷达的快速发展,对雷达系统的计算能力要求空前提升。同时,软件化、智能化、多功能一体化发展趋势要求雷达计算平台具有可扩展可重构能力。雷达信号处理板卡已普遍采用由多种处理器,比如CPU通用处理器、数字信号处理器DSP、现场可编程门阵列FPGA、图像处理器GPU以及片上系统SOC等组成的并行异构计算的硬件架构设计,这种硬件架构设计增加了雷达应用软件与硬件解耦合的难度。In recent years, parallelization and heterogeneity have become an important development trend of high-performance computing, and computing devices such as multi-core processors, heterogeneous processors, and accelerator cards are widely used in radar systems. With the rapid development of active digital phased array radars, synthetic aperture radars, and distributed array radars, the computing power requirements for radar systems have increased unprecedentedly. At the same time, the development trend of software, intelligence, and multi-functional integration requires the radar computing platform to have expandable and reconfigurable capabilities. Radar signal processing boards have generally adopted a parallel heterogeneous computing hardware architecture design consisting of a variety of processors, such as CPU general processors, digital signal processors DSP, field programmable gate arrays FPGAs, image processors GPUs, and system-on-chip SOCs. This hardware architecture design increases the difficulty of decoupling radar application software and hardware.
VSIPL(Vector Signal Image Processing Library)是一个支持开源、C语言规范,为向量与信号处理开发的算法库,VSIPL联盟负责开发这个标准库,该组织定义了一个具有统一工业标准的应用程序接口,能够支持实时嵌入式信号处理系统中用于向量、信号、图像处理的应用程序,并且具有可移植性和高性能的优势,可移植的同时保持软件的高性能,同样的软件可扩展应用到其他硬件平台上,系统升级时不用重新写软件,减少开发花销,延长软件生命周期。VSIPL (Vector Signal Image Processing Library) is an algorithm library that supports open source and C language specification and is developed for vector and signal processing. The VSIPL Alliance is responsible for developing this standard library. The organization defines an application program interface with a unified industry standard, which can support applications for vector, signal, and image processing in real-time embedded signal processing systems, and has the advantages of portability and high performance. Expenses, prolonging the software life cycle.
专利(公开号为CN107153547A)提出了一种软件化雷达库模式信号中间件,该方法包括:步骤1,对信号处理中间件按照库的模式划分为基础组件层和功能组件层,获得库模式信号处理中间件的处理框架;步骤2,在处理框架内,根据雷达特点,设计出基础组件层内运算组件;步骤3,在处理框架内,根据雷达特点,结合运算组件设计出功能组件层内运算组件;步骤4,对处理组件进行功能验证,当验证结果符合标准时,进行步骤5;步骤5,利用雷达对库模式信号处理中间件进行实验验证,获得雷达的功能和性能测试结果。没有采用开放式的系统架构工程技术,所构建的雷达信号库模式中间件不能基于该方案灵活扩展,受限于平台,运算组件采用的是NVIDIA提供的信号处理函数库,只适用于NVIDIA公司生产的GPU上,而且运算组件提供的函数接口不具有统一标准性。The patent (publication number is CN107153547A) proposes a software-based radar library mode signal middleware. The method includes: step 1, divide the signal processing middleware into basic component layer and functional component layer according to the mode of the library, and obtain the processing framework of the library mode signal processing middleware; step 2, in the processing framework, design the computing components in the basic component layer according to the radar characteristics; When the verification result meets the standard, proceed to step 5; step 5, use the radar to carry out experimental verification on the library mode signal processing middleware, and obtain the function and performance test results of the radar. Without adopting open system architecture engineering technology, the built radar signal library model middleware cannot be flexibly expanded based on this solution. Limited by the platform, the computing component uses the signal processing function library provided by NVIDIA, which is only applicable to the GPU produced by NVIDIA, and the function interface provided by the computing component does not have a unified standard.
专利(公开号为CN109101348A)提出一种雷达雷达信号处理集群平台及软件便于扩展的实现方法,平台包括VPX机箱、交换模块、计算模块、交换后插模块和数据接口模块,其中间件层软件位于系统层和应用层之间,为应用层提供通用服务,具有通用的协议栈和标准的程序接口,实现对系统层的解耦,中间件层包括通信中间件、算法中间件、线程调度中间件。该方案在算法中间件只是简单的说明算法中间件用于提供矩阵运算、FFT、向量运算、IFFT、三角函数等基础函数的函数接口,但是接口标准没有提及,在众多的雷达系统平台上难以实现通用化。The patent (publication number CN109101348A) proposes a radar signal processing cluster platform and an implementation method for easy expansion of software. The platform includes a VPX chassis, a switch module, a computing module, a switch plug-in module, and a data interface module. The middleware layer software is located between the system layer and the application layer and provides general services for the application layer. It has a general protocol stack and a standard program interface to realize decoupling of the system layer. The middleware layer includes communication middleware, algorithm middleware, and thread scheduling middleware. In the algorithm middleware, this solution simply explains that the algorithm middleware is used to provide the function interface of basic functions such as matrix operation, FFT, vector operation, IFFT, trigonometric function, etc., but the interface standard is not mentioned, and it is difficult to achieve generalization on many radar system platforms.
发明内容Contents of the invention
本发明所要解决的技术问题是,提供一种具有统一工业标准的VSIPL接口、能够适应各软件化雷达硬件平台的基础函数中间件构建方法。The technical problem to be solved by the present invention is to provide a basic function middleware construction method which has a uniform industrial standard VSIPL interface and can be adapted to various software-based radar hardware platforms.
本发明为解决上述技术问题所采用的技术方案是,一种用于软件化雷达中间件的构建方法,设置并行计算中间件包括步骤:基础函数中间件构建步骤、雷达专用功能中间件构建步骤、运行时函数中间件构建步骤和实时服务质量QOS中间件构建步骤;The technical solution adopted by the present invention for solving the above-mentioned technical problems is a construction method for software-based radar middleware, and the setting of parallel computing middleware includes steps: basic function middleware construction steps, radar-specific function middleware construction steps, runtime function middleware construction steps and real-time quality of service QOS middleware construction steps;
其中,基础函数中间件的构建方法具体包括以下步骤:Among them, the construction method of the basic function middleware specifically includes the following steps:
1)利用VSIPL函数创建VSIPL块;1) Use the VSIPL function to create a VSIPL block;
2)创建VSIPL块对应的视图;2) Create a view corresponding to the VSIPL block;
3)创建基础函数的对象;3) Create the object of the basic function;
4)将数据与对象绑定;4) Bind data to objects;
5)将VSIPL块放到VSIPL数据空间;5) Put the VSIPL block into the VSIPL data space;
6)调用VSIPL标准接口的函数处理视图;6) Call the function processing view of the VSIPL standard interface;
7)对VSIPL函数的底层实现进行替换:先在VSIPL函数的内部创建一个临时交互空间用于数据交互使用,继而从VSIPL数据空间中读取数据放到临时交互空间中,并选择适应当前硬件平台的专用库执行基础函数运算,运算完成后将计算结果写回VSIPL的数据空间中,至此已实现VSIPL标准统一接口对不同硬件平台专用库的封装;7) Replace the underlying implementation of the VSIPL function: first create a temporary interactive space inside the VSIPL function for data interaction, then read data from the VSIPL data space and put it in the temporary interactive space, and select a special library suitable for the current hardware platform to perform basic function calculations. After the calculation is completed, the calculation results are written back to the VSIPL data space. So far, the VSIPL standard unified interface has been implemented to package special libraries for different hardware platforms;
8)创建基础函数的对象及视图删除,释放所有资源,结束整个VSIPL程序。8) Delete the object and view of the basic function, release all resources, and end the entire VSIPL program.
具体的,基础函数包括向量、矩阵、三角函数和快速傅里叶变换FFT等。Specifically, the basic functions include vectors, matrices, trigonometric functions, fast Fourier transform FFT, and the like.
VSIPL块为在VSIPL程序中存储数据的连续内存区域;A VSIPL block is a contiguous memory area that stores data in a VSIPL program;
对象为一种抽象的数据类型,它存储VSIPL访问数据数组所需的信息;数据组为用于数据存储的内存;The object is an abstract data type that stores the information needed by VSIPL to access the data array; the data group is the memory used for data storage;
视图由感兴趣的数据的VSIPL块和视图对象组成,视图对象用于存储VSIPL访问感兴趣的数据所需的信息。A view consists of a VSIPL block of the data of interest and a view object, which stores the information that the VSIPL needs to access the data of interest.
本发明构建方法具有通用性,多态性的含义既可以表示将不同平台的专用函数库接口统一化,也可以表示此构建方式能够适用于其他领域,比如图像处理、机器学习、人工智能等领域。The construction method of the present invention is universal, and the meaning of polymorphism can not only indicate the unification of special function library interfaces of different platforms, but also indicate that this construction method can be applied to other fields, such as image processing, machine learning, artificial intelligence and other fields.
雷达程序开发者利用本发明方法可以构建一套比较完备的基础数学函数库;该函数库向上层提供统一的接口API,具备高性能的同时还具有良好的可移植性和可扩展性。使用该方法开发雷达基础函数库,提高了雷达应用组件开发人员的开发效率。另外,该函数库的设计具有通用性,不仅仅可以用于雷达信号处理领域,其他领域也可适用。Radar program developers can build a set of relatively complete basic mathematical function library by using the method of the invention; the function library provides a unified interface API to the upper layer, has high performance and good portability and scalability. Using this method to develop radar basic function library improves the development efficiency of radar application component developers. In addition, the design of the function library is versatile, not only can be used in the field of radar signal processing, but also applicable to other fields.
本发明的有益效果是:The beneficial effects of the present invention are:
(1)通过VSIPL统一工业标准API封装后的基础函数库有助于雷达应用程序开发人员更加高效便捷的实现雷达信号处理任务,无需在复杂的函数接口上耗费时间,提高了雷达应用程序软件的开发效率;(1) The basic function library encapsulated by the VSIPL unified industry standard API helps radar application developers to realize radar signal processing tasks more efficiently and conveniently, without spending time on complex function interfaces, and improves the development efficiency of radar application software;
(2)利用VSIPL提供的与平台无关的标准接口API,能够保证算法函数在不同平台上的接口是固定的,实现一次编写,多平台运行。(2) Using the platform-independent standard interface API provided by VSIPL can ensure that the interface of the algorithm function on different platforms is fixed, and realize writing once and running on multiple platforms.
附图说明Description of drawings
图1为统一工业标准接口VSIPL程序的构建流程;Fig. 1 is the construction process of the unified industry standard interface VSIPL program;
图2一种软件化雷达基础函数库多态性的构建过程;Fig. 2 A construction process of software-based radar basic function library polymorphism;
图3并行计算编程模型框架;Figure 3 Parallel Computing Programming Model Framework;
图4为VSIPL原生库和采用VSIPL封装MKL库的串行计算对比;Figure 4 is a comparison of serial calculations between the VSIPL native library and the VSIPL-encapsulated MKL library;
图5为VSIPL原生库和采用VSIPL封装MKL库的向量运算对比;Figure 5 is a comparison of vector operations between the VSIPL native library and the VSIPL-encapsulated MKL library;
图6为VSIPL原生库、采用VSIPL封装FFTW以及采用VSIPL封装MKL库的FFT快速傅里叶变换对比;Figure 6 is a comparison of the FFT Fast Fourier Transform of the VSIPL native library, the FFTW packaged with VSIPL, and the MKL library packaged with VSIPL;
图7为VSIPL原生库和封装DSPLIB的矩阵相乘实验结果。Figure 7 shows the matrix multiplication experiment results of VSIPL native library and package DSPLIB.
具体实施方式Detailed ways
软件化雷达并行计算模型的设计实现:Design and implementation of software-based radar parallel computing model:
软件化雷达并行计算模型框架设计原则包括:1)并行编程难度低,雷达应用软件开发人员能够快速有效的开发并行程序,并充分发挥硬件平台的并行计算性能;2)继承性。支持将现有的大量串行软件以一种非颠覆式的方式快速并行化;3)平台无关性。雷达应用软件不依赖于硬件平台,当底层计算平台发生变化时仍可以有效运行;4)专业性。面向不同领域的具体需求进行开发设计;5)可扩展性。可根据需要对底层函数库进行扩展。The design principles of the software-based radar parallel computing model framework include: 1) The difficulty of parallel programming is low, and radar application software developers can quickly and effectively develop parallel programs, and give full play to the parallel computing performance of the hardware platform; 2) Inheritance. Support the rapid parallelization of a large number of existing serial software in a non-subversive manner; 3) platform independence. The radar application software does not depend on the hardware platform, and can still run effectively when the underlying computing platform changes; 4) Professionalism. Develop and design for the specific needs of different fields; 5) Scalability. The underlying function library can be extended as needed.
并行计算编程模型用于屏蔽普适计算环境的异构性和动态性,由基础函数库、雷达专用功能函数库、雷达计算资源运行时函数库以及计算实时性QoS函数库构成,并为应用软件组件提供统一的API接口,如图2所示。并行计算编程模型的设计原则主要包括以下几点:The parallel computing programming model is used to shield the heterogeneity and dynamics of the ubiquitous computing environment. It consists of a basic function library, a radar-specific function library, a radar computing resource runtime function library, and a real-time QoS function library. It also provides a unified API interface for application software components, as shown in Figure 2. The design principles of the parallel computing programming model mainly include the following points:
1)上层应用软件开发人员不必了解并行计算的实现细节。并行计算编程模型提供与传统串行编程类似的软件编程接口,雷达系统应用软件开发人员可以按照串行程序的开发模式快速开发并行程序,并且支持以非颠覆式的方式将现有大量的雷达系统串行应用软件快速并行化。1) Developers of upper-layer application software do not need to understand the implementation details of parallel computing. The parallel computing programming model provides a software programming interface similar to traditional serial programming. Developers of radar system application software can quickly develop parallel programs according to the development mode of serial programs, and support the rapid parallelization of a large number of existing radar system serial application software in a non-subversive manner.
2)支持雷达上层应用软件组件与底层硬件平台解耦合。当雷达硬件计算平台发生改变时,上层应用软件组件无需修改即可在新的平台上高效运行,充分发挥新平台的硬件性能。2) Support the decoupling of the upper layer application software components of the radar and the underlying hardware platform. When the radar hardware computing platform changes, the upper-layer application software components can run efficiently on the new platform without modification, and give full play to the hardware performance of the new platform.
3)支持应用软件组件内部运行实体多种映射模式、支持上层应用软件组件对硬件资源的高效管理。通过运行时函数,上层应用软件组件可以获取系统硬件资源的状态和内存占用信息等,由雷达系统设计人员负责动态调整运行实体的优先级,实现系统资源的负载平衡,充分发挥硬件资源的效能,实现高效计算。3) Support multiple mapping modes for the internal operation entities of application software components, and support efficient management of hardware resources by upper-layer application software components. Through the runtime function, the upper layer application software components can obtain the status of the system hardware resources and memory usage information, etc., and the radar system designer is responsible for dynamically adjusting the priority of the running entity, realizing the load balance of the system resources, giving full play to the effectiveness of the hardware resources, and realizing efficient computing.
4)具有可扩展性。编程模型支持并行计算的功能可扩展和计算平台可扩展,能够匹配雷达系统新的功能需求和硬件平台的不断发展。4) It is scalable. The programming model supports the scalable function and computing platform of parallel computing, which can match the new functional requirements of the radar system and the continuous development of the hardware platform.
5)具有计算实时性QoS机制。支持上层应用软件组件控制雷达系统的运行速度和实时性。上层软件可以独立配置每一个数据流的实时性需求,QoS函数库能够按照实时性的具体需求,控制其运行速度和实时性。5) It has a real-time QoS mechanism for calculation. Support the upper application software components to control the operating speed and real-time performance of the radar system. The upper-layer software can independently configure the real-time requirements of each data flow, and the QoS function library can control its running speed and real-time performance according to the specific real-time requirements.
基于上述设计原则,所设计的并行计算编程模型的系统结构框架如图3所示。Based on the above design principles, the system structure framework of the designed parallel computing programming model is shown in Figure 3.
用于VSIPL标准接口封装的函数接口:Functional interface for VSIPL standard interface encapsulation:
VSIPL最新规范中有979个函数,全部进行重新封装工作量大,而且实际上也不需要那么多。通过VSIPL库的评估,目前只针对三角函数、向量运算、矩阵运算、FFT运算相关的雷达信号处理领域常用的函数,基于Intel的MKL专用函数库、TI的MATHLIB和DSPLIB以及常用的傅里叶变换库FFTW进行封装。There are 979 functions in the latest specification of VSIPL, and it takes a lot of work to repackage all of them, and in fact, there are not so many functions. Through the evaluation of the VSIPL library, currently only the functions commonly used in the field of radar signal processing related to trigonometric functions, vector operations, matrix operations, and FFT operations are packaged based on Intel's MKL special function library, TI's MATHLIB and DSPLIB, and the commonly used Fourier transform library FFTW.
基础函数中间件的构建步骤如图1所示:The construction steps of the basic function middleware are shown in Figure 1:
1)利用VSIPL函数创建VSIPL块;1) Use the VSIPL function to create a VSIPL block;
2)创建VSIPL块对应的视图;2) Create a view corresponding to the VSIPL block;
3)创建基础函数的对象;基础函数包括向量、矩阵、三角函数和快速傅里叶变换FFT;3) Create the object of the basic function; the basic function includes vector, matrix, trigonometric function and fast Fourier transform FFT;
4)将数据与对象绑定;4) Bind data to objects;
5)将VSIPL块放到VSIPL数据空间;5) Put the VSIPL block into the VSIPL data space;
6)调用VSIPL标准接口的函数处理视图;6) Call the function processing view of the VSIPL standard interface;
7)对VSIPL函数的底层实现进行替换:先在VSIPL函数的内部使用C语言创建一个临时交互空间用于数据交互使用,继而从VSIPL数据空间中读取数据放到临时交互空间中,并选择适应当前硬件平台的专用库执行基础函数运算,运算完成后将计算结果写回VSIPL的数据空间中,至此已实现VSIPL标准统一接口对不同硬件平台专用库的封装;7) Replace the underlying implementation of the VSIPL function: first use C language to create a temporary interactive space inside the VSIPL function for data interactive use, then read data from the VSIPL data space and put it in the temporary interactive space, and select a special library suitable for the current hardware platform to perform basic function calculations. After the calculation is completed, the calculation results are written back to the VSIPL data space. So far, the VSIPL standard unified interface has been implemented to package special libraries for different hardware platforms;
8)创建基础函数的对象及视图删除,释放所有资源,结束整个VSIPL程序。8) Delete the object and view of the basic function, release all resources, and end the entire VSIPL program.
VSIPL块为在VSIPL程序中存储数据的连续内存区域;A VSIPL block is a contiguous memory area that stores data in a VSIPL program;
对象为一种抽象的数据类型,它存储VSIPL访问数据数组所需的信息;数据组为用于数据存储的内存;The object is an abstract data type that stores the information needed by VSIPL to access the data array; the data group is the memory used for data storage;
视图由感兴趣的数据的VSIPL块和视图对象组成,视图对象用于存储VSIPL访问感兴趣的数据所需的信息。A view consists of a VSIPL block of the data of interest and a view object, which stores the information that the VSIPL needs to access the data of interest.
VSIPL原生库和封装专用函数库后的基础库进行性能对比验证:VSIPL native library and the basic library after encapsulating the special function library are compared and verified for performance:
基于上面所述软件化雷达基础函数库多态性构建方法,进行相关实验验证,实验硬件平台参数如表1所示:Based on the polymorphic construction method of the software-based radar basic function library described above, relevant experimental verification is carried out. The parameters of the experimental hardware platform are shown in Table 1:
表1实验硬件平台参数Table 1 Experimental hardware platform parameters
基于实验平台1,采用VSIPL标准接口对雷达信号处理常用的向量、矩阵、FFT进行封装。在实验平台1上选择MKL作为底层库,并选取了MKL库中的向量求cos、矩阵相乘以及二维FFT作为验证VSIPL封装MKL库和VSIPL原生库的性能对比实验;Based on the experimental platform 1, the VSIPL standard interface is used to package the vector, matrix and FFT commonly used in radar signal processing. On the experimental platform 1, MKL was selected as the underlying library, and the vector calculation cos, matrix multiplication and two-dimensional FFT in the MKL library were selected as the performance comparison experiments to verify the performance of the VSIPL package MKL library and the VSIPL native library;
实验测试数据见表2、表3,本次测试结果是通过多次执行取平均后获得,对这五次实测数据描述如下。The experimental test data are shown in Table 2 and Table 3. The test results of this test are obtained after taking the average of multiple executions. The description of the five actual test data is as follows.
表2基础函数库的测试验证数据Table 2 Test verification data of basic function library
表3是采用VSIPL标准接口封装FFTW库中FFT算法后的执行结果,测试数据是通过五次独立重复实验求平均后获得。Table 3 shows the execution results after encapsulating the FFT algorithm in the FFTW library using the VSIPL standard interface. The test data is obtained after averaging five independent repeated experiments.
表3VSIPL接口封装FFTW库FFT执行结果(单位秒)Table 3 VSIPL interface package FFTW library FFT execution results (in seconds)
MKL库和VSIPL原生库矩阵相乘、向量运算接口定义如表4所示。MKL库中矩阵运算cblas_sgemm的接口参数有14个,较为复杂,而VSIPL原生库中矩阵运算vsip_mprod_f的接口参数只有3个,方便应用层软件开发人员调用。Table 4 shows the matrix multiplication and vector operation interface definitions of the MKL library and the VSIPL native library. There are 14 interface parameters for the matrix operation cblas_sgemm in the MKL library, which is relatively complex, while there are only 3 interface parameters for the matrix operation vsip_mprod_f in the VSIPL native library, which is convenient for application layer software developers to call.
表4MKL库和VSIPL原生库矩阵相乘、向量运算接口Table 4 MKL library and VSIPL native library matrix multiplication, vector operation interface
MKL库、FFTW库和VSIPL原生库FFT运算接口参数见表5,其中VSIPL原生库的FFT接口简便易懂,FFTW库和MKL库中的FFT较为复杂。The FFT operation interface parameters of MKL library, FFTW library and VSIPL native library are shown in Table 5. The FFT interface of VSIPL native library is simple and easy to understand, while the FFT in FFTW library and MKL library is more complicated.
表5MKL库、FFTW库和VSIPL原生库FFT运算接口Table 5 MKL library, FFTW library and VSIPL native library FFT operation interface
基础函数库VSIPL统一接口封装试验测试结果分析:Analysis of the test results of the basic function library VSIPL unified interface encapsulation test:
如图4所示,在矩阵阶数2000阶时,采用VSIPL原生库计算用时29.8876s,比单核上用串行程序计算(在实验平台1上64.37s)快了一倍多,但是与封装了MKL库相比,还是显得慢了许多。由此可见,采用VSIPL接口封装MKL库矩阵运算充分发挥了MKL库在Intel平台上的高性能,而且接口也没有MKL那么复杂,实现了接口的统一。As shown in Figure 4, when the matrix order is 2000, the calculation time using the VSIPL native library is 29.8876s, which is more than twice as fast as the calculation using the serial program on the single core (64.37s on the experimental platform 1), but compared with the packaged MKL library, it is still much slower. It can be seen that the use of the VSIPL interface to encapsulate the matrix operation of the MKL library gives full play to the high performance of the MKL library on the Intel platform, and the interface is not as complicated as MKL, realizing the unification of the interface.
如图5所示,在向量长度比较小时,采用VSIPL原生库的向量运算执行效率相对高些,随着向量长度的逐渐增大,采用VSIPL接口封装MKL后的向量运算更加高效。As shown in Figure 5, when the vector length is relatively small, the execution efficiency of the vector operation using the VSIPL native library is relatively high. As the vector length gradually increases, the vector operation after using the VSIPL interface to encapsulate MKL is more efficient.
如图6所示,采用VSIPL封装FFTW以及采用VSIPL封装MKL库后的FFT快速傅里叶变换的计算效率都获得了很大的提升,而且经过VSIPL封装后的FFT接口具有标准性,更加方便上层应用软件组件调用,也为跨平台移植提供了坚实的保障。As shown in Figure 6, the calculation efficiency of FFT Fast Fourier Transform after VSIPL packaging FFTW and VSIPL packaging MKL library has been greatly improved, and the FFT interface after VSIPL packaging is standardized, which is more convenient for upper-layer application software components to call, and also provides a solid guarantee for cross-platform transplantation.
在实验平台2上,选择MATHLIB、DSPLIB作为底层库。实验环境是CCS7.2,处理器是c66x,实验平台为TL5728嵌入式处理平台。为了减小误差,每次实验取五次后的平均值,实验数据如表6、表7所示。实验结果如图7所示,采用VSIPL原生库200阶矩阵相乘的计算时间为14.77秒,采用VSIPL封装DSPLIB库后的计算时间为1.896秒,加速比为7.794,加速效果明显。On the experimental platform 2, MATHLIB and DSPLIB are selected as the underlying library. The experimental environment is CCS7.2, the processor is c66x, and the experimental platform is TL5728 embedded processing platform. In order to reduce the error, the average value after five experiments was taken for each experiment, and the experimental data are shown in Table 6 and Table 7. The experimental results are shown in Figure 7. The calculation time of 200-order matrix multiplication using VSIPL native library is 14.77 seconds, and the calculation time after using VSIPL to encapsulate DSPLIB library is 1.896 seconds, and the acceleration ratio is 7.794. The acceleration effect is obvious.
表6VSIPL原生库矩阵相乘执行结果Table 6 VSIPL native library matrix multiplication execution results
表7VSIPL接口封装DSP库矩阵相乘执行结果Table 7 VSIPL interface package DSP library matrix multiplication execution results
此外,还进行了1000*1000的百万级数据量的测试对比实验,获得的测试结果如下:VSIPL原生库需要20分钟才能执行完,封装DSPLIB后50秒的时间即可完成计算,加速比为24。实验结果表明,在具有统一接口的前提下,封装专用库后的基础函数库还具有较好的计算能力,可以做到统一接口、高性能、可移植兼具。In addition, a test comparison experiment with a million-level data volume of 1000*1000 was also carried out, and the obtained test results are as follows: the VSIPL native library needs 20 minutes to execute, and the calculation can be completed in 50 seconds after packaging DSPLIB, with a speedup ratio of 24. The experimental results show that under the premise of having a unified interface, the basic function library after encapsulating the special library has better computing power, and can achieve a unified interface, high performance, and portability.
Claims (5)
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| CN202010320291.8A CN111580790B (en) | 2020-04-22 | 2020-04-22 | A Construction Method for Software Radar Middleware |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| CN202010320291.8A CN111580790B (en) | 2020-04-22 | 2020-04-22 | A Construction Method for Software Radar Middleware |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| CN111580790A CN111580790A (en) | 2020-08-25 |
| CN111580790B true CN111580790B (en) | 2023-07-21 |
Family
ID=72113720
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| CN202010320291.8A Active CN111580790B (en) | 2020-04-22 | 2020-04-22 | A Construction Method for Software Radar Middleware |
Country Status (1)
| Country | Link |
|---|---|
| CN (1) | CN111580790B (en) |
Families Citing this family (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN115408058A (en) * | 2021-09-07 | 2022-11-29 | 中国电子科技集团公司第十四研究所 | Cross-platform computing technology for radar software |
Citations (4)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN103019744A (en) * | 2012-12-31 | 2013-04-03 | 清华大学 | Computing middleware-based radar signal processing module library construction method and application thereof |
| CN109101348A (en) * | 2018-08-07 | 2018-12-28 | 武汉滨湖电子有限责任公司 | A kind of Radar Signal Processing cluster platform and software convenient for extension implementation method |
| CN109884915A (en) * | 2018-12-04 | 2019-06-14 | 中国航空无线电电子研究所 | A kind of embedded software running platform designing method and its emulation platform based on DDS |
| CN110989983A (en) * | 2019-11-28 | 2020-04-10 | 深圳航天智慧城市系统技术研究院有限公司 | A Zero-Code Application Software Rapid Construction System |
Family Cites Families (6)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US20050060137A1 (en) * | 2003-09-12 | 2005-03-17 | Lanus Mark S. | Method and apparatus to emulate an execution environment |
| JP5242628B2 (en) * | 2010-05-06 | 2013-07-24 | 株式会社スクウェア・エニックス | A high-level language that improves programmer productivity in game development |
| CN107153547A (en) * | 2017-05-15 | 2017-09-12 | 电子科技大学 | A kind of software implementation radar storehouse mode signal handles middleware |
| CN108829377A (en) * | 2018-05-10 | 2018-11-16 | 芜湖航飞科技股份有限公司 | A kind of detection based on radar and communication for coordination integrated system |
| CN109451070B (en) * | 2018-12-29 | 2022-03-25 | 重庆华渝电气集团有限公司 | Communication method and middleware of multifunctional display and control console |
| CN109947416A (en) * | 2019-03-15 | 2019-06-28 | 电子科技大学 | A Construction Method of Software-based Radar Cross-Platform Universal Parallel Computing Library |
-
2020
- 2020-04-22 CN CN202010320291.8A patent/CN111580790B/en active Active
Patent Citations (4)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN103019744A (en) * | 2012-12-31 | 2013-04-03 | 清华大学 | Computing middleware-based radar signal processing module library construction method and application thereof |
| CN109101348A (en) * | 2018-08-07 | 2018-12-28 | 武汉滨湖电子有限责任公司 | A kind of Radar Signal Processing cluster platform and software convenient for extension implementation method |
| CN109884915A (en) * | 2018-12-04 | 2019-06-14 | 中国航空无线电电子研究所 | A kind of embedded software running platform designing method and its emulation platform based on DDS |
| CN110989983A (en) * | 2019-11-28 | 2020-04-10 | 深圳航天智慧城市系统技术研究院有限公司 | A Zero-Code Application Software Rapid Construction System |
Non-Patent Citations (1)
| Title |
|---|
| 软件化雷达中间件的研究和设计;仲鸣;《中国优秀硕士学位论文全文数据库信息科技辑》(第02期);I136-1307 * |
Also Published As
| Publication number | Publication date |
|---|---|
| CN111580790A (en) | 2020-08-25 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| Kaeli et al. | Heterogeneous computing with OpenCL 2.0 | |
| Gupta et al. | A study of persistent threads style GPU programming for GPGPU workloads | |
| Xu et al. | Graph processing on GPUs: Where are the bottlenecks? | |
| US8589867B2 (en) | Compiler-generated invocation stubs for data parallel programming model | |
| Ernsting et al. | Algorithmic skeletons for multi-core, multi-GPU systems and clusters | |
| Ben-Nun et al. | Memory access patterns: The missing piece of the multi-GPU puzzle | |
| CN103019744B (en) | The construction method of Radar Signal Processing module library based on calculating middleware and application | |
| Plishker et al. | Applying graphics processor acceleration in a software defined radio prototyping environment | |
| Bodin et al. | Heterogeneous multicore parallel programming for graphics processing units | |
| Rasch et al. | dOCAL: high-level distributed programming with OpenCL and CUDA | |
| CN111580790B (en) | A Construction Method for Software Radar Middleware | |
| Hiesgen et al. | OpenCL Actors–Adding Data Parallelism to Actor-Based Programming with CAF | |
| de Jong et al. | An environmental modelling framework based on asynchronous many-tasks: Scalability and usability | |
| Wrede et al. | Simultaneous CPU–GPU execution of data parallel algorithmic skeletons | |
| Gonzàlez‐Tallada et al. | Compute units in OpenMP: Extensions for heterogeneous parallel programming | |
| Incardona et al. | A portable C++ library for memory and compute abstraction on multi‐core CPUs and GPUs | |
| Gray et al. | Exposing non-standard architectures to embedded software using compile-time virtualisation | |
| Paulin | Programming challenges & solutions for multi-processor SoCs: an industrial perspective | |
| Parashar et al. | LEAP: A virtual platform architecture for FPGAs | |
| He et al. | NestedMP: enabling cache-aware thread mapping for nested parallel shared memory applications | |
| Diez Dolinski et al. | Distributed simulation of P systems by means of map-reduce: first steps with Hadoop and P-Lingua | |
| Rodriguez-Canal et al. | Programming abstractions for preemptive scheduling on FPGAs using partial reconfiguration | |
| Kessler et al. | Skeleton Programming for Portable Many‐Core Computing | |
| Ilić et al. | CHPS: an environment for collaborative execution on heterogeneous desktop systems | |
| Edwards et al. | Run-time support for dynamically reconfigurable computing systems |
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 |