GPU internal high-speed data real-time observation method

Through terminal control and CPU coordination, high-speed real-time observation of internal GPU data is achieved, solving the problem that large-scale internal GPU data cannot be directly observed, improving data acquisition efficiency and ensuring real-time performance of normal work.

CN119440945APending Publication Date: 2025-02-14CHINA NORTH IND CORP +1
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
CN202411473344.4
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2024-10-22
Publication Date
2025-02-14

AI Technical Summary

Technical Problem

In the GPU computing platform, large-scale data inside the GPU cannot be directly observed, resulting in the data acquisition time far exceeding the computing time, affecting the efficient use of the GPU.

Method used

The terminal controls the data type, number and position of the acquisition, and sends parameters to the CPU. The CPU controls whether the GPU collects data in each working cycle, and sends the collected data from the GPU to the CPU, and finally summarizes it by the CPU's data access thread. and save as file.

Benefits of technology

It realizes high-speed real-time observation of internal GPU data, avoids invalid data output, improves data efficiency, and performs data acquisition without affecting normal work.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN119440945A_ABST
    Figure CN119440945A_ABST
Patent Text Reader

Abstract

The invention relates to a GPU internal high-speed data real-time observation method, and belongs to the field of computer communication. According to the method, the problem that GPU data are not easy to observe is solved in the mode that the CPU forwards the data and stores the data into the data file. The type and the number of times are selected and controlled through the terminal, data needing to be collected are accurately output, invalid data output is avoided, and the data efficiency is improved. Through a multi-thread technology and a queue buffering technology, idle bandwidth between normal working frames is effectively utilized to carry out data acquisition work. And through parallel processing, the relatively slow file writing time is effectively hidden, and normal work is not influenced.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The invention belongs to the field of computer communication, and in particular relates to a real-time observation method for high-speed data inside a GPU. Background Art

[0002] As radar's requirements for detection range and accuracy increase and various complex algorithms are added, traditional radar computing power can no longer meet the requirements for massive data calculations. GPU-based servers are increasingly used in radar signal processors.

[0003] For high-performance GPU computing platforms, independent GPU boards are generally used as computing coprocessors, while CPU boards are used as main control processors. For users, data stored in CPU memory is easy to obtain and observe, while data in GPU memory cannot be obtained directly and must be obtained indirectly through the CPU.

[0004] The core computing process of the signal processor using GPU architecture is mainly implemented by GPU. During radar operation or debugging, it is often necessary to observe the intermediate data of multiple key nodes, but the bandwidth of the data channel between CPU and GPU is relatively limited. At the same time, each GPU data input and output takes up a certain amount of time resources. If the data throughput time far exceeds the computing time, then the use of GPU is meaningless. How to complete the data observation task without affecting the normal necessary working time consumption is one of the core issues that need to be solved in order to make efficient use of GPU computing platform. Summary of the invention

[0005] 1. Technical issues to be resolved

[0006] The technical problem to be solved by the present invention is how to provide a method for real-time observation of high-speed data inside a GPU to solve the problem that large-scale data inside a GPU cannot be directly observed.

[0007] (II) Technical solution

[0008] In order to solve the above technical problems, the present invention proposes a method for real-time observation of high-speed data inside a GPU, the method comprising the following steps:

[0009] S11, controlling the data type, number of acquisitions and acquisition position of the acquisition through the terminal, and sending the parameters to the CPU;

[0010] S12, the CPU controls the GPU in each working cycle to determine whether it needs to perform data collection in the current cycle;

[0011] S13, GPU collects data and sends it to CPU;

[0012] S14, the data access thread of the CPU aggregates the data and saves each data into different files;

[0013] S15. Display or analyze a data file through analysis software.

[0014] The present invention also provides a method for real-time observation of high-speed data inside a GPU, the method comprising the following steps:

[0015] S21, control data acquisition parameters through the terminal, and send a control message to the CPU, where the control message carries the acquisition parameters;

[0016] S22, the control message receiving thread on the CPU side cyclically receives the control message and stores the control message in the control message queue;

[0017] S23, the signal processing thread on the CPU side obtains radar signal data in real time and then performs radar signal processing;

[0018] S24, the signal processing thread on the CPU side obtains the control message from the control message queue, and if it is not empty, parses the control message and updates the control parameters, namely the type of collected data, the number of collections, and the frame number;

[0019] S25, the signal processing thread on the CPU side determines whether the acquisition times in the control parameter is greater than 0 and whether the frame number is consistent with the frame number of the radar signal data. If yes, jump to step S26, otherwise jump to step S23;

[0020] S26, the signal processing thread on the CPU side copies the specified type of collected data from the GPU memory to the CPU according to the control parameters, and adds it to the storage queue;

[0021] S27, the signal processing thread on the CPU side reduces the number of control parameter acquisition times by 1, and jumps to step S23;

[0022] S28. The storage thread on the CPU side cyclically reads the storage data from the storage queue. If the queue is not empty, the queue is written into different files according to the data type.

[0023] (III) Beneficial effects

[0024] The present invention proposes a method for real-time observation of high-speed data inside a GPU. The present invention proposes a method for quickly collecting a large amount of process data inside a GPU for observation. The method can be used for intermediate data observation in a GPU architecture server, including but not limited to radar signal processing. The present invention solves the problem that GPU data is difficult to observe by forwarding data through the CPU and saving it into a data file. The terminal is used to select and control the type and number of times, accurately output the data that needs to be collected, avoid invalid data output, and improve data efficiency. Through multi-threading technology and queue buffering technology, the idle bandwidth between normal working frames is effectively utilized for data collection. Parallel processing effectively hides the relatively slow file writing time without affecting the normal operation.

[0025] The present invention has the following beneficial effects:

[0026] 1) Solved the problem that large-scale data inside the GPU cannot be directly observed;

[0027] 2) Data collection and normal work are carried out simultaneously without interrupting the current work task, and the real-time nature of normal work is guaranteed;

[0028] 3) It can continuously collect multiple data within a certain range. BRIEF DESCRIPTION OF THE DRAWINGS

[0029] Figure 1 A flowchart of the implementation steps of the method for real-time observation of high-speed data inside a GPU of the present invention;

[0030] Figure 2 Terminal control software developed for debugging of radar signal processing of a certain model;

[0031] Figure 3 Storing results of GPU data of different data types for a certain model of radar signal processing module;

[0032] Figure 4 This is the Matlab analysis result of MTD type data. DETAILED DESCRIPTION

[0033] In order to make the purpose, content and advantages of the present invention more clear, the specific implementation methods of the present invention are further described in detail below in conjunction with the drawings and examples.

[0034] Based on the above analysis, the present invention proposes a method for real-time observation of high-speed data inside a GPU in a scientific computing scenario. This method can collect random or specified intermediate process data for data observation or data analysis without affecting the normal operation of the GPU.

[0035] The technical solution to the problem of the present invention is: the user specifies the data type and the number of acquisitions to be collected through the terminal control software. The server program stores the result in the GPU memory after the calculation of each functional module is completed. After completing a cycle of data processing, the corresponding data is sent from the GPU to the CPU according to the control parameters, and then all the data is saved in the local disk through other threads.

[0036] The present invention proposes a method for real-time observation of high-speed data inside a GPU in a scientific computing scenario. The method can collect random or designated intermediate process data for data observation or data analysis without affecting the normal operation of the GPU. The technical solution to the problem solved by the present invention is that the user specifies the type of data to be collected and the number of collections through the terminal control software. The server program stores the result in the GPU video memory after the calculation of each functional module is completed. After completing a cycle of data processing, the corresponding data is sent from the GPU to the CPU according to the control parameters, and then all the data is saved in the local disk through other threads.

[0037] The present invention implements the steps as follows:

[0038] S11, controlling the data type, number of acquisitions, and acquisition position of the acquisition through the terminal, and sending the parameters to the CPU;

[0039] S12, the CPU controls the GPU in each working cycle to determine whether it needs to perform data collection in the current cycle;

[0040] S13, GPU collects data and sends it to CPU;

[0041] S14, the data access thread of the CPU aggregates the data and saves each data into different files;

[0042] S15. Display or analyze a data file through analysis software.

[0043] Embodiment 1:

[0044] The CPU of the present invention adopts multi-threaded parallel processing to control message reception, parsing and data file storage. Figure 1 The specific implementation steps of the method proposed in the present invention are as follows:

[0045] S21, control the data acquisition parameters through the terminal, and send a control message to the CPU, which carries the acquisition parameters. Taking radar signal processing as an example, use something like Figure 2The terminal control software shown sets the acquisition parameters and sends the acquisition control message to the CPU via Ethernet. The control message includes: acquisition times, designated acquisition frame number, acquisition beam number, acquisition data type, etc. The acquisition data type mainly includes: pulse pressure data, sidelobe cancellation data, MTD data, CFAR data, sidelobe blanking data, clutter map detection data, condensation results, etc. One or more acquisition data types can be specified for each acquisition. If the acquisition frame number is not specified, the intermediate data of the current frame is acquired.

[0046] S22. The control message receiving thread on the CPU side cyclically receives control messages and stores the control messages in a control message queue.

[0047] S23, after the signal processing thread on the CPU side obtains the radar signal data in real time, it performs radar signal processing, mainly including pulse compression, sidelobe cancellation, MTD, CFAR, sidelobe blanking, clutter map detection, condensation and other processing.

[0048] S24, the signal processing thread on the CPU side obtains the control message from the control message queue. If it is not empty, the control message is parsed and the control parameters, namely, the type of collected data, the number of collections and the frame number, are updated.

[0049] S25, the signal processing thread on the CPU side determines whether the acquisition times in the control parameter is greater than 0 and whether the frame number is consistent with the frame number of the radar signal data. If yes, jump to step S26, otherwise jump to step S23;

[0050] S26, the signal processing thread on the CPU side copies the specified type of collected data from the GPU memory to the CPU according to the control parameters, and adds it to the storage queue;

[0051] S27, the signal processing thread on the CPU side reduces the number of control parameter acquisition times by 1, and jumps to step S23;

[0052] S28. The storage thread on the CPU side cyclically reads the storage data from the storage queue. If the queue is not empty, the queue is written into different files according to the data type.

[0053] Furthermore, in S26, the server program stores the result in the GPU memory after the calculation of each functional module is completed. After completing a cycle of data processing, the signal processing thread on the CPU side sends the corresponding data from the GPU to the CPU according to the control parameters;

[0054] Furthermore, in S28, the storage thread on the CPU side saves the data in the storage queue in the form of a data file in the local disk.

[0055] Furthermore, after S28, the step further includes: using matlab to analyze the collected data files.

[0056] Embodiment 2:

[0057] use Figure 2 The terminal control software shown collects intermediate data of the signal processing module of a certain model of radar based on CPU+GPU architecture.

[0058] The 154489th frame of a certain radar signal processing module was collected, including the input data, pulse compression data, sidelobe cancellation data, MTD data, CFAR data, sidelobe blanking data, clutter map detection data, and condensation data of 11 beams. The results are as follows: Figure 3 shown.

[0059] Use matlab to analyze the collected MTD type data file and get the MTD result of the first beam as follows Figure 4 shown.

[0060] The present invention has been applied to multiple radars using GPU server architecture, and has undergone a complete radar debugging process, greatly improving the efficiency of radar data analysis. For example, on a certain model of radar, 12 types of node data can be extracted by this method. In actual use, 5 beams and 2 data types are extracted per frame, and 100 frames are extracted continuously without affecting the normal operation of the radar. The total amount of extracted data is about 5GB. In actual use, it can meet the debugging requirements.

[0061] The present invention proposes a method for quickly collecting a large amount of process data inside a GPU for observation. The method can be used for intermediate data observation in a GPU architecture server, including but not limited to radar signal processing. The present invention solves the problem that GPU data is difficult to observe by forwarding data through the CPU and saving it into a data file. The type and number of times are selected and controlled by the terminal, and the data to be collected is accurately output, which avoids invalid data output and improves data efficiency. Through multi-threading technology and queue buffering technology, the idle bandwidth between normal working frames is effectively utilized for data collection. Parallel processing effectively hides the relatively slow file writing time without affecting the normal operation.

[0062] The present invention has the following beneficial effects:

[0063] 1) Solved the problem that large-scale data inside the GPU cannot be directly observed;

[0064] 2) Data collection and normal work are carried out simultaneously without interrupting the current work task, and the real-time nature of normal work is guaranteed;

[0065] 3) It can continuously collect multiple data within a certain range.

[0066] The above is only a preferred embodiment of the present invention. It should be pointed out that for ordinary technicians in this technical field, several improvements and modifications can be made without departing from the technical principles of the present invention. These improvements and modifications should also be regarded as the scope of protection of the present invention.

Claims

1. A real-time observation method for high-speed data inside a GPU, characterized in that: The method comprises the following steps: S11, controlling the data type, number of acquisitions and acquisition position of the acquisition through the terminal, and sending the parameters to the CPU; S12, the CPU controls the GPU in each working cycle to determine whether it needs to perform data collection in the current cycle; S13, GPU collects data and sends it to CPU; S14, the data access thread of the CPU aggregates the data and saves each data into different files; S15. Display or analyze a data file through analysis software.

2. The method for real-time observation of high-speed data inside a GPU according to claim 1, wherein: The data collected by S13 is the intermediate data of the signal processing module of a certain model of radar based on CPU+GPU architecture.

3. A real-time observation method for high-speed data inside a GPU, characterized in that: The method comprises the following steps: S21, control data acquisition parameters through the terminal, and send a control message to the CPU, where the control message carries the acquisition parameters; S22, the control message receiving thread on the CPU side cyclically receives the control message and stores the control message in the control message queue; S23, the signal processing thread on the CPU side obtains radar signal data in real time and then performs radar signal processing; S24, the signal processing thread on the CPU side obtains the control message from the control message queue, and if it is not empty, parses the control message and updates the control parameters, namely the type of collected data, the number of collections, and the frame number; S25, the signal processing thread on the CPU side determines whether the acquisition times in the control parameter is greater than 0 and whether the frame number is consistent with the frame number of the radar signal data. If yes, jump to step S26, otherwise jump to step S23; S26, the signal processing thread on the CPU side copies the specified type of collected data from the GPU memory to the CPU according to the control parameters, and adds it to the storage queue; S27, the signal processing thread on the CPU side reduces the number of control parameter acquisition times by 1, and jumps to step S23; S28. The storage thread on the CPU side cyclically reads the storage data from the storage queue. If the queue is not empty, the queue is written into different files according to the data type.

4. The method for real-time observation of high-speed data inside a GPU as claimed in claim 3, characterized in that: In S21, the terminal control software is used to set the acquisition parameters, and the acquisition control message is sent to the CPU end via Ethernet.

5. The method for real-time observation of high-speed data inside a GPU as claimed in claim 4, characterized in that: The control message includes: the number of acquisitions, the specified acquisition frame number, the acquisition beam number and the acquisition data type. Each acquisition specifies one or more acquisition data types. If the acquisition frame number is not specified, the intermediate data of the current frame is acquired.

6. The method for real-time observation of high-speed data inside a GPU as claimed in claim 5, characterized in that: The data types collected include: pulse pressure data, sidelobe cancellation data, MTD data, CFAR data, sidelobe blanking data, clutter map detection data and condensation results.

7. The method for real-time observation of high-speed data inside a GPU as claimed in claim 3, characterized in that: The radar signal processing of S23 includes: pulse compression, sidelobe cancellation, MTD, CFAR, sidelobe blanking, clutter pattern detection and agglomeration processing.

8. The method for real-time observation of high-speed data inside a GPU as claimed in claim 3, characterized in that: In S26, the server program stores the result in the GPU memory after the calculation of each functional module is completed. After completing one cycle of data processing, the signal processing thread on the CPU side sends the corresponding data from the GPU to the CPU according to the control parameters.

9. The method for real-time observation of high-speed data inside a GPU as claimed in claim 8, characterized in that: In S28, the storage thread on the CPU side saves the data in the storage queue in the form of a data file in the local disk.

10. The method for real-time observation of high-speed data inside a GPU according to claim 9, characterized in that: After S28, the method further includes: using matlab to analyze the collected data files.