Data processing method and device of GPU server, equipment and storage medium

By denoising, calculating correlation coefficients, and dynamically allocating computing power to GPU servers, the memory access latency problem is solved, improving data processing efficiency and accuracy, and adapting to data-intensive application scenarios in the era of big data.

CN122019201APending Publication Date: 2026-05-12SHEN ZHOU SHU MA WANG LUO BEI JING YOU XIAN GONG SI
View PDF 4 Cites 0 Cited by

Patent Information

Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
SHEN ZHOU SHU MA WANG LUO BEI JING YOU XIAN GONG SI
Filing Date
2026-04-15
Publication Date
2026-05-12

AI Technical Summary

Technical Problem

Existing GPU server data processing methods suffer from severe memory access latency, resulting in low data processing efficiency and making it difficult to meet the processing needs of data-intensive application scenarios in the era of big data.

Method used

After denoising the data to be processed, the correlation coefficient between the data is calculated and the data is scientifically partitioned. Computing resources are dynamically allocated according to the characteristic parameters of the data partitions, and the results are verified in combination with the error threshold, forming a closed-loop processing flow.

Benefits of technology

It effectively reduces memory access latency, improves data processing efficiency and computing resource utilization, ensures the accuracy of processing results, and adapts to the needs of different data processing scenarios.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN122019201A_ABST
    Figure CN122019201A_ABST
Patent Text Reader

Abstract

The invention discloses a data processing method and device of a GPU server, equipment and a storage medium, and relates to the field of data processing, and the method comprises the steps: obtaining to-be-processed data; calculating a correlation coefficient between any two pieces of data according to the to-be-processed data; dividing the to-be-processed data into a plurality of data partitions according to the correlation coefficient; according to the characteristic parameters of each data partition, obtaining a computing power distribution proportion of each data partition; according to the computing power distribution proportion, the number of GPU stream multiprocessors corresponding to each data partition is distributed; obtaining a parallel computing result of each data partition according to the number of the distributed GPU stream multiprocessors and the computing power distribution proportion; obtaining a final processing result according to the parallel computing result of each data partition; calculating an average relative error between the final processing result and a standard real result; if the average relative error is smaller than or equal to the error threshold value, the final processing result is output to the target device. The method can improve the data processing efficiency.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This application relates to the field of data processing, and in particular to a data processing method, apparatus, device, and storage medium for a GPU server. Background Technology

[0002] With the rapid development of big data technology, various data-intensive application scenarios have put forward higher requirements for the efficiency, accuracy and resource utilization of data processing. GPU (Graphics Processing Unit) servers, with their massively parallel computing architecture, can efficiently process massive amounts of data and have been widely used in various data processing scenarios such as data computing, data statistics and data integration, becoming one of the devices supporting big data processing.

[0003] In existing technologies, GPU server data processing methods typically employ a relatively simple workflow. Generally, the data to be processed is first acquired, then the raw data is simply divided. A fixed computing power allocation strategy is used to allocate GPU streaming multiprocessor resources to each data partition. Each streaming multiprocessor then performs parallel computation on its corresponding data partition. Finally, the computation results are integrated, and after simple verification, the data is output. Some existing solutions perform preliminary data processing or make simple adjustments to the computing power allocation. Some solutions set fixed error thresholds for result verification in an attempt to improve data processing efficiency.

[0004] However, existing GPU server data processing methods suffer from severe memory access latency during data processing, resulting in low data processing efficiency. Summary of the Invention

[0005] This application provides a data processing method, apparatus, device, and storage medium for a GPU server, which can improve data processing efficiency.

[0006] To achieve the above objectives, this application adopts the following technical solution: Firstly, this application provides a data processing method for a GPU server, including: Obtain the data to be processed; Calculate the correlation coefficient between any two data points in the data to be processed. Based on the correlation coefficient, the data to be processed is divided into multiple data partitions; Based on the characteristic parameters of each data partition, the required computing power allocation ratio for each data partition is obtained; Based on the computing power allocation ratio, allocate the number of GPU stream multiprocessors corresponding to each data partition; Based on the allocated number of GPU stream multiprocessors and the computing power allocation ratio, the parallel computing results for each data partition are obtained; The final processing result is obtained based on the parallel computing results of each data partition; Calculate the average relative error between the final processed result and the standard true result; If the average relative error is less than or equal to the error threshold, the final processing result is output to the target device.

[0007] Optionally, the feature parameters include data partition size, data type, and computational complexity. The step of obtaining the required computing power allocation ratio for each data partition based on its feature parameters includes: Based on the data type, determine the weight coefficient corresponding to the data type; Based on the size of each data partition, its weight coefficient, and computational complexity, the required computing power allocation ratio for each data partition is obtained.

[0008] Optionally, the error threshold is obtained in the following way: The error threshold is obtained based on the error baseline value, computational complexity, and data partition size.

[0009] Optionally, dividing the data to be processed into multiple data partitions based on the correlation coefficient includes: When the correlation coefficient between any two data points is greater than or equal to the first threshold, the two data points will be assigned to the same data partition. When the correlation coefficient between any two data points is less than the first threshold, the two data points are assigned to different data partitions.

[0010] Optionally, the method further includes: If the sum of the number of GPU stream multiprocessors allocated to all data partitions is less than the total number of GPU stream multiprocessors, the remaining GPU stream multiprocessors are determined based on the sum of the number of GPU stream multiprocessors allocated to all data partitions and the total number of GPU stream multiprocessors. The remaining GPU streaming multiprocessors are allocated to the data partition with the highest computing power allocation ratio.

[0011] Optionally, the method further includes: If the average relative error is greater than the error threshold, then parallel calculations are performed again on each data partition.

[0012] Optionally, calculating the correlation coefficient between any two data points in the data to be processed includes: The data to be processed is denoised to obtain denoised data; Calculate the correlation coefficient between any two data points based on the denoised data.

[0013] Secondly, this application provides a data processing apparatus for a GPU server, comprising: The acquisition module is used to acquire data to be processed. The data processing module is used to: calculate the correlation coefficient between any two data points in the data to be processed; divide the data into multiple data partitions based on the correlation coefficient; determine the required computing power allocation ratio for each data partition based on the characteristic parameters of each data partition; allocate the number of GPU stream processors corresponding to each data partition based on the computing power allocation ratio; obtain the parallel computing results for each data partition based on the allocated number of GPU stream processors and the computing power allocation ratio; obtain the final processing result based on the parallel computing results for each data partition; and calculate the average relative error between the final processing result and the standard true result. The judgment module is used to output the final processing result to the target device if the average relative error is less than or equal to the error threshold.

[0014] Thirdly, this application provides a computing device, including a memory and a processor; The memory stores one or more computer programs, the one or more computer programs including instructions; when the instructions are executed by the processor, the computing device performs the method as described in any one of the first aspects.

[0015] Fourthly, this application provides a computer-readable storage medium for storing a computer program for performing the method as described in any one of the first aspects.

[0016] As can be seen from the above technical solution, this application has at least the following beneficial effects: In this application, firstly, by denoising the data to be processed and then calculating the correlation coefficient, and dividing the data into partitions based on the correlation coefficient, the strong correlation of data within the same data partition can be guaranteed, laying a good foundation for subsequent data loading and calculation, effectively reducing cache misses during data reading, significantly reducing memory access latency, and fundamentally improving the overall efficiency of data processing. Secondly, the computing power allocation ratio is determined based on the characteristic parameters such as the size of the data partition, data type, and computational complexity, and the number of stream multiprocessors is allocated accordingly. The remaining stream multiprocessor resources are also rationally allocated, realizing the dynamic adaptation and allocation of GPU computing power resources. This avoids the resource idleness or overload problem caused by fixed computing power allocation, fully leverages the parallel computing advantages of GPUs, and further improves the utilization rate of computing power resources and data processing efficiency. Furthermore, the results are verified by calculating the average relative error between the final processed result and the standard true result and comparing it with the error threshold. If the error does not meet the requirements, parallel calculation is performed again. At the same time, the error threshold is dynamically determined by combining the error benchmark value, computational complexity, and data partition size, which can adapt to the verification requirements of different data processing scenarios, effectively ensure the accuracy of data processing results, and avoid the output of invalid processing results. Furthermore, each step is progressive and logically connected, from data preprocessing and partitioning to dynamic allocation of computing power and parallel computing, and then to result verification and output, forming a complete and efficient data processing flow. This enables GPU servers to solve the memory access latency problem and optimize the utilization of computing resources and control the processing results during the processing of massive amounts of data, thus comprehensively improving the data processing performance of GPU servers and better adapting to the processing needs of various data-intensive application scenarios in the era of big data.

[0017] It should be understood that the descriptions of technical features, technical solutions, beneficial effects, or similar language in this application do not imply that all features and advantages can be achieved in any single embodiment. Rather, it is understood that the description of a feature or beneficial effect means that a specific technical feature, technical solution, or beneficial effect is included in at least one embodiment. Therefore, the descriptions of technical features, technical solutions, or beneficial effects in this specification do not necessarily refer to the same embodiment. Furthermore, the technical features, technical solutions, and beneficial effects described in this embodiment can be combined in any suitable manner. Those skilled in the art will understand that embodiments can be implemented without one or more specific technical features, technical solutions, or beneficial effects of a particular embodiment. In other embodiments, additional technical features and beneficial effects may be identified in specific embodiments that do not embody all embodiments. Attached Figure Description

[0018] Figure 1 A flowchart illustrating a data processing method for a GPU server provided in this application embodiment; Figure 2 A schematic diagram of a data processing device for a GPU server provided in an embodiment of this application; Figure 3 This is a schematic diagram of a computing device provided in an embodiment of this application. Detailed Implementation

[0019] The terms "first," "second," and "third," etc., used in this application specification and accompanying drawings are used to distinguish different objects, not to limit a specific order.

[0020] In the embodiments of this application, the terms "exemplary" or "for example" are used to indicate that something is an example, illustration, or description. Any embodiment or design that is described as "exemplary" or "for example" in the embodiments of this application should not be construed as being more preferred or advantageous than other embodiments or design. Specifically, the use of the terms "exemplary" or "for example" is intended to present the relevant concepts in a specific manner.

[0021] To ensure clarity and conciseness in the description of the following embodiments, a brief introduction to the related technologies is given first: GPU servers are server devices equipped with graphics processing units (GPUs) and rely on the GPU's massively parallel computing architecture to achieve high-speed processing of massive amounts of data. They are the processing carriers for data-intensive application scenarios.

[0022] The technical problem addressed in this application regarding existing GPU server data processing methods is a severe memory access latency issue during data processing. This issue directly leads to low overall data processing efficiency of GPU servers, making it difficult to adapt to the actual needs of various data-intensive application scenarios in the big data era for high-speed processing of massive amounts of data, and becoming a factor restricting the improvement of GPU server data processing performance.

[0023] The root cause of the aforementioned technical problems lies in the fact that existing technologies do not perform targeted preprocessing and scientifically reasonable partitioning optimization on the input data to be processed. Instead, they simply divide the raw data directly and then start the calculation. At the same time, they use a fixed computing power allocation strategy to allocate GPU streaming multiprocessor resources to each data partition without dynamically allocating computing power according to the actual needs of data processing. This can easily lead to frequent cache misses during the data reading process and cause a mismatch between computing power resources and data processing needs. Both of these factors exacerbate memory access latency, ultimately preventing the parallel computing advantages of GPU servers from being fully utilized and significantly reducing data processing efficiency.

[0024] In view of this, embodiments of this application provide a data processing method for a GPU server, which can be executed by the GPU server.

[0025] This application addresses the technical problems of severe memory access latency and low processing efficiency in existing GPU server data processing. First, the original data to be processed is denoised and then scientifically partitioned based on correlation coefficients to ensure that the partitioned data adapts to the GPU's storage characteristics, thereby reducing cache misses and alleviating memory access latency at its source. Next, the computing power allocation ratio is dynamically calculated based on the actual characteristic parameters of the data partitions, and streaming multiprocessor resources are rationally allocated. Simultaneously, remaining computing power resources are allocated to achieve an accurate match between computing power and data processing needs, fully leveraging the advantages of GPU parallel computing. Finally, results are verified using the average relative error, and an error threshold is dynamically determined based on data characteristics. Results that do not meet the threshold are recalculated, forming a closed-loop processing flow. Ultimately, this achieves the technical effects of reduced memory access latency, improved computing power resource utilization, and simultaneous optimization of data processing efficiency and result accuracy, thus solving the problems of existing technologies.

[0026] To make the technical solution of this application clearer and easier to understand, a data processing method for a GPU server provided by an embodiment of this application will be described below with reference to the accompanying drawings. Figure 1 As shown, this figure is a flowchart of a data processing method for a GPU server provided in an embodiment of this application. The method includes: S201, GPU server obtains data to be processed.

[0027] Data to be processed refers to the raw data that needs to be processed, integrated, and analyzed by the GPU server. It can include various types of data, such as discrete data and continuous data, and is the input object of the GPU server's data processing flow.

[0028] Acquisition refers to the behavior of a GPU server receiving and retrieving data to be processed from external data sources (such as data terminals, cloud storage, databases, etc.) through smart network cards, data interfaces, storage media, etc. It is the initial data interaction action in the data processing flow.

[0029] GPU servers receive raw data from designated external data sources through adapted hardware interfaces or data transmission methods. This raw data is then imported into the GPU server's storage and computing system, providing the raw data foundation for subsequent data processing operations. This process connects external data sources with the internal data processing flow of the GPU server, ensuring that subsequent data processing steps have clear and effective processing targets.

[0030] S202, the GPU server calculates the correlation coefficient between any two data points in the data to be processed.

[0031] The correlation coefficient is a numerical indicator used to quantify the degree of correlation between any two data points in the dataset to be processed. Its value reflects the strength of the correlation between the data and serves as the basis for the GPU server to scientifically partition the data.

[0032] Before calculating the correlation coefficient, the data to be processed needs to be processed. The specific processing procedure is as follows: First, the data to be processed is denoised to obtain the denoised data.

[0033] Noise reduction refers to the data preprocessing operation that uses preset algorithm rules to identify and remove outliers and redundant values ​​in the data to be processed, and to reasonably replace outliers to ensure data integrity. It is a step to improve data quality and reduce invalid calculations.

[0034] Before calculating correlation coefficients on the raw data, the GPU server executes a pre-defined denoising algorithm to identify and remove meaningless outliers and redundant values. Simultaneously, it replaces the removed outliers with appropriate values ​​to prevent data loss from interfering with subsequent calculations, ultimately yielding standardized, denoised data. This step effectively improves the quality of the raw data, eliminates interference from invalid data in subsequent correlation coefficient calculations and data partitioning, and ensures that the correlation coefficients calculated based on the data accurately reflect the actual correlation between data points, laying a reliable data foundation for subsequent scientific data partitioning.

[0035] The calculation expression for noise reduction is:

[0036] in, This represents the data value located in the i-th row and j-th column after denoising, which is the output of the denoising process. This represents the original data value located in the i-th row and j-th column before denoising. This represents the mean of the data matrix to be processed, serving as a baseline value for determining whether data points are outliers. The standard deviation of the data matrix to be processed is used to measure the dispersion of the data. This represents the threshold coefficient, used to define the range within which data is judged to be abnormal; in this scheme, it is set to 3. This represents the total number of rows in the data matrix to be processed. This represents the total number of columns in the data matrix to be processed. This indicates that before noise reduction processing, the value located at the [number]th [unit] is [value]. line, number The original data values ​​of the column.

[0037] The calculation expression is:

[0038] The calculation expression is:

[0039] The overall logic of the formula is as follows: If the original data Falling in the range If the data is within the range, it is considered normal and will be retained directly. ; If the data exceeds this range, it is considered outlier and replaced with the average of all other data to obtain the denoised data. .

[0040] Then, the processing device calculates the correlation coefficient between any two data points in the denoised data based on the denoised data.

[0041] The GPU server uses the denoised data as the computational object. Based on a preset correlation coefficient algorithm, it performs quantization operations on each pair of data in the dataset in turn to obtain a correlation coefficient that reflects the strength of the correlation between each pair of data, thus forming a set of correlation coefficients for the entire dataset.

[0042] The formula for calculating the correlation coefficient is:

[0043] in, This represents the correlation coefficient between the a-th data point and the b-th data point. This indicates the length of the time dimension of the data, that is, the total number of time-series samples corresponding to each data point. This represents the specific value of the denoised data of the a-th time series sample. Let a represent the mean of the denoised data point a among all T time series samples. This represents the specific value of the b-th denoised data in the t-th time series sample. Let represent the mean of the b-th denoised data point across all T time-series samples. This represents the correlation adjustment coefficient.

[0044] The results of this step provide a direct and quantitative criterion for the subsequent GPU server to partition data based on the correlation coefficient, ensuring that the subsequent data partitioning operation has a clear logical basis, rather than a simple, irregular division of data, thus laying the foundation for alleviating memory access latency and improving data processing efficiency.

[0045] S203 and GPU servers divide the data to be processed into multiple data partitions based on the correlation coefficient.

[0046] Data partitioning refers to dividing the data to be processed into subsets that are internally correlated and mutually independent, based on correlation coefficients. The size of each partition is adapted to the GPU's shared memory capacity and serves as the basic unit for subsequent parallel computing.

[0047] Specifically, when the correlation coefficient between any two data points is greater than or equal to the first threshold, the two data points are assigned to the same data partition. When the correlation coefficient between any two data points is less than the first threshold, the two data points are assigned to different data partitions.

[0048] The first threshold refers to the preset correlation coefficient critical value, which is used to determine whether two data should be assigned to the same data partition. In this scheme, the preferred value is 0.6, and its value directly affects the granularity and rationality of the data partition.

[0049] The GPU server uses a preset first threshold as a criterion to judge each pair of data in the dataset. If the correlation coefficient between the two data points reaches or exceeds the first threshold, they are considered to be highly correlated and are assigned to the same data partition to ensure strong correlation within the partition. If the correlation coefficient is lower than the first threshold, they are considered to be less correlated and are assigned to different data partitions to ensure independence between partitions.

[0050] This judgment rule allows for the scientific and orderly division of data to be processed into multiple data partitions adapted to the storage and computing characteristics of GPUs, laying the foundation for reducing cache misses, alleviating memory access latency, and improving parallel computing efficiency.

[0051] S204, the GPU server determines the required computing power allocation ratio for each data partition based on the characteristic parameters of each data partition.

[0052] Characteristic parameters are quantitative indicators that can characterize the processing needs of each data partition. Characteristic parameters include data partition size, data type, and computational complexity. They are the basis for the allocation of computing power and directly determine the computing power requirements of each partition.

[0053] Data partition size refers to the total amount of data to be processed contained in a single data partition, measured in bytes. It is a quantitative indicator that characterizes the scale of data processed by a data partition, and its value directly reflects the basic requirements of the data partition for storage and computing resources during the processing.

[0054] Data type refers to the attribute category of the data contained in each data partition. In this application, it is specifically divided into two categories: discrete data and continuous data. The operation logic and processing difficulty of different data types are different. The computational processing complexity of continuous data is usually higher than that of discrete data, which is the basic characteristic for measuring the computational difficulty of data partition.

[0055] Computational complexity refers to the total number of operations required to complete all preset processing operations on a single data partition. It is a quantitative indicator of the difficulty of processing a data partition. Its value is determined by factors such as the operation logic, feature dimensions, and data volume of the data within the data partition. The more operations performed, the higher the computational complexity and the greater the demand for GPU computing resources.

[0056] The computing power allocation ratio refers to the percentage of computing power resources allocated by the GPU server to each data partition relative to the total computing power resources of the GPU. The sum of the computing power allocation ratios of all data partitions is 1, which is the direct basis for the subsequent allocation of the number of GPU streaming multiprocessors.

[0057] Specifically, firstly, the GPU server determines the weight coefficient corresponding to the data type.

[0058] The GPU server first identifies and determines the specific data type of each data partition, clarifying whether it is discrete or continuous data. Then, it performs matching and calculation operations according to the mapping rules preset in this application. If the data partition is continuous data, the expression for the corresponding weight coefficient is:

[0059] in, This represents the weight coefficient corresponding to the continuous data in the k-th data partition. This represents the computational complexity of the k-th data partition. This represents the average computational complexity across all data partitions.

[0060] If the data partition is of discrete data type, then the expression for the corresponding weight coefficient is:

[0061] in, This represents the weight coefficient corresponding to the discrete data in the k-th data partition. This represents the size of the k-th data partition. This represents the average size of all data partitions.

[0062] By combining the data type with the characteristics of the data partition (computational complexity / data size) through the preset mapping rule, the weight coefficient is dynamically calculated. This not only quantifies the difference in basic computing power consumption between continuous and discrete data in parallel computing, but also makes the weight coefficient adapt to the actual processing characteristics of each data partition. This allows for a more accurate consideration of the differences in computing power requirements brought about by data type and partition characteristics when calculating the computing power allocation ratio in combination with the data partition size and computational complexity, ensuring that the computing power allocation ratio is highly adapted to the actual processing needs of each data partition.

[0063] Then, the GPU server determines the required computing power allocation ratio for each data partition based on the data partition size, weight coefficient, and computational complexity of each data partition.

[0064] The GPU server treats each independent data partition as a separate computational object, extracting three types of parameters: the data partition size, the weight coefficient calculated through mapping rules, and the computational complexity that represents the processing difficulty. These three types of parameters are then simultaneously substituted into the computing power allocation ratio calculation formula for integrated quantization calculation.

[0065] The formula for calculating the computing power allocation ratio is:

[0066] in, This represents the proportion of computing power required for the k-th data partition. This represents the size of the k-th data partition. This represents the weight coefficient of the k-th data partition, including and , This represents the computational complexity of the k-th data partition. Indicates the total number of data partitions. This represents the smoothing coefficient.

[0067] In calculation When the data partition is of continuous data type, Values If the data partition is of discrete data type, Values .

[0068] This step ensures that the calculation of computing power allocation ratio no longer considers only one dimension of demand, but comprehensively integrates three factors: data scale, data type, and processing difficulty. This allows the calculated computing power allocation ratio to match the actual computing power demand of each data partition, avoiding resource idleness or overload problems caused by fixed computing power allocation.

[0069] The S205 GPU server allocates the number of GPU stream multiprocessors corresponding to each data partition according to the computing power allocation ratio.

[0070] GPU streaming multiprocessors are hardware units that implement parallel computing within a GPU. Each streaming multiprocessor contains several computing cores, registers, and shared memory. It is the physical carrier of GPU computing power, and its number directly determines the parallel computing capability that a data partition can obtain.

[0071] The GPU server uses a pre-calculated computing power allocation ratio for each data partition as a benchmark, and combines this with the total number of streaming multiprocessors within the GPU to allocate a corresponding number of streaming multiprocessors to each data partition through proportional conversion.

[0072] The expression for the number of compute stream multiprocessors is:

[0073] in, This represents the number of GPU streaming multiprocessors allocated to the k-th data partition. This represents the proportion of computing power required for the k-th data partition. This indicates the total number of streaming multiprocessors available within the GPU. This indicates the integer division operation.

[0074] This step ensures that the number of streaming multiprocessors obtained by each data partition matches its actual computing power requirements, avoiding resource idleness or overload caused by fixed allocation, giving full play to the parallel computing advantages of GPUs, and laying the hardware foundation for efficient parallel computing in the future.

[0075] The method also includes: If the sum of the number of GPU stream multiprocessors allocated to all data partitions is less than the total number of GPU stream multiprocessors, the remaining GPU stream multiprocessors are determined based on the sum of the number of GPU stream multiprocessors allocated to all data partitions and the total number of GPU stream multiprocessors. Allocate the remaining GPU streaming multiprocessors to the data partition with the highest computing power allocation ratio.

[0076] Specifically, after allocating the number of streaming multiprocessors to each data partition, the GPU server first performs a resource check, calculating the sum of the number of streaming multiprocessors allocated to all data partitions and comparing it with the total number of streaming multiprocessors on the GPU. If the sum of the allocated numbers is less than the total number, it indicates that there are unallocated remaining streaming multiprocessor resources. At this time, the system will identify the data partition with the highest computing power allocation ratio, that is, the partition with the most urgent computing power demand and the highest priority, and allocate all remaining streaming multiprocessors to that partition. This ensures the full utilization of GPU hardware resources and allows the partition with the highest computing power demand to obtain additional computing resources, further improving the overall parallel efficiency and speed of data processing and avoiding resource idleness.

[0077] S206: The GPU server obtains the parallel computing results for each data partition based on the allocated number of GPU stream multiprocessors and the computing power allocation ratio.

[0078] Parallel computing results refer to the data processing output of a data partition obtained by the GPU server calling the allocated streaming multiprocessors for the corresponding data partition and performing parallel operations according to a preset algorithm.

[0079] The allocated streaming multiprocessors simultaneously perform parallel computations on the data within the partition, strictly controlling resource usage and computation timing according to the computing power allocation ratio. Ultimately, each data partition completes its own data processing and outputs the corresponding parallel computation results. This step realizes the implementation of resource allocation into actual computation, ensuring that the computation process of each partition is efficient, independent, and resource-matched, thereby improving the overall data processing efficiency and stability.

[0080] The expression for calculating the results of parallel computing is:

[0081] in, This represents the parallel computation result of the k-th data partition. Indicates the length of the time dimension of the data. This represents the size of the k-th data partition. This indicates the size of the data block that a single GPU streaming multiprocessor (SM) can process in parallel. This represents the number of GPU streaming multiprocessors allocated to the k-th data partition. This represents the total number of feature dimensions, that is, the number of features contained in each data sample. This represents the weight coefficient of the p-th feature. Let represent the denoised data value of the p-th feature in the k-th data partition, the t-th time series sample, and the s-th data block. This represents the proportion of computing power required for the k-th data partition. Indicates the bias term. Represents a symbolic function. It represents a very small positive number.

[0082] The S207 GPU server obtains the final processing result based on the parallel computing results of each data partition.

[0083] The final processing result refers to the overall and unified data processing output obtained after summarizing, merging, normalizing, or post-processing the parallel computing results of all data partitions. It is the final output of the data processing method in this application.

[0084] After the GPU server completes parallel computation on all data partitions and obtains the results for each partition, it summarizes, concatenates, weights, or normalizes the parallel computation results of each partition according to preset result fusion rules. This merges the originally scattered and independent partition-level computation results into a complete and unified final processing result. This step realizes a closed loop from partition parallel computation to overall result output, ensuring the integrity of the entire data processing flow and the usability of the results.

[0085] The final calculation expression for the result is:

[0086] in, This indicates the final processing result. Indicates the total number of data partitions. This represents the parallel computation result of the k-th data partition. This represents the size of the k-th data partition. This represents the deviation correction factor, with a value range of [value range missing]. It is used to control the degree of influence of the deviation correction term on the final result. This represents the average of the results of parallel computation across all data partitions.

[0087] The S208 GPU server calculates the average relative error between the final processed result and the standard true result.

[0088] The standard true result refers to the true standard value that is known in advance, theoretically correct, or experimentally obtained, and is used as a reference benchmark to evaluate the accuracy of the data processing method in this application.

[0089] The average relative error refers to the overall error index obtained by averaging the relative errors of each sample point. It is used to quantify the degree of deviation between the final processing result and the standard true result. The smaller the value, the higher the processing accuracy.

[0090] The GPU server compares the final processing result obtained earlier with the pre-set standard real result, calculates the deviation between the two point by point according to the preset error calculation formula, and further calculates the average relative error. This quantitatively evaluates the accuracy and reliability of the data processing method of this application, and provides a quantitative basis for subsequent optimization of computing power allocation, data partitioning and parallel computing strategies.

[0091] The expression for calculating the average relative error is:

[0092] in, This represents the average relative error. This indicates the total number of sample points used for error assessment. Indicates the first The final processing result corresponding to each sample point Indicates the first The standard true result corresponding to each sample point.

[0093] S209. If the average relative error is less than or equal to the error threshold, the final processing result will be output to the target device.

[0094] The error threshold is a critical value used to determine whether the final processing result meets the accuracy requirements. Only when the average relative error does not exceed this critical value is the processing result considered valid and reliable.

[0095] The error threshold is obtained in the following way: The error threshold is obtained based on the error baseline value, computational complexity, and data partition size.

[0096] The error baseline value refers to the preset accuracy benchmark that this data processing method can achieve under ideal hardware conditions, standard data volume, and conventional computational complexity. It is the basic reference value for the error threshold and is used to characterize the inherent accuracy level of the method.

[0097] The GPU server uses a preset error baseline value as a basis, combined with the overall computational complexity and total data partition size of the current data processing task, to simultaneously input three types of parameters into the error threshold calculation formula for quantification, ultimately obtaining an error threshold that matches the characteristics of the current task. This step ensures that the error threshold is no longer a fixed constant, but dynamically adjusted according to the processing difficulty and data scale. This guarantees the reasonableness of accuracy requirements while avoiding overly strict or lenient judgments caused by a fixed threshold, thus improving the robustness and applicability of the entire data processing workflow.

[0098] The expression for calculating the error threshold is:

[0099]

[0100]

[0101] in, Indicates the error threshold. Indicates the error reference value. This represents the total amount of data across all data partitions, which is the sum of the data sizes in each partition. This represents the minimum total data volume of a data partition within a historical task or preset scenario. This represents the maximum total data volume of a data partition within a historical task or preset scenario. This represents the total computational complexity of the data processing task, that is, the total number of operations required to complete all processing steps. This represents the minimum computational complexity in a historical task or preset scenario. This represents the maximum computational complexity in a historical task or preset scenario.

[0102] The target device refers to the external device, terminal, module, or system that receives and uses the data processing results of this application, and is the object of use of the final processing results.

[0103] The GPU server first compares the calculated average relative error with a preset error threshold. If the average relative error is not greater than the error threshold, it means that the accuracy of this data processing meets the preset requirements and the final processing result is valid and reliable. At this time, the GPU server sends the valid final processing result to the target device to complete the entire processing flow. If the average relative error exceeds the error threshold, parallel computation is re-performed on each data partition. When the GPU server determines that the average relative error exceeds the error threshold, it indicates that the accuracy of the current data processing has not met the preset standard, and there may be unreasonable aspects in the current partitioning strategy, computing power allocation, or calculation parameters, leading to unreliable results. In this case, the system will trigger a re-parallel computation process.

[0104] Based on the above description, this application has the following beneficial effects: In this application, firstly, by denoising the data to be processed and then calculating the correlation coefficient, and dividing the data into partitions based on the correlation coefficient, the strong correlation of data within the same data partition can be guaranteed, laying a good foundation for subsequent data loading and calculation, effectively reducing cache misses during data reading, significantly reducing memory access latency, and fundamentally improving the overall efficiency of data processing. Secondly, the computing power allocation ratio is determined based on the characteristic parameters such as the size of the data partition, data type, and computational complexity, and the number of stream multiprocessors is allocated accordingly. The remaining stream multiprocessor resources are also rationally allocated, realizing the dynamic adaptation and allocation of GPU computing power resources. This avoids the resource idleness or overload problem caused by fixed computing power allocation, fully leverages the parallel computing advantages of GPUs, and further improves the utilization rate of computing power resources and data processing efficiency. Furthermore, the results are verified by calculating the average relative error between the final processed result and the standard true result and comparing it with the error threshold. If the error does not meet the requirements, parallel calculation is performed again. At the same time, the error threshold is dynamically determined by combining the error benchmark value, computational complexity, and data partition size, which can adapt to the verification requirements of different data processing scenarios, effectively ensure the accuracy of data processing results, and avoid the output of invalid processing results. Furthermore, each step is progressive and logically connected, from data preprocessing and partitioning to dynamic allocation of computing power and parallel computing, and then to result verification and output, forming a complete and efficient data processing flow. This enables GPU servers to solve the memory access latency problem and optimize the utilization of computing resources and control the processing results during the processing of massive amounts of data, thus comprehensively improving the data processing performance of GPU servers and better adapting to the processing needs of various data-intensive application scenarios in the era of big data.

[0105] The above text combined Figure 1 The data processing method of the GPU server provided in the embodiments of this application has been described in detail. The apparatus and device provided in the embodiments of this application will be described below with reference to the accompanying drawings.

[0106] like Figure 2 As shown in the figure, this is a schematic diagram of a data processing device for a GPU server provided in an embodiment of this application. The device includes: The acquisition module 301 is used to acquire data to be processed; The data processing module 302 is used to: calculate the correlation coefficient between any two data points in the data to be processed; divide the data to be processed into multiple data partitions based on the correlation coefficient; obtain the required computing power allocation ratio for each data partition based on the characteristic parameters of each data partition; allocate the number of GPU stream multiprocessors corresponding to each data partition based on the computing power allocation ratio; obtain the parallel computing result for each data partition based on the allocated number of GPU stream multiprocessors and the computing power allocation ratio; obtain the final processing result based on the parallel computing result for each data partition; and calculate the average relative error between the final processing result and the standard true result. The judgment module 303 is used to output the final processing result to the target device if the average relative error is less than or equal to the error threshold.

[0107] Optionally, the data processing module 302 is specifically used to determine the weight coefficient corresponding to the data type based on the data type. Based on the size of each data partition, its weight coefficient, and computational complexity, the required computing power allocation ratio for each data partition is obtained.

[0108] Optionally, the data processing module 302 is specifically used to obtain the error threshold based on the error baseline value, computational complexity, and data partition size.

[0109] Optionally, the judgment module 303 is specifically used to divide the two data into the same data partition when the correlation coefficient between any two data is greater than or equal to the first threshold. When the correlation coefficient between any two data points is less than the first threshold, the two data points are assigned to different data partitions.

[0110] Optionally, the data processing module 302 is further configured to determine the remaining GPU stream multiprocessors based on the sum of the number of GPU stream multiprocessors allocated to all data partitions and the total number of GPU stream multiprocessors if the sum of the number of GPU stream multiprocessors allocated to all data partitions is less than the total number of GPU stream multiprocessors. The remaining GPU streaming multiprocessors are allocated to the data partition with the highest computing power allocation ratio.

[0111] Optionally, the judgment module 303 is further configured to recalculate each data partition in parallel if the average relative error is greater than the error threshold.

[0112] Optionally, the data processing module 302 is specifically used to perform denoising processing on the data to be processed to obtain denoised data; Calculate the correlation coefficient between any two data points in the denoised data.

[0113] The data processing apparatus of the GPU server according to the embodiments of this application can correspondingly execute the method described in the embodiments of this application, and the other operations and / or functions of each module / unit of the data processing apparatus of the GPU server are respectively for implementing Figure 1 For the sake of brevity, the corresponding processes of each method in the illustrated embodiments will not be described in detail here.

[0114] This application also provides a computing device. For example... Figure 3 As shown in the figure, this is a schematic diagram of a computing device provided in an embodiment of this application. The computing device 700 includes a bus 701, a processor 702, a communication interface 703, and a memory 704. The processor 702, the memory 704, and the communication interface 703 communicate with each other via the bus 701.

[0115] The 701 bus can be a Peripheral Component Interconnect (PCI) bus or an Extended Industry Standard Architecture (EISA) bus, etc. Buses can be categorized as address buses, data buses, control buses, etc. For ease of representation, Figure 3 The bus is represented by a single thick line, but this does not mean that there is only one bus or one type of bus.

[0116] The processor 702 can be any one or more of the following processors: central processing unit (CPU), graphics processing unit (GPU), microprocessor (MP), or digital signal processor (DSP).

[0117] The communication interface 703 is used for external communication.

[0118] Memory 704 may include volatile memory, such as random access memory (RAM). Memory 704 may also include non-volatile memory, such as read-only memory (ROM), flash memory, hard disk drive (HDD), or solid state drive (SSD).

[0119] The memory 704 stores executable code, and the processor 702 executes the executable code to perform the aforementioned data processing method of the GPU server.

[0120] Specifically, in achieving Figure 2 In the case of the illustrated embodiment, and Figure 2 When the modules or units of the data processing device of the GPU server described in the embodiment are implemented by software, the execution... Figure 2 The software or program code required for the functions of each module / unit can be partially or wholly stored in memory 704. Processor 702 executes the program code corresponding to each unit stored in memory 704 to execute the aforementioned data processing method of GPU server.

[0121] This application also provides a computer-readable storage medium. The computer-readable storage medium can be any available medium that a computing device can store, or a data storage device such as a data center containing one or more available media. The available medium can be a magnetic medium (e.g., floppy disk, hard disk, magnetic tape), an optical medium (e.g., DVD), or a semiconductor medium (e.g., solid-state drive). The computer-readable storage medium includes instructions that instruct the computing device to execute the data processing method described above for the GPU server.

[0122] This application also provides a computer program product comprising one or more computer instructions. When the computer instructions are loaded and executed on a computing device, all or part of the processes or functions described in this application are generated.

[0123] The computer instructions may be stored in a computer-readable storage medium or transmitted from one computer-readable storage medium to another. For example, the computer instructions may be transmitted from one website, computer, or data center to another website, computer, or data center via wired (e.g., coaxial cable, fiber optic, digital subscriber line) or wireless (e.g., infrared, wireless, microwave, etc.) means.

[0124] When the computer program product is executed by a computer, the computer performs any of the aforementioned data processing methods of the GPU server. The computer program product can be a software installation package; when any of the aforementioned data processing methods of the GPU server is required, the computer program product can be downloaded and executed on the computer.

[0125] The descriptions of the processes or structures corresponding to the above figures each have their own emphasis. For parts of a process or structure that are not described in detail, please refer to the relevant descriptions of other processes or structures.

[0126] The above description is merely a specific embodiment of this application, but the scope of protection of this application is not limited thereto. Any changes or substitutions within the technical scope disclosed in this application should be covered within the scope of protection of this application.

Claims

1. A data processing method for a GPU server, characterized in that, The method includes: Obtain the data to be processed; Calculate the correlation coefficient between any two data points in the data to be processed. Based on the correlation coefficient, the data to be processed is divided into multiple data partitions; Based on the characteristic parameters of each data partition, the required computing power allocation ratio for each data partition is obtained; Based on the computing power allocation ratio, allocate the number of GPU stream multiprocessors corresponding to each data partition; Based on the allocated number of GPU stream multiprocessors and the computing power allocation ratio, the parallel computing results for each data partition are obtained; The final processing result is obtained based on the parallel computing results of each data partition; Calculate the average relative error between the final processed result and the standard true result; If the average relative error is less than or equal to the error threshold, the final processing result is output to the target device.

2. The method according to claim 1, characterized in that, The characteristic parameters include data partition size, data type, and computational complexity. The step of obtaining the required computing power allocation ratio for each data partition based on its characteristic parameters includes: Based on the data type, determine the weight coefficient corresponding to the data type; Based on the size of each data partition, its weight coefficient, and computational complexity, the required computing power allocation ratio for each data partition is obtained.

3. The method according to claim 1, characterized in that, The error threshold is obtained in the following way: The error threshold is obtained based on the error baseline value, computational complexity, and data partition size.

4. The method according to claim 1, characterized in that, The step of dividing the data to be processed into multiple data partitions based on the correlation coefficient includes: When the correlation coefficient between any two data points is greater than or equal to the first threshold, the two data points will be assigned to the same data partition. When the correlation coefficient between any two data points is less than the first threshold, the two data points are assigned to different data partitions.

5. The method according to claim 1, characterized in that, The method further includes: If the sum of the number of GPU stream multiprocessors allocated to all data partitions is less than the total number of GPU stream multiprocessors, the remaining GPU stream multiprocessors are determined based on the sum of the number of GPU stream multiprocessors allocated to all data partitions and the total number of GPU stream multiprocessors. The remaining GPU streaming multiprocessors are allocated to the data partition with the highest computing power allocation ratio.

6. The method according to claim 1, characterized in that, The method further includes: If the average relative error is greater than the error threshold, then parallel calculations are performed again on each data partition.

7. The method according to claim 1, characterized in that, The step of calculating the correlation coefficient between any two data points in the data to be processed includes: The data to be processed is denoised to obtain denoised data; Calculate the correlation coefficient between any two data points in the denoised data.

8. A data processing device for a GPU server, characterized in that, The device includes: The acquisition module is used to acquire data to be processed. The data processing module is used to: calculate the correlation coefficient between any two data points in the data to be processed; divide the data into multiple data partitions based on the correlation coefficient; determine the required computing power allocation ratio for each data partition based on the characteristic parameters of each data partition; allocate the number of GPU stream processors corresponding to each data partition based on the computing power allocation ratio; obtain the parallel computing results for each data partition based on the allocated number of GPU stream processors and the computing power allocation ratio; obtain the final processing result based on the parallel computing results for each data partition; and calculate the average relative error between the final processing result and the standard true result. The judgment module is used to output the final processing result to the target device if the average relative error is less than or equal to the error threshold.

9. A computing device, characterized in that, Including memory and processor; The memory stores one or more computer programs, the one or more computer programs including instructions; when the instructions are executed by the processor, the computing device performs the method as described in any one of claims 1 to 7.

10. A computer-readable storage medium, characterized in that, The computer-readable storage medium is used to store a computer program for performing the method as described in any one of claims 1 to 7.