Hardware-accelerated high-performance calculator processing method
By using topological sorting of the calculator task queue, hardware parameter analysis, and dynamic allocation of task resources, the problems of complex hardware resource scheduling and low parallel computing efficiency are solved, achieving efficient utilization of hardware resources and improved computing performance.
Patent Information
- Application Number
- CN202511500335.4
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2025-10-21
- Publication Date
- 2026-02-17
- Estimated Expiration
- 2045-10-21
Smart Images

Figure CN120973548B_ABST
Abstract
Description
Technical Field
[0001] This invention relates to the field of hardware-accelerated high-performance calculator processing technology, and more specifically to a hardware-accelerated high-performance calculator processing method. Background Technology
[0002] As the complexity of computational tasks increases, traditional computing methods struggle to meet the demands of high-performance computing. Hardware acceleration technologies significantly improve computational efficiency by using dedicated hardware devices (such as GPUs and FPGAs) to accelerate the computation process. However, most existing hardware resource allocation methods are static and lack dynamic optimization, leading to resource waste or performance bottlenecks. Therefore, high-performance computing methods based on hardware acceleration have emerged. By rationally dividing tasks, dynamically adjusting hardware resource allocation, and constructing task acceleration models, these methods achieve efficient utilization of hardware resources, thereby improving overall computing performance and making them suitable for large-scale data processing and high-concurrency task scenarios. Summary of the Invention
[0003] To address the aforementioned technical problems, a hardware-accelerated high-performance computer processing method is provided. This technical solution solves the problems mentioned above. The main problems faced by the hardware-accelerated high-performance computer processing method include: complex hardware resource scheduling, difficulty in matching tasks with hardware, data transmission bottlenecks, low parallel computing efficiency, as well as hardware compatibility and system scalability issues. These challenges affect the system's performance optimization and efficient resource utilization.
[0004] To achieve the above objectives, the technical solution adopted by the present invention is as follows:
[0005] Hardware-accelerated high-performance calculator processing methods include:
[0006] S1. Based on the calculator task queue, obtain the data stream of tasks to be executed, divide the data stream of tasks to be executed according to the known hardware operation rules, and use the topological sorting algorithm to obtain an ordered data stream of tasks to be executed.
[0007] S2. Based on the acquisition of calculator hardware parameter data, obtain the calculator's hardware construction parameters, analyze the performance limit of the hardware construction parameters, and quantify the calculator's hardware processing capabilities.
[0008] S3. Based on the execution volume of each task in the ordered task data stream, assign computational requirements to each task in the current ordered task data stream. S3 includes:
[0009] Based on the ordered task data stream, the K-Means clustering algorithm is used to divide the ordered task data stream into multiple non-overlapping clusters. Multiple initial cluster centers of ordered tasks are selected. Using Euclidean distance, the distance between each data point in the ordered task dataset and the initial cluster center is calculated. Each data point is assigned to the nearest cluster center. Each cluster center point is recalculated. The cluster centers are repeatedly assigned and updated to obtain different stable cluster divisions, thus completing the ordered task clustering.
[0010] Based on the clustering of ordered tasks to be executed, the execution volume of each task to be executed in the ordered task data stream is analyzed, and the tasks are standardized according to different task types to quantify the execution volume of ordered tasks to be executed.
[0011] S3 further includes:
[0012] Based on the execution volume of ordered tasks, a reinforcement learning method is used to obtain the optimal allocation strategy for ordered tasks, dynamically allocate the resource requirements of ordered tasks, and assign computational requirements to individual tasks in the current ordered task data stream, as shown in the following formula:
[0013]
[0014] in, The optimal allocation strategy for tasks to be executed in an orderly manner. The maximum parameter for ordered pending tasks. This is the set of all tasks to be executed. For each task to be executed, Assign priority to each task to be executed. The amount of resources required for each task to be executed. The execution volume of each task to be executed;
[0015] S4. Based on the computational requirements of individual tasks to be executed in the current ordered task data stream and the hardware processing capabilities of the calculator, a hardware-accelerated task allocation model is constructed to generate a high-performance calculator processing scheme with hardware acceleration. S4 includes:
[0016] Based on the resource requirements of ordered tasks to be executed, the upper limit of hardware resources for ordered tasks to be executed is analyzed using task-hardware matching rules, and a hardware compatibility matrix between the computational requirements of individual tasks to be executed and the calculator is constructed.
[0017] Based on the decision tree algorithm, a task-hardware matching decision tree is established with each task to be executed as the root node and the resource requirements of the ordered tasks to be executed as the leaf nodes, and a hardware acceleration task allocation model is constructed.
[0018] Based on a hardware-accelerated task allocation model, this paper monitors and analyzes the running status of ordered tasks according to optimization strategies, identifies the key parts with the worst performance and lowest execution efficiency, removes redundant calculations, rationally allocates resources according to task requirements, utilizes distributed computing to split the ordered tasks into multiple sub-tasks that can be executed simultaneously, and adopts efficient algorithms and data structures to reduce time complexity, maximize hardware processing capabilities, and generate a hardware-accelerated high-performance computer processing solution.
[0019] Preferably, S1 includes:
[0020] Based on the calculator task queue, insert an element into the calculator task queue and assign it a priority. Sort the tasks according to the priority of the calculator task queue, delete the highest priority element in the calculator task queue, view the highest priority element in the current calculator task queue, and establish a dynamically updatable calculator task set.
[0021] Based on a dynamically updatable set of calculator tasks, the data stream of tasks to be executed is obtained, the data stream is divided according to known hardware operation rules, and corresponding tasks are allocated according to the hardware characteristics of GPU and multi-core CPU.
[0022] Based on the hardware characteristics of GPU and multi-core CPU, corresponding tasks are allocated. Using the topological sorting algorithm, a calculator task queue is created, the in-degree of all nodes in the queue is calculated, the node with an in-degree of zero is selected and removed, and this process is repeated until the calculator task queue is empty, generating an ordered task data stream.
[0023] Preferably, S2 includes:
[0024] Based on the acquisition of calculator hardware parameter data, key parameters of calculator hardware construction are obtained, the performance upper limit of calculator hardware construction parameters is calculated, and a calculator hardware performance model is established.
[0025] Preferably, S2 further includes:
[0026] By using the floating-point operations per second method, we can obtain the maximum number of floating-point operations that the calculator can complete per unit of time, and calculate the upper limit of the calculator's processor performance.
[0027] Based on the data transmission rate, frequency, and amount of data transmitted per clock cycle, the theoretical bandwidth of the calculator hardware is calculated, and the upper limit of the calculator's storage bandwidth is obtained.
[0028] The maximum parallelism limit is calculated based on the maximum number of threads supported by the hardware system, the amount of computation to be processed, and the granularity.
[0029] Based on the performance upper limit of the hardware construction parameters, a theoretical performance model of the calculator hardware is established, and the hardware processing capability index of the calculator is generated.
[0030] Compared with existing technologies, the beneficial effects of this invention are as follows: by combining task queue partitioning, hardware parameter analysis, and computational requirement matching, it can efficiently optimize task allocation and hardware resource utilization, ensuring that each task maximizes execution efficiency based on hardware performance; through the application of topology sorting and hardware-accelerated task allocation models, it not only improves computing speed but also optimizes hardware resource utilization, reduces system load, and enhances overall computing performance and scalability. Attached Figure Description
[0031] Figure 1 This is a flowchart of a hardware-accelerated high-performance calculator processing method.
[0032] Figure 2 A flowchart illustrating the hardware processing capabilities of a quantitative calculator;
[0033] Figure 3 Flowchart of the method for calculating the computational requirements of individual tasks in an ordered data stream of tasks to be executed;
[0034] Figure 4 Flowchart of the method for building a hardware-accelerated task allocation model. Detailed Implementation
[0035] The following description is intended to disclose the invention and enable those skilled in the art to implement it. The preferred embodiments described below are merely examples, and other obvious variations will occur to those skilled in the art.
[0036] Reference Figure 1 As shown, a hardware-accelerated high-performance calculator processing method includes:
[0037] Based on the calculator task queue, the data stream of tasks to be executed is obtained, the data stream is divided according to the known hardware operation rules, and the ordered data stream of tasks to be executed is obtained by using the topological sorting algorithm.
[0038] Based on the acquisition of calculator hardware parameter data, the hardware construction parameters of the calculator are obtained, the performance limit of the hardware construction parameters is analyzed, and the hardware processing capability of the calculator is quantified.
[0039] Based on the execution volume of each task in the ordered task data stream, assign computational requirements to each task in the current ordered task data stream.
[0040] Based on the computational needs of individual tasks in the current ordered task data stream and the hardware processing capabilities of the calculator, a hardware-accelerated task allocation model is constructed to generate a high-performance calculator processing solution with hardware acceleration.
[0041] Specifically, based on the calculator's task queue, the data stream of tasks to be executed is obtained, and the data stream is divided according to known hardware operation rules. A topological sorting algorithm is then used to obtain an ordered data stream of tasks to be executed, which includes the following:
[0042] Based on the calculator task queue, insert an element into the calculator task queue and assign it a priority. Sort the tasks according to the priority of the calculator task queue, delete the highest priority element in the calculator task queue, view the highest priority element in the current calculator task queue, and establish a dynamically updatable calculator task set.
[0043] Based on a dynamically updatable set of calculator tasks, the data stream of tasks to be executed is obtained, the data stream is divided according to known hardware operation rules, and corresponding tasks are allocated according to the hardware characteristics of GPU and multi-core CPU.
[0044] As a further development, the known hardware operation rules include: differences between CPU and GPU, multi-core processors, and task partitioning granularity;
[0045] Based on the allocation of corresponding tasks according to the hardware characteristics of GPU and multi-core CPU, a calculator task queue is created using a topological sorting algorithm. The in-degree of all nodes in the queue is calculated, and nodes with an in-degree of zero are selected and removed. This process is repeated until the calculator task queue is empty, generating an ordered task data stream.
[0046] When using it, refer to the steps outlined above.
[0047] By dynamically managing the calculator's task queue and leveraging hardware characteristics (such as GPUs and multi-core CPUs), tasks are efficiently allocated and executed. First, tasks are inserted into the calculator's task queue according to priority and sorted to ensure high-priority tasks are processed first. Then, through a dynamically updated task set, tasks are divided and allocated based on hardware computation rules (such as GPU and CPU characteristics). Finally, a topological sorting algorithm is used to process tasks in an ordered manner, ensuring that the execution order of tasks conforms to dependencies, generating an ordered task data stream. The beneficial effect of this process is that it optimizes task allocation based on hardware resource characteristics, improves parallel computing efficiency, and ensures that task dependencies are handled correctly, thereby enhancing the overall performance and stability of the system.
[0048] Reference Figure 2 As shown, based on the acquisition of calculator hardware parameter data, the calculator's hardware construction parameters are obtained, the performance upper limit of the hardware construction parameters is analyzed, and the calculator's hardware processing capabilities are quantified, specifically including the following:
[0049] Based on the acquisition of calculator hardware parameter data, key parameters of calculator hardware construction are obtained, the performance upper limit of calculator hardware construction parameters is calculated, and a calculator hardware performance model is established.
[0050] As a further detail, the key hardware parameters of the calculator include: CPU performance, GPU performance, memory size and type, and input / output interface current limiting;
[0051] By using the floating-point operations per second method, we can obtain the maximum number of floating-point operations that the calculator can complete per unit of time, and calculate the upper limit of the calculator's processor performance.
[0052] Based on the data transmission rate, frequency, and amount of data transmitted per clock cycle, the theoretical bandwidth of the calculator hardware is calculated, and the upper limit of the calculator's storage bandwidth is obtained.
[0053] The maximum parallelism limit is calculated based on the maximum number of threads supported by the hardware system, the amount of computation to be processed, and the granularity.
[0054] Based on the performance ceiling of the hardware construction parameters, a theoretical performance model of the calculator hardware is established, generating the calculator's hardware processing capability index, as shown in the following formula:
[0055]
[0056] in, Let i be the i-th hardware processing capability index of the calculator. For constant terms, Let be the linear regression coefficient of the i-th hardware capability. This represents the performance ceiling for the i-th hardware construction parameter of the calculator. For the error term, This represents the total number of hardware components in the calculator.
[0057] When using it, refer to the steps outlined above.
[0058] Based on detailed data collection of key parameters of the calculator's hardware structure, this study quantifies the calculator's hardware processing capabilities through analysis of these parameters (such as CPU performance, GPU performance, memory size and type, and input / output interface current limiting). First, using the floating-point operations per second (FPS) method, the maximum number of FPS operations the calculator can complete per unit time is calculated, thus obtaining the upper limit of processor performance. Second, based on data transfer rate, frequency, and the amount of data transferred per clock cycle, the upper limit of storage bandwidth is calculated. Then, by considering the maximum number of threads supported by the hardware system, the amount of computational tasks, and the granularity, the upper limit of maximum parallelism is determined. Finally, by combining each hardware parameter with its corresponding performance upper limit, a theoretical hardware performance model is established, and linear regression analysis is used to generate the calculator's hardware processing capability indicators. The beneficial effect of this step is that it can accurately quantify the theoretical processing capability of the calculator hardware, thereby providing a scientific basis for performance optimization and ensuring that the calculator's hardware resources can be fully utilized in different usage scenarios, improving computational performance and efficiency.
[0059] Reference Figure 3 As shown, based on the execution volume of each task in the ordered task data stream, the specific computational requirements assigned to each individual task in the current ordered task data stream include the following:
[0060] Based on the ordered task data stream, the K-Means clustering algorithm is used to divide the ordered task data stream into multiple non-overlapping clusters. Multiple initial cluster centers of ordered tasks are selected. Using Euclidean distance, the distance between each data point in the ordered task dataset and the initial cluster center is calculated. Each data point is assigned to the nearest cluster center. Each cluster center point is recalculated. The cluster centers are repeatedly assigned and updated to obtain different stable cluster divisions, thus completing the ordered task clustering.
[0061] As a further detail, the ordered data stream of tasks to be executed includes: computationally intensive, memory-intensive, I / O-intensive, historical execution data, and data volume.
[0062] Based on the clustering of ordered tasks to be executed, the execution volume of each task to be executed in the ordered task data stream is analyzed, and the tasks are standardized according to different task types to quantify the execution volume of ordered tasks to be executed.
[0063] As a further development, the different task types include: computationally intensive tasks, I / O intensive tasks, and memory intensive tasks;
[0064] Based on the execution volume of ordered tasks, a reinforcement learning method is used to obtain the optimal allocation strategy for ordered tasks, dynamically allocate the resource requirements of ordered tasks, and assign computational requirements to individual tasks in the current ordered task data stream, as shown in the following formula:
[0065]
[0066] in, The optimal allocation strategy for tasks to be executed in an orderly manner. The maximum parameter for ordered pending tasks. This is the set of all tasks to be executed. For each task to be executed, Assign priority to each task to be executed. The amount of resources required for each task to be executed. The execution volume of each task to be executed;
[0067] As a further detail, the resource requirements for ordered pending tasks include: number of CPU cores, GPU computing power, memory size, and storage bandwidth.
[0068] When using it, refer to the steps outlined above.
[0069] Based on an ordered data stream of tasks awaiting execution, the K-Means clustering algorithm is used to classify different types of tasks, including computationally intensive, memory-intensive, and I / O-intensive tasks, to enable the adoption of appropriate resource allocation strategies for each task type. Furthermore, the execution volume of each task is standardized according to its type, thereby quantifying the task's execution requirements. Next, reinforcement learning methods are used to dynamically adjust the resource allocation strategy based on the task's execution volume, ensuring that different tasks receive optimal resource allocation according to their priority, resource requirements, and execution volume. This process effectively improves resource utilization, reduces task execution time, and enhances the overall performance and efficiency of the system, ultimately achieving precise management and optimization of concurrent multi-task execution.
[0070] Reference Figure 4 As shown, based on the computational requirements of individual tasks in the current ordered task data stream and the hardware processing capabilities of the calculator, a hardware-accelerated task allocation model is constructed to generate a high-performance hardware-accelerated calculator processing solution, which specifically includes the following:
[0071] Based on the resource requirements of ordered tasks to be executed, the upper limit of hardware resources for ordered tasks to be executed is analyzed using task-hardware matching rules, and a hardware compatibility matrix between the computational requirements of individual tasks to be executed and the calculator is constructed.
[0072] Based on the decision tree algorithm, each task to be executed is used as the root node and the resource requirements of the ordered tasks to be executed are used as the leaf nodes to build a task-hardware matching decision tree and construct a hardware acceleration task allocation model.
[0073] Based on a hardware-accelerated task allocation model, this paper monitors and analyzes the running status of ordered tasks according to optimization strategies, identifies the key parts with the worst performance and lowest execution efficiency, removes redundant calculations, rationally allocates resources according to task requirements, utilizes distributed computing to split the ordered tasks into multiple sub-tasks that can be executed simultaneously, and adopts efficient algorithms and data structures to reduce time complexity, maximize hardware processing capabilities, and generate a hardware-accelerated high-performance computer processing solution.
[0074] When using it, refer to the steps outlined above.
[0075] First, based on the resource requirements of the tasks to be executed, a task-hardware compatibility matrix is constructed to analyze the upper limit requirements of hardware resources for each task. Next, using a decision tree algorithm, with each task as the root node, a matching decision tree is built according to the task's resource requirements, forming a hardware-accelerated task allocation model. Then, based on this, the running status of the tasks is monitored to identify performance bottlenecks and inefficient steps, optimize the computation process, remove redundant operations, rationally allocate computing resources, and use distributed computing to decompose tasks into parallel subtasks. Simultaneously, efficient algorithms and data structures are used to reduce complexity and improve overall processing power. Ultimately, this process generates a hardware-accelerated high-performance computing solution, greatly improving computational efficiency and resource utilization, ensuring optimal performance under given hardware resources. Beneficial effects include significantly improved task execution efficiency, reduced computational latency, optimized allocation and use of hardware resources, thereby improving the overall performance of the computing system, reducing redundant operations, optimizing resource utilization, and ensuring efficient execution of complex tasks.
[0076] The foregoing has shown and described the basic principles, main features, and advantages of the present invention. Those skilled in the art should understand that the present invention is not limited to the above embodiments. The embodiments and descriptions in the specification are merely principles of the invention. Various changes and modifications can be made to the invention without departing from its spirit and scope, and all such changes and modifications fall within the scope of the claimed invention. The scope of protection claimed by the appended claims and their equivalents is defined.
Claims
1. A method of processing high performance computing based on hardware acceleration, characterized in that, The method comprises the following steps: S1, based on the calculator task queue, obtaining the to-be-executed task data stream, dividing the to-be-executed data stream according to the known hardware operation rule, and obtaining the ordered to-be-executed task data stream by using the topological sorting algorithm; S2, based on the data acquisition of the hardware parameters of the calculator, obtaining the hardware configuration parameters of the calculator, analyzing the performance upper limit of the hardware configuration parameters, and quantifying the hardware processing capacity of the calculator; S3, based on the execution volume of each to-be-executed task in the ordered to-be-executed task data stream, assigning the operation requirement of the individual to-be-executed task of the ordered to-be-executed task data stream, and the S3 comprises: Based on the ordered to-be-executed task data stream, the K-Means clustering algorithm is used to divide the ordered to-be-executed task data stream into multiple non-overlapping clusters, the initial cluster centers of multiple ordered to-be-executed tasks are selected, the Euclidean distance is used to calculate the distance between each data point in the ordered to-be-executed task data set and the initial cluster center, each data point is assigned to the nearest cluster center, and each cluster center point is recalculated. Repeat the assignment and update the center of the cluster to obtain the division of different stable clusters and complete the ordered to-be-executed task clustering; Based on the ordered to-be-executed task clustering, the execution volume of each to-be-executed task in the ordered to-be-executed task data stream is analyzed, the different task types are standardized, and the execution volume of the ordered to-be-executed task is quantified; The S3 further comprises: Based on the ordered to be executed task execution volume, using reinforcement learning method, the optimal allocation strategy of ordered to be executed task is obtained, the resource demand of ordered to be executed task is dynamically allocated, the individual to be executed task operation demand of the ordered to be executed task data flow is given, and the formula is as follows: Wherein, The optimal allocation strategy of ordered to be executed task is The maximum parameter of ordered to be executed task is The set of all to be executed tasks is Each to be executed task is The priority of each to be executed task is The resource amount required by each to be executed task is The execution volume of each to be executed task is S4, based on the operation requirement of the individual to-be-executed task of the ordered to-be-executed task data stream and the hardware processing capacity of the calculator, constructing a hardware acceleration task allocation model, and generating a hardware accelerated high-performance calculator processing scheme, and the S4 comprises: According to the ordered to-be-executed task resource requirement, the ordered to-be-executed task hardware resource upper limit is analyzed by using the task and hardware matching rule, and the hardware compatibility matrix of the individual to-be-executed task operation requirement and the calculator is constructed; Based on the decision tree algorithm, each to-be-executed task is taken as a root node, and the ordered to-be-executed task resource requirement is taken as a leaf node, a task and hardware matching decision tree is established, and a hardware acceleration task allocation model is constructed; Based on the hardware acceleration task allocation model, according to the optimization strategy, the running state of the ordered to-be-executed task is monitored and analyzed, the key part with the worst performance and the lowest execution efficiency is obtained, the repeated calculation is removed, the resources are reasonably allocated according to the task demand, the ordered to-be-executed task is split into multiple simultaneously executable subtasks by using distributed calculation, the time complexity is reduced by using efficient algorithm and data structure, the hardware processing capacity is maximized, and a hardware accelerated high-performance calculator processing scheme is generated.
2. The hardware acceleration based high performance computing processor processing method according to claim 1, wherein, The S1 comprises: Based on the calculator task queue, an element is inserted into the calculator task queue, and the element is assigned a priority; according to the priority order of the calculator task queue, the element with the highest priority in the calculator task queue is deleted; the element with the highest priority in the current calculator task queue is viewed; and a calculator task set that can be dynamically updated is established; Based on the dynamically updatable calculator task set, the to-be-executed task data stream is obtained, the to-be-executed data stream is divided according to the known hardware operation rule, and the corresponding tasks are allocated according to the hardware characteristics of GPU and multi-core CPU. Based on the GPU and multi-core CPU hardware features corresponding tasks are allocated, using topological sorting algorithm, create calculator task queue, all nodes in the queue in degree, select the in-degree of zero nodes and remove it, repeat the process until the calculator task queue is empty, generate ordered task data stream.
3. The hardware acceleration based high performance computing processor processing method according to claim 2, wherein, The S2 comprises: Based on the calculator hardware parameter data acquisition, the key parameters of the calculator hardware structure are obtained, the performance upper limit of the calculator hardware structure parameters is calculated, and the calculator hardware performance model is established.
4. The hardware acceleration based high performance computing processor processing method according to claim 3, wherein, The S2 further comprises: Using the floating point operation per second method, the maximum floating point operation number of the calculator in unit time is obtained, and the upper limit of the calculator processor performance is calculated; Based on the data transmission rate, frequency, and transmission data amount per clock cycle, the calculator hardware theoretical bandwidth is calculated, and the upper limit of the calculator storage bandwidth is obtained; Based on the maximum number of threads supported by the hardware system, the amount of calculation to be processed, and the granularity, the maximum parallelism upper limit is calculated; Based on the performance upper limit of the hardware structure parameters, the calculator hardware theoretical performance model is established, and the hardware processing capacity index of the calculator is generated.
Citation Information
Patent Citations
Task scheduling optimization method and system based on equipment state analysis
CN118193169A
Heterogeneous computing acceleration method and system based on deep learning framework network
CN120429123A