A test method and test system applied to an AI accelerator platform

By dividing the task queues in the AI ​​testing framework to execute test cases in parallel and dynamically allocating resources, the test latency problem caused by resource contention is solved, and efficient and flexible testing of the AI ​​accelerator platform is achieved.

CN122111846APending Publication Date: 2026-05-29SPREADTRUM COMMUNICATION (SHANGHAI) CO LTD
View PDF 0 Cites 0 Cited by

Patent Information

Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
SPREADTRUM COMMUNICATION (SHANGHAI) CO LTD
Filing Date
2026-02-03
Publication Date
2026-05-29

AI Technical Summary

Technical Problem

Existing AI testing frameworks suffer from resource contention issues in parallel testing, leading to delays in some test tasks, affecting overall testing speed and efficiency, and lacking the flexibility to dynamically adjust test priorities.

Method used

By dividing multiple test cases into multiple task queues based on available resource information, executing test cases in the task queues in parallel, and dynamically allocating remaining resources when a task queue is not completed, combined with the dynamic link library files and preset format conversion of the AI ​​accelerator platform, resource allocation and test priority are optimized.

Benefits of technology

Resource balancing between task queues was achieved, conflicts were avoided, resource allocation strategies were dynamically adjusted, testing efficiency and speed were improved, and efficient testing of the AI ​​accelerator platform was ensured.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN122111846A_ABST
    Figure CN122111846A_ABST
Patent Text Reader

Abstract

The present disclosure provides a test method and test system applied to an AI accelerator platform, according to available resource information, a plurality of task queues are divided, and available resource information is allocated to each task queue, which can ensure that resources are not preempted between task queues and conflicts are avoided. At the same time, according to the test completion of the task queue, the remaining available resource information is dynamically adjusted, which is beneficial to compress the total test time consumption and realize the optimal efficiency.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This disclosure relates to the field of AI accelerator testing technology, and in particular to a testing method and testing system applied to AI accelerator platforms. Background Technology

[0002] Current AI testing frameworks have shortcomings in supporting parallel testing. When multiple test tasks run simultaneously, it can lead to competition for computing resources (such as CPU and GPU). This competition may cause some test tasks to be delayed due to insufficient resources, thus affecting the overall testing speed and efficiency. At the same time, the inability to dynamically adjust test priorities based on specific test conditions during the testing process results in a lack of flexibility. Summary of the Invention

[0003] This disclosure provides a testing method for an AI accelerator platform. The method includes: dividing multiple test cases into multiple task queues based on available resource information, each task queue including multiple test cases, and using available resource information at least to allocate to the task queues; executing multiple test cases in multiple task queues in parallel; and dynamically allocating remaining available resource information to the remaining test cases in the task queues when the test in a task queue is not completed, wherein the remaining available resource information is a part of the available resource information.

[0004] In embodiments of this disclosure, the method further includes: recording the execution status of each task queue, the execution status including at least the completion status of the task queue; and releasing the available resource information allocated to the task queue when the task queue completes the test.

[0005] In embodiments of this disclosure, the method further includes: loading multiple dynamic link library files, each corresponding to a multiple AI accelerator platform; and obtaining the path where the dynamic link library files are located, so as to call the corresponding AI accelerator platform based on the path where the dynamic link library files are located.

[0006] In embodiments of this disclosure, the method further includes: converting at least one AI framework model into multiple preset formats based on multiple AI accelerator platforms, wherein the multiple preset formats correspond one-to-one with the multiple AI accelerator platforms, and the preset formats are formats supported by the AI ​​accelerator platforms.

[0007] In embodiments of this disclosure, at least one AI framework model is converted into multiple preset formats, including: converting the AI ​​framework model into preset formats based on preset operator segmentation methods and preset data layout formats.

[0008] In embodiments of this disclosure, multiple test cases in multiple task queues are executed in parallel, including: using multiple AI framework models converted to a preset format, and an AI accelerator platform corresponding to the preset format, to execute multiple test cases in multiple task queues; and determining key metrics for each AI framework model converted to the preset format.

[0009] In embodiments of this disclosure, the method further includes: storing key metrics for each AI framework model converted to a preset format, wherein the key metrics are used at least to allocate available resource information to the task queue.

[0010] In another aspect, this disclosure provides a testing system applied to an AI accelerator platform. The testing system includes: a partitioning module, which is used to partition multiple test cases into multiple task queues based on available resource information, each task queue including multiple test cases, and the available resource information is used to allocate at least to the task queues; an execution module, which is used to execute multiple test cases in the multiple task queues in parallel; and an allocation module, which is used to allocate remaining available resource information to the remaining test cases in the task queues when the test in the task queues is not completed, the remaining available resource information being a part of the available resource information.

[0011] In another aspect, embodiments of this disclosure provide a network device, including: a memory for storing computer-readable instructions; and a processor for executing the computer-readable instructions, causing the network device to perform the test method described above.

[0012] In another aspect, embodiments of this disclosure provide a non-transitory computer-readable storage medium for storing computer-readable instructions that, when executed by a processor, cause the processor to perform the test method described above.

[0013] In another aspect, embodiments of this disclosure provide a computer program product, including a computer program that, when executed by a processor, implements the above-described testing method. Attached Figure Description

[0014] The above and other objects, features, and advantages of this disclosure will become more apparent from the more detailed description of the embodiments thereof in conjunction with the accompanying drawings. The drawings are provided to further illustrate the embodiments of this disclosure and form part of the specification. They are used together with the embodiments of this disclosure to explain the disclosure and do not constitute a limitation thereof. In the drawings, the same reference numerals generally represent the same components or steps.

[0015] Figure 1 The schematic diagram illustrates an environmental application according to an embodiment of the present disclosure.

[0016] Figure 2A flowchart illustrating a testing method applied to an AI accelerator platform according to an embodiment of the present disclosure is shown.

[0017] Figure 3 A flowchart illustrating the parallel execution of multiple test cases in multiple task queues according to an embodiment of the present disclosure is shown.

[0018] Figure 4 This is a schematic diagram of a testing method applied to an AI accelerator platform according to an embodiment of the present disclosure.

[0019] Figure 5 A block diagram illustrating a testing framework applied to an AI accelerator platform according to an embodiment of the present disclosure is shown.

[0020] Figure 6 A block diagram of a network device according to an embodiment of the present disclosure is shown schematically.

[0021] Figure 7 A block diagram illustrating a non-transitory computer-readable storage medium according to an embodiment of the present disclosure is shown.

[0022] Figure 8 A block diagram illustrating a computer program product according to an embodiment of the present disclosure is shown schematically. Detailed Implementation

[0023] To make the objectives, technical solutions, and advantages of this disclosure more apparent, exemplary embodiments according to this disclosure will now be described in detail with reference to the accompanying drawings. Obviously, the described embodiments are merely some embodiments of this disclosure, and not all embodiments of this disclosure. It should be understood that this disclosure is not limited to the exemplary embodiments described herein.

[0024] Figure 1 The schematic diagram illustrates an environmental application according to an embodiment of the present disclosure.

[0025] like Figure 1 As shown, network device 101 can be a computing device with data processing, logical operation, and storage functions. For example, network device 101 may include computing devices such as servers, tablets, desktop computers, laptops, notebook computers, computing nodes, or netbooks. The server can be different types of servers, such as rack servers, blade servers, or tower servers. A server may include one or more computing nodes, each computing node including at least one CPU. When a server includes multiple computing nodes, the multiple CPUs in the multiple computing nodes share a single operating system.

[0026] Network device 101 can be deployed with a test system for AI accelerator platforms. The test system can support different AI framework models and multiple AI accelerator platforms. The test scope can cover the support, accuracy, performance, power consumption and stability of operators and AI framework models. At the same time, it can also generate test reports and modification suggestions according to requirements.

[0027] Next, this article will combine Figures 2-4 The testing system and testing methods are described in detail.

[0028] Figure 2 A flowchart illustrating a testing method applied to an AI accelerator platform according to an embodiment of the present disclosure is shown.

[0029] like Figure 2 As shown in step S201, based on available resource information, multiple test cases are divided into multiple task queues. Each task queue includes multiple test cases, and available resource information is used at least to allocate them to the task queues.

[0030] In the embodiments of this disclosure, available resource information may include the number of available CPU cores in the current test environment, such as 8 cores or 16 cores. The testing system can utilize the number of available CPU cores and the total number of test cases to divide multiple test cases into multiple task queues, with each task queue containing multiple test cases. Test cases can be used in testing AI accelerator platforms to test key indicators such as the performance of the AI ​​accelerator platform. For example, test cases may include accuracy test cases, performance test cases, stability test cases, etc.

[0031] Based on available resource information, multiple test cases can be divided into multiple task queues. This can include evenly distributing test cases. For example, multiple task queues can be created using the number of available CPU cores and the number of subtasks. If there are 8 CPU cores, they need to be split into 8 subtasks, so there can be 8 task queues, with each task queue allocated 1 CPU core. Also, assuming a total of 800 test cases, each task queue would contain 100 test cases.

[0032] In addition, available resource information can also include resources such as memory quotas. By generating multiple task queues based on available resource information and allocating independent CPU cores, memory quotas and other available resource information to each task queue, it can be ensured that task queues do not compete for resources and avoid conflicts.

[0033] S202. Execute multiple test cases in multiple task queues in parallel.

[0034] In the embodiments of this disclosure, all task queues are started simultaneously, executing multiple test cases in parallel. For example, once test preparation is complete, the test system can send execution instructions to all CPU cores simultaneously. Since each CPU core has a corresponding task queue and independently executes all test cases within that queue, all task queues start executing test cases simultaneously, thereby fully leveraging the parallel computing advantages of multi-core CPUs.

[0035] S203. When the test in the task queue is not completed, dynamically allocate the remaining available resource information to the remaining test cases in the task queue. The remaining available resource information is a part of the available resource information.

[0036] In the embodiments of this disclosure, after executing multiple test cases in multiple task queues in parallel, the testing system can obtain the test progress and test records of multiple task queues in real time, and dynamically adjust the available resource information based on the test progress and test records. For example, when a task queue completes its test ahead of schedule, the available resource information corresponding to that task queue is in an available state. At this time, if a task queue has not completed its test, the testing system can allocate the remaining available resource information to that task queue. This allows all task queues to complete their tasks as simultaneously as possible, achieving load balancing across all core components, preventing a single slow task from slowing down the overall test progress, and further reducing the total test time.

[0037] During execution, the priority and number of test resources for each execution can be dynamically allocated based on factors such as the time the test case was added, its importance, and its execution time (the average execution time of each test case is calculated). For example, the allocation of CPU cores can be dynamically adjusted based on the task queue's runtime and load. Furthermore, after testing begins, the priorities of test cases and task queues can be dynamically determined, prioritizing test cases in high-priority task queues, including basic functional test cases and newly added test cases for new features in this test.

[0038] According to embodiments of this disclosure, by generating multiple task queues based on available resource information and allocating available resource information to each task queue, it can be ensured that task queues do not compete for resources, thus avoiding conflicts. Simultaneously, dynamically adjusting the remaining available resource information based on the test completion status of each task queue helps to reduce the total test time and achieve optimal efficiency.

[0039] In embodiments of this disclosure, such as Figure 2 The method also includes: recording the execution status of each task queue, including at least the completion status of the task queue; and releasing the available resource information allocated to the task queue when the task queue completes the test.

[0040] During testing, the testing system can record the progress and completion status of each task queue in real time, for example, through logging. This includes recording the ID of each task queue, the corresponding CPU core number, the startup timestamp, and the number of completed test cases / total test cases.

[0041] In some embodiments, in addition to recording the completion progress of each task queue, the testing system can also record key information such as critical node information and performance information. Key node information includes the reasons for test case execution success / failure and the triggering conditions for task pause / resumption. Performance information includes the current CPU utilization and memory usage of the task queue. By dynamically monitoring the execution status of each task queue through real-time logging, the testing process is ensured to be traceable, anomalies can be detected promptly, and data is provided for subsequent dynamic resource adjustments.

[0042] When a task queue completes testing, the testing system can release the available resources allocated to that task queue, such as the CPU cores it occupies, making them available for other incomplete task queues. For example, real-time log monitoring can capture a task queue displaying "Test Complete," such as: Task Queue 3: 100 / 100 test cases executed successfully without errors. The testing system can then release the CPU cores bound to that task queue, along with any associated resources such as memory and temporary files. Furthermore, the testing system can also query the execution status of other task queues in real time. If a task queue has not completed testing, the system can allocate the remaining idle CPU cores to slower, incomplete task queues, allowing them to execute some of the unexecuted test cases.

[0043] This avoids CPU core idleness, dynamically adjusts resource allocation strategies, maximizes resource utilization, and further reduces overall test time.

[0044] In embodiments of this disclosure, such as Figure 2 The method also includes: loading multiple dynamic link library files, each corresponding to a different AI accelerator platform; and obtaining the path of the dynamic link library file so as to call the corresponding AI accelerator platform based on the path of the dynamic link library file.

[0045] Because different AI accelerator platforms have different hardware architectures, communication protocols, and computing logic, the required testing environment and test execution libraries are different for each AI accelerator platform. The test execution library is a set of tools for the interaction between the testing system and the AI ​​accelerator platform; it must be adapted to each AI accelerator platform and cannot be used across different AI accelerator platforms. For example, the test execution library for AI accelerator platform A cannot drive the accelerator on AI accelerator platform B.

[0046] Therefore, during the test environment preparation, corresponding dynamic link library files can be loaded for different AI accelerator platforms to be tested. Dynamic link library files, such as shared object files (SO files), are the core functional carriers of the test execution library, containing the underlying code for the framework to call accelerator computing power, execute model inference, and transmit data. Therefore, the SO files specific to the AI ​​accelerator platform can be loaded and brought into the test environment, making them callable components of the test system.

[0047] Furthermore, the path to the dynamic link library file can be obtained and configured into the environment variables of the test system. This allows the test system to find the corresponding dynamic link library file, such as the .so file, of the AI ​​accelerator platform directly through the environment variables during test execution without having to traverse all folders. At the same time, it avoids calling dynamic link library files of other platforms, thereby achieving accurate calls and ensuring the correctness of the calls.

[0048] By loading the dynamic link library files corresponding to the AI ​​accelerator platform and obtaining the path of the dynamic link library files, the dynamic link library files and test execution libraries of the corresponding AI accelerator platform can be accurately read through the path of the dynamic link library files. Then, based on these components, communication is established with the AI ​​accelerator platform, thereby completing subsequent processes such as model conversion, task segmentation, and inference testing, without the need for manual intervention in file calls throughout the entire process.

[0049] In embodiments of this disclosure, such as Figure 2 The method also includes: converting at least one AI framework model into multiple preset formats based on multiple AI accelerator platforms, with each preset format corresponding to one of the multiple AI accelerator platforms, and the preset format being a format supported by the AI ​​accelerator platform.

[0050] AI framework models can refer to general AI models, such as third-party AI framework models. These cannot run directly on AI accelerator platforms and must undergo format conversion and hardware adaptation to achieve efficient inference on dedicated accelerators. Therefore, AI framework models can be converted to a preset format first, for example, by using conversion tools in the AI ​​software stack to convert third-party framework models into a preset format.

[0051] In some embodiments, the preset format refers to the format supported by the AI ​​accelerator platform. Different AI accelerator platforms support different formats, so the AI ​​framework model can be converted into multiple preset formats according to the AI ​​accelerator platform. This allows the AI ​​framework model to run on multiple AI accelerator platforms. For example, the model obtained by converting a third-party AI framework model using the conversion tool of AI accelerator platform A cannot be directly executed on AI accelerator platform B and needs to be converted again.

[0052] In some embodiments, the testing system can capture information about the AI ​​software stack compilation process, such as user-focused subgraph segmentation, compilation time, and runtime. The testing system can then generate relevant test data and provide feedback to the users.

[0053] In embodiments of this disclosure, at least one AI framework model is converted into multiple preset formats, including: converting the AI ​​framework model into preset formats based on preset operator segmentation methods and preset data layout formats.

[0054] During the conversion stage of transforming the AI ​​framework model into a preset format, the operator segmentation method and data layout format can be set to make the computational logic of the converted AI framework model more compatible with the hardware characteristics of the AI ​​accelerator platform, thereby testing the optimal running performance of the AI ​​framework model on the AI ​​accelerator platform.

[0055] In some embodiments, the preset operator segmentation method and preset data layout format can refer to those preset by the user. The data layout format can refer to the layout format of a data tensor. A tensor is a container for storing data in an AI framework model, while the layout format refers to the order in which data is arranged within the container. This order determines the speed at which the AI ​​accelerator reads data. The data layout format can include NCHW and NHWC. Taking image data as an example, N (batch size) refers to the number of images processed at once, C (number of channels) refers to the number of channels for RGB color images (3 channels) and for black and white images (1 channel), and H (height) and W (width) refer to the pixel dimensions of the image. NCHW refers to a hardware architecture suitable for AI accelerators and GPUs, where the batch size, number of channels, height, and width are arranged to suit the hardware architecture. AI accelerators can read all data from the same channel at once, resulting in high batch processing efficiency. NHWC refers to a layout suitable for ordinary CPUs and mobile chips, where the batch size, height, width, and number of channels are arranged to suit the hardware architecture of AI accelerators and GPUs, resulting in more efficient reading of the complete pixels of a single image. Different AI accelerators optimize data layout formats in different ways, so a preset data layout format can be set to test the optimal performance of the AI ​​framework model.

[0056] Operators are the basic computational units of a model (such as convolution and matrix multiplication), and the computational tasks of complex models consist of hundreds or thousands of operators. Operator partitioning refers to the rules for breaking down these computational tasks into smaller chunks. Different partitioning methods have vastly different impacts on resource utilization. Pre-defined operator partitioning methods can be used to test the optimal performance of AI framework models. For example, partitioning by computational complexity: breaking down time-consuming large operators (such as large matrix multiplications) into multiple smaller operators to avoid a single operator consuming all resources and causing lag; or partitioning by execution order: splitting operators that can be computed simultaneously into parallel tasks, while maintaining the serial order of dependent operators. By comparing various operator partitioning methods, the method with the highest core utilization and shorter inference time can be determined.

[0057] When converting AI framework models, setting operator segmentation methods and data layout formats, and collecting the execution time of different operator segmentation strategies, can help developers with development and performance optimization.

[0058] Figure 3 A flowchart illustrating the parallel execution of multiple test cases in multiple task queues according to an embodiment of the present disclosure is shown.

[0059] like Figure 3 As shown, S202 includes S301 and S302.

[0060] S301. Utilize multiple AI framework models converted to a preset format, and an AI accelerator platform corresponding to the preset format, to execute multiple test cases in multiple task queues.

[0061] In the embodiments of this disclosure, during the inference phase, multiple AI framework models converted to a preset format of the AI ​​accelerator platform can be used, combined with the corresponding AI accelerator platform and its supporting components, to batch execute various test cases to verify the performance, accuracy, and stability of different AI framework models on the same AI accelerator platform and the same AI framework model on different AI accelerator platforms. For example, the converted AI framework models are first deployed to the corresponding AI accelerator platform; then, the supporting components of the AI ​​accelerator platform are called to load the input data of the test cases; further, inference is executed according to the preset operator segmentation method and the preset data layout format. It is understood that during the execution of test case inference, the same procedures must be followed. Figure 2 The test method shown.

[0062] S302. Determine the key metrics for each AI framework model converted to the preset format.

[0063] In the embodiments of this disclosure, key metrics may include the computational output of the AI ​​framework model and the performance metrics of the AI ​​accelerator platform corresponding to a preset format. The computational output of the AI ​​framework model can refer to the direct prediction result output by the AI ​​framework model based on the input test cases. For example, if the AI ​​framework model is an image recognition model, the computational output can be the recognition result of the input image plus its confidence level. Performance metrics can be the performance metrics of the AI ​​accelerator platform deployed on the transformed AI framework model, reflecting the operating efficiency of the AI ​​accelerator. Examples include single-batch inference time (total time for processing a batch of data), throughput (amount of data processed per unit time), AI accelerator core utilization, and CPU utilization.

[0064] In some embodiments, key metrics may also include execution results, such as execution success markers, execution failure markers, and accuracy comparison results (comparison results of the AI ​​framework model's output on the AI ​​accelerator with the output of the original third-party framework model).

[0065] In embodiments of this disclosure, such as Figure 3 The method also includes storing key metrics for each AI framework model converted to a preset format, with the key metrics being used at least to allocate available resource information to the task queue.

[0066] The testing system can store and analyze key metrics of AI framework models. During the analysis phase, it can analyze the AI ​​framework model's logs, statistically analyzing performance, heterogeneity information, graph partitioning information, and more. Simultaneously, it can save the raw data from the most recent test for comparison with historical baselines, identifying performance fluctuations. Furthermore, based on the average performance data from historical tests and the performance data from the most recent test, it can provide a reference for allocating available resources for the next test. For example, based on the model's heterogeneous requirements and graph partitioning analysis, it can dynamically adjust the computing resources allocated to test tasks to improve overall testing efficiency and stability.

[0067] Figure 4 This is a schematic diagram of a testing method applied to an AI accelerator platform according to an embodiment of the present disclosure.

[0068] S401. Divide the test cases into multiple task queues based on available resource information. For example, the test system can determine the test cases and their number, determine the available resource information of the test system (number of idle CPUs), and divide the test cases into multiple task queues based on the available resource information.

[0069] S402, Load the test environment. This includes, for example, identifying the AI ​​accelerator platform to be tested, loading the hardware configuration, obtaining the corresponding .so file, adding the path of the .so file to the environment variables, and setting the operator splitting method and data layout format.

[0070] S403, AI Framework Model Conversion. Based on the AI ​​accelerator platform, the configured operator segmentation method, and data layout format, the AI ​​framework model is converted into a format supported by the AI ​​accelerator platform.

[0071] S404, AI Framework Model Inference. If the conversion is successful, use the converted AI framework model and test cases to perform inference and determine key metrics. If the conversion fails, modification suggestions can be made based on the recorded logs.

[0072] S405. Key Performance Indicator (KPI) Evaluation. In cases of successful inference, key performance indicators (KPIs) can be used to evaluate the AI ​​accelerator platform, such as accuracy and performance. Conversely, in cases of inference failure, modification suggestions can be made based on recorded logs for subsequent improvements.

[0073] Figure 5 A block diagram illustrating a testing framework applied to an AI accelerator platform according to an embodiment of the present disclosure is shown.

[0074] like Figure 5 As shown, the test framework 500 includes a partitioning module 501, an execution module 502, and an allocation module 503.

[0075] The partitioning module 501 is used to partition multiple test cases into multiple task queues based on available resource information. Each task queue includes multiple test cases, and the available resource information is used to allocate at least to the task queues. The execution module 502 is used to execute multiple test cases in multiple task queues in parallel. The allocation module 503 is used to allocate remaining available resource information to the remaining test cases in the task queues when the tests in the task queues are not completed. The remaining available resource information is a part of the available resource information.

[0076] Figure 6 A block diagram of a network device according to an embodiment of the present disclosure is shown schematically.

[0077] like Figure 6 As shown, the network device 600 includes a memory 601 and a processor 602.

[0078] The memory 601 is used to store computer-readable instructions; and the processor 602 is used to execute the computer-readable instructions, causing the network device 600 to perform the test method described above.

[0079] Figure 7 A block diagram illustrating a non-transitory computer-readable storage medium according to an embodiment of the present disclosure is shown.

[0080] like Figure 7As shown, a non-transitory computer-readable storage medium 700 according to an embodiment of the present disclosure is used to store computer-readable instructions 701, which, when executed by a processor, cause the processor to perform the test method described above.

[0081] Figure 8 A block diagram illustrating a computer program product according to an embodiment of the present disclosure is shown schematically.

[0082] like Figure 8 As shown, a computer program product 800 according to an embodiment of this disclosure includes a computer program 801, which, when executed by a processor, implements the testing method described above.

[0083] The basic principles of this disclosure have been described above with reference to specific embodiments. However, it should be noted that the advantages, benefits, and effects mentioned in this disclosure are merely examples and not limitations, and should not be considered as essential features of each embodiment of this disclosure. Furthermore, the specific details disclosed above are for illustrative and facilitative purposes only, and are not limitations. These details do not limit the scope of this disclosure to the necessity of employing the aforementioned specific details for implementation.

[0084] The block diagrams of devices, apparatuses, devices, and systems disclosed herein are merely illustrative examples and are not intended to require or imply that they must be connected, arranged, or configured in the manner shown in the block diagrams. As those skilled in the art will recognize, these devices, apparatuses, devices, and systems can be connected, arranged, and configured in any manner. Words such as “comprising,” “including,” “having,” etc., are open-ended terms meaning “including but not limited to,” and are used interchangeably with them. The terms “or” and “and” as used herein refer to the terms “and / or,” and are used interchangeably with them unless the context clearly indicates otherwise. The term “such as” as used herein refers to the phrase “such as but not limited to,” and is used interchangeably with it.

[0085] Additionally, as used herein, the "or" used in a list of items beginning with "at least one" indicates a separate list, such that a list of, for example, "at least one of A, B, or C" means A or B or C, or AB or AC or BC, or ABC (i.e., A and B and C). Furthermore, the word "exemplary" does not imply that the described example is preferred or better than other examples.

[0086] It should also be noted that in the systems and methods of this disclosure, the components or steps can be decomposed and / or recombined. These decompositions and / or recombinations should be considered as equivalent solutions to this disclosure.

[0087] Various changes, substitutions, and modifications can be made to the technology described herein without departing from the teachings defined by the appended claims. Furthermore, the scope of the claims of this disclosure is not limited to the specific aspects of the processes, machines, manufactures, events, means, methods, and actions described above. Currently existing or later-developed processes, machines, manufactures, events, means, methods, or actions that perform substantially the same function or achieve substantially the same result as the corresponding aspects described above can be utilized. Therefore, the appended claims include such processes, machines, manufactures, events, means, methods, or actions within their scope.

[0088] The above description of the disclosed aspects is provided to enable any person skilled in the art to make or use this disclosure. Various modifications to these aspects will be readily apparent to those skilled in the art, and the general principles defined herein may be applied to other aspects without departing from the scope of this disclosure. Therefore, this disclosure is not intended to be limited to the aspects shown herein, but rather to be carried out within the widest scope consistent with the principles and novel features disclosed herein.

[0089] The above description has been given for purposes of illustration and description. Furthermore, this description is not intended to limit the embodiments of this disclosure to the forms disclosed herein. Although numerous exemplary aspects and embodiments have been discussed above, those skilled in the art will recognize certain variations, modifications, alterations, additions, and sub-combinations therein.

Claims

1. A testing method applied to an AI accelerator platform, characterized in that, The method includes: Based on available resource information, multiple test cases are divided into multiple task queues, each task queue including multiple test cases, and the available resource information is used at least to allocate to the task queues; Execute multiple test cases from multiple task queues in parallel; and When the test in the task queue is not completed, the remaining available resource information is dynamically allocated to the remaining test cases in the task queue. The remaining available resource information is a part of the available resource information.

2. The test method according to claim 1, characterized in that, The method further includes: Record the execution status of each task queue, the execution status including at least the completion status of the task queue; and When the task queue completes the test, the available resource information allocated to the task queue is released.

3. The test method according to claim 1, characterized in that, The method further includes: Load multiple dynamic link library files, each corresponding one-to-one with a different AI accelerator platform; and Obtain the path where the dynamic link library file is located, so as to call the corresponding AI accelerator platform based on the path where the dynamic link library file is located.

4. The test method according to claim 3, characterized in that, The method further includes: converting at least one AI framework model into multiple preset formats based on multiple AI accelerator platforms, wherein each preset format corresponds one-to-one with one of the multiple AI accelerator platforms, and the preset format is a format supported by the AI ​​accelerator platform.

5. The test method according to claim 4, characterized in that, The step of converting at least one AI framework model into multiple preset formats includes: converting the AI ​​framework model into the preset formats based on preset operator segmentation methods and preset data layout formats.

6. The test method according to claim 5, characterized in that, The parallel execution of multiple test cases from multiple task queues includes: Utilizing multiple AI framework models converted to a preset format, and the AI ​​accelerator platform corresponding to the preset format, multiple test cases from multiple task queues are executed; and Identify the key metrics for each AI framework model converted to a preset format.

7. The test method according to claim 6, characterized in that, The method further includes storing key metrics for each AI framework model converted to a preset format, wherein the key metrics are used at least to allocate the available resource information to the task queue.

8. A testing system applied to an AI accelerator platform, characterized in that, The testing system includes: A partitioning module is used to partition multiple test cases into multiple task queues based on available resource information. Each task queue includes multiple test cases, and the available resource information is used to allocate at least to the task queues. An execution module, wherein the execution module is configured to execute multiple test cases in multiple task queues in parallel; and The allocation module is used to dynamically allocate remaining available resource information to the remaining test cases in the task queue when the test queue has not been completed. The remaining available resource information is a part of the available resource information.

9. A network device, characterized in that, include: Memory, used to store computer-readable instructions; as well as A processor for executing the computer-readable instructions, causing the network device to perform the test method as described in any one of claims 1 to 7.

10. A computer program product, comprising a computer program, characterized in that, When the computer program is executed by a processor, it implements the test method as described in any one of claims 1 to 7.