Methods, systems, modules, devices, and media for testing a graphics processing unit

By automatically replaying key game scenarios and using artificial intelligence models to identify defects, combined with hardware monitoring results, this technology solves the problems of low efficiency and inconsistent standards in existing manual testing, and achieves efficient and accurate GPU graphics card compatibility and stability testing.

CN115237696BActive Publication Date: 2026-04-24SHANGHAI BIREN TECH CO LTD
View PDF 0 Cites 0 Cited by

Patent Information

Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
SHANGHAI BIREN TECH CO LTD
Filing Date
2022-07-27
Publication Date
2026-04-24

AI Technical Summary

Technical Problem

Existing technologies for testing the compatibility and stability of graphics processing unit (GPU) chips suffer from problems such as high manual workload, low efficiency, and inconsistent measurement standards, and lack an end-to-end automated testing framework.

Method used

By recording players' game actions, key scenes are automatically replayed, and artificial intelligence models are used to identify defects in the game's graphics. Combined with hardware monitoring results, an automated testing framework is achieved.

Benefits of technology

It reduces manual labor and time costs, ensures uniformity of measurement standards, improves testing efficiency and accuracy, and enables more accurate detection of the compatibility and stability of graphics processing units.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN115237696B_ABST
    Figure CN115237696B_ABST
Patent Text Reader

Abstract

Provided are a method, system, module, device and medium for testing a graphics processing unit running a game, the method comprising the following steps: automatically replaying one or more times a game segment of the game running on the graphics processing unit, the game segment comprising one or more key scenes, by recording the game operation of a player; intercepting one or more game pictures in the automatically replayed game segment; determining whether the one or more game pictures have any defects by using an artificial intelligence model; and determining the compatibility and stability of the graphics processing unit based on the result of the determination and the hardware-related monitoring result of the graphics processing unit.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This application relates to graphics processing unit (GPU) chip technology, and more specifically to methods, systems, modules, electronic devices, and non-temporary storage media for testing and running a game using a GPU. Background Technology

[0002] A Graphics Processing Unit (GPU) chip is a specialized processor designed for high throughput, primarily used for graphics processing. It can have more arithmetic logic units (ALUs), making it suitable for parallel processing and concurrent computation of dense, high-throughput data. Therefore, GPUs are also used in scenarios requiring large-scale concurrent computation and high throughput, such as AI training and game rendering. One important application of GPUs is in various game rendering scenarios. When testing the compatibility and stability of GPUs, it is common practice to continuously run different games on the GPU under test to monitor its compatibility and stability, thereby ensuring that the quality and performance of the manufactured GPUs meet specific requirements. Summary of the Invention

[0003] According to one aspect of this application, a method is provided for testing a graphics processing unit (GPU) running a game, comprising the following steps: automatically replaying a game segment including one or more key scenes in the game running on the GPU once or multiple times by recording player game operations; capturing one or more game frames from the automatically replayed game segment; using an artificial intelligence model to determine whether the one or more game frames have any defects; and determining the compatibility and stability of the GPU based on the result of the determination and hardware-related monitoring results of the GPU.

[0004] In one embodiment, the step of automatically replaying game segments, including key scenes, in the game running on the graphics processing unit once or multiple times by recording player game operations includes: identifying key scenes in the game; recording various game operations performed by the player manually in the key scenes; and automatically replaying the recorded various game operations once or multiple times in the key scenes.

[0005] In one embodiment, the step of recording the various game operations of the manual player in the key scene includes: determining whether the game supports in-game recording and replay; if supported, using an in-game recording and replay control to record the various game operations of the manual player in the key scene, wherein the step of automatically rerunning the recorded various game operations once or multiple times in the key scene includes using external recording software to simulate clicking the replay button of the in-game recording and replay control to rerun the various game operations recorded by the in-game recording and replay control once or multiple times; if not supported, using external recording software to record the various game operations of the manual player in the key scene, wherein the step of automatically rerunning the recorded various game operations once or multiple times in the key scene includes using external recording software to rerun the various game operations recorded by the external recording software once or multiple times based on the recorded various game operations.

[0006] In one embodiment, the artificial intelligence model is trained using game footage with specific defects as training data.

[0007] In one embodiment, the key scenario is a game scenario where the game experience exceeds a certain threshold and / or the compatibility and stability requirements of the graphics processing unit exceed a certain threshold.

[0008] In one embodiment, the game operation is the operation of at least one of the user's mouse, keyboard, joystick, dial, scroll wheel, and scroll wheel. The defects of the game screen include at least one of the following: screen dragging, missing texture maps, character lag, sticky points, screen freeze, black screen, game crash, game crash, return to desktop, and screen distortion. The hardware-related monitoring results of the graphics processing unit include at least one of the following: number of frame drops per hour, texture loading time, hardware temperature of the graphics processing unit, fan speed of the graphics processing unit, power consumption of the graphics processing unit, and hardware memory usage of the graphics processing unit.

[0009] According to another aspect of this application, a system for testing a graphics processing unit (GPU) running a game is provided, comprising: one or more GPUs configured to run one or more games, wherein a game segment including one or more key scenes in the game running on the one or more GPUs is automatically replayed once or multiple times by recording player game operations, and one or more game frames are captured from the automatically replayed game segments; a general-purpose graphics processing unit (GPU) or central processing unit (CPU) configured to run an artificial intelligence model to determine what kind of defects exist in the one or more game frames, wherein the compatibility and stability of the GPU are determined based on the result of the determination and hardware-related monitoring results of the GPU.

[0010] In one embodiment, the general-purpose graphics processing unit or central processing unit is configured to train the artificial intelligence model by using game footage with specific defects as training data.

[0011] According to another aspect of this application, a module for testing a graphics processing unit (GPU) running a game is provided, comprising: a replay device configured to automatically replay a game segment including one or more key scenes in the game running on the GPU once or multiple times by recording player game operations; a capture device configured to capture one or more game frames from the automatically replayed game segments; a judgment device configured to use an artificial intelligence model to determine whether the one or more game frames have any defects; and a determination device configured to determine the compatibility and stability of the GPU based on the judgment result and hardware-related monitoring results of the GPU.

[0012] In one embodiment, the replay device is configured as: an identification device configured to identify key scenes in the game; a recording device configured to record various game operations performed by the player manually in the key scenes; and a running device configured to automatically rerun the recorded various game operations once or multiple times in the key scenes.

[0013] In one embodiment, the recording device is configured to: determine whether the game supports in-game recording and replay; if supported, use in-game recording and replay controls to record various game operations performed manually in the key scene, wherein the step of automatically rerunning the recorded various game operations once or multiple times in the key scene includes using external recording software to simulate clicking the replay button of the in-game recording and replay controls to rerun the various game operations recorded by the in-game recording and replay controls once or multiple times; if not supported, use external recording software to record various game operations performed manually in the key scene, wherein the step of automatically rerunning the recorded various game operations once or multiple times in the key scene includes using external recording software to rerun the various game operations recorded by the external recording software once or multiple times based on the recorded various game operations.

[0014] In one embodiment, the module further includes a training device configured to train the artificial intelligence model by using game footage with specific defects as training data.

[0015] In one embodiment, the key scenario is a game scenario where the game experience exceeds a certain threshold and / or the compatibility and stability requirements of the graphics processing unit exceed a certain threshold.

[0016] In one embodiment, the game operation is the operation of at least one of the user's mouse, keyboard, joystick, dial, scroll wheel, and scroll wheel. The defects of the game screen include at least one of the following: screen dragging, missing texture maps, character lag, sticky points, screen freeze, black screen, game crash, game crash, return to desktop, and screen distortion. The hardware-related monitoring results of the graphics processing unit include at least one of the following: number of frame drops per hour, texture loading time, hardware temperature of the graphics processing unit, fan speed of the graphics processing unit, power consumption of the graphics processing unit, and hardware memory usage of the graphics processing unit.

[0017] According to another aspect of this application, an electronic device is provided, comprising: a memory for storing instructions; and a processor for reading the instructions from the memory and executing the method described according to an embodiment of this application.

[0018] According to another aspect of this application, a non-temporary storage medium is provided, on which instructions are stored, wherein, when read by a processor, the instructions cause the processor to execute the method described according to an embodiment of this application. Attached Figure Description

[0019] To more clearly illustrate the technical solutions in the embodiments of this disclosure or the prior art, the drawings used in the description of the embodiments or the prior art will be briefly introduced below. Obviously, the drawings described below are only some embodiments of this disclosure. For those skilled in the art, other drawings can be obtained based on these drawings without creative effort.

[0020] Figure 1 A schematic flowchart of a method for testing a graphics processing unit running a game according to an embodiment of this application is shown.

[0021] Figure 2 A schematic flowchart illustrating the specific steps of step 110 according to an embodiment of this application is shown.

[0022] Figure 3 A schematic flowchart illustrating the specific steps of step 112 according to an embodiment of this application is shown.

[0023] Figure 4 A schematic flowchart of a method for testing and running a game's graphics processing unit in accordance with an embodiment of this application in a specific scenario is shown.

[0024] Figure 5 An example block diagram of a system for a graphics processing unit that tests and runs a game according to an embodiment of this application is shown.

[0025] Figure 6 A schematic diagram of a software stack hierarchy according to an embodiment of this application is shown.

[0026] Figure 7 An example block diagram of a graphics processing unit module for a test-running game according to an embodiment of this application is shown.

[0027] Figure 8 A block diagram of an exemplary electronic device suitable for implementing embodiments of the present application is shown.

[0028] Figure 9 A schematic diagram of a non-transitory computer-readable storage medium according to an embodiment of the present disclosure is shown. Detailed Implementation

[0029] Specific embodiments of this application will now be described in detail, with examples of the application illustrated in the accompanying drawings. Although this application will be described in conjunction with specific embodiments, it will be understood that it is not intended to limit this application to the described embodiments. Rather, it is intended to cover variations, modifications, and equivalents included within the spirit and scope of this application as defined by the appended claims. It should be noted that the method steps described herein can be implemented by any functional block or functional arrangement, and any functional block or functional arrangement can be implemented as a physical entity or a logical entity, or a combination of both.

[0030] There are hundreds of mainstream games on the market. When monitoring the compatibility and stability of a graphics processing unit (GPU) by continuously running different games using the GPU chip to be tested, how to complete the compatibility and stability testing of the GPU for various games with the lowest cost, the fastest efficiency, and the highest quality is an urgent problem to be solved.

[0031] Currently, most GPU compatibility and stability testing for different games relies on manual methods supplemented by semi-automated test scripts. Typically, testing GPU compatibility and stability by manually running different games involves two basic steps: First, testers manually run different types of games for extended periods; for example, testers specify specific game types, characters, items, and game scenes based on the characteristics of the GPU. Second, testers use professional tools or visual inspection to assess the quality of the game's visuals or the stability of the GPU chip during prolonged rendering. This includes aspects such as game visual stability, frame rate, GPU chip temperature, and power consumption. Currently, there is no end-to-end automated testing framework for GPU game compatibility and stability testing in the industry.

[0032] Current methods of testing GPU compatibility and stability using games, whether manual or semi-manual, lead to two main problems: First, manual testing is extremely labor-intensive and inefficient. For example, testing a well-known game requires at least five people to test team-based game scenarios, and with over a hundred mainstream games, covering all of them would be incredibly time-consuming. Second, even with manual testing, inconsistent human attention and varying evaluation standards make it difficult to use a unified standard to assess game visual quality and identify GPU-related issues.

[0033] Therefore, the framework proposed in this application aims to reduce manual labor and achieve standardized automatic detection of the compatibility and stability of GPUs running different types of games by automating and continuously replaying different segments or scenes of the game, and then using artificial intelligence (AI) technology to automatically monitor and identify the quality of the game screen.

[0034] Figure 1 A schematic flowchart of a method 100 for testing a graphics processing unit running a game according to an embodiment of this application is shown.

[0035] like Figure 1 As shown, method 100 includes the following steps: Step 110, automatically replaying game segments, including one or more key scenes, of a game running on a graphics processing unit once or multiple times by recording the player's game operations; Step 120, capturing one or more game frames from the automatically replayed game segments; Step 130, using an artificial intelligence model to determine what kind of defects exist in one or more game frames; Step 140, determining the compatibility and stability of the graphics processing unit based on the judgment results and hardware-related monitoring results of the graphics processing unit.

[0036] Thus, by recording player gameplay and automatically replaying game segments, including one or more key scenes, once or multiple times, the labor and time costs, as well as instability, associated with manual gameplay can be reduced. Furthermore, using artificial intelligence models to determine the presence of defects in one or more game scenes reduces labor and time costs compared to manually using professional tools or visual inspection, and avoids inconsistent evaluation standards due to the subjectivity of human judgment. Moreover, determining the compatibility and stability of the graphics processing unit (GPU) based on the judgment results and hardware-related monitoring results (such as GPU temperature and power consumption) allows for more accurate testing of GPU compatibility and stability. In summary, according to the end-to-end automated testing framework disclosed herein, by continuously replaying different segments or scenes of a game and then using artificial intelligence technology to automatically monitor and identify game scenes, the compatibility and stability of the GPU for different types of games can be tested.

[0037] Figure 2 A schematic flowchart illustrating the specific steps of step 110 according to an embodiment of this application is shown.

[0038] Step 110, which involves automatically replaying game segments, including one or more key scenes, in a game running on a graphics processing unit by recording player gameplay, may include: step 111, identifying key scenes in the game; step 112, recording individual gameplay actions performed by the player manually in the key scenes; and step 113, automatically replaying the recorded individual gameplay actions in the key scenes one or more times.

[0039] In step 111, key scenes in the game are identified. In one embodiment, a key scene is a game scene where the gameplay experience exceeds a certain threshold and / or the compatibility and stability requirements for the graphics processing unit exceed a certain threshold. For example, scenes that provide a good experience for gamers, such as gunfight scenes, can be identified by testers or by an artificial intelligence neural network model; scenes that are difficult to render, such as rainy scenes, can be identified; or a combination of both can be used, such as a gunfight scene in the rain. This scene reflects the player's expectations for the game's visual quality, and on the other hand, rendering rainy scenes is very demanding on the GPU because it involves a large number of particles rendered by the computer shader, thus increasing the probability of discovering GPU defects (bugs). If an artificial intelligence neural network model is used to identify key scenes in the game, it can be trained by using sample images of key scenes in the game as training data.

[0040] Figure 3 A schematic flowchart illustrating the specific steps of step 112 according to an embodiment of this application is shown.

[0041] Step 112, which records the various game operations of a human player in key scenes, includes: Step 1121, determining whether the game supports in-game recording and replay; Step 1122, if supported, using in-game recording and replay controls to record the various game operations of a human player in key scenes; Step 1123, if not supported, using external recording software to record the various game operations of a human player in key scenes.

[0042] In one embodiment, game controls are operations performed by the user using a mouse, keyboard, joystick, dial, scroll wheel, etc.

[0043] For example, some games support in-game recording and replay, typically through in-game recording and replay controls that allow users to record and replay their gameplay. For instance, users can use these controls to record their actions. Then, they can use script recording tools or automated testing tools (external recording software) to record the clicks of the replay button on the in-game recording and replay control. Therefore, during replay, the external recording software continuously simulates clicking the replay button to rerun the recorded gameplay actions one or more times. Other games do not support in-game recording and replay. Instead, users can use external recording software, such as script recording tools or automated testing tools, to record manual gameplay actions. These recorded actions are then replayed during replay.

[0044] A script is an executable file written in a specific descriptive language according to a certain format; it is also called a macro or batch file. Script recording tools or automated testing tools can take a user's game operations, such as clicking the mouse, pressing the keyboard, moving the joystick, spinning the wheel, scrolling the mouse wheel, etc., in a certain sequence, and write them as an executable file written in a certain format. Specifically, script recording tools or automated testing tools can also determine the current game flow by finding images and colors, and simulate key presses and other game operations by running the written executable file to control the game.

[0045] Here, you can also set the automatic replay of the game after a certain number of times, or set how often to replay the game and when to stop, or set other conditions for replaying the game to automatically stop the replay without requiring manual clicking or sitting in front of the computer to operate or monitor.

[0046] In this way, regardless of whether the game itself supports in-game recording and replay, it is possible to record various game operations of key scenes played manually for replay, thereby reducing the labor and time costs and instability of manual game playing.

[0047] Then, each frame of the game replay process, or a specified portion of the frame (using a period or a set capture time, etc.), can be captured and sent to the host where the artificial intelligence model inference service is located, so that the artificial intelligence model can be used to determine whether one or more game frames have any defects, and based on the judgment results and the hardware-related monitoring results of the graphics processing unit, the compatibility and stability of the graphics processing unit can be determined.

[0048] In one embodiment, an artificial intelligence model can be trained using game footage with specific defects as training data.

[0049] Common game graphics defects include screen tearing, missing texture maps, character stuttering, sticky points, screen freezing, black screen, game crashes, game freezes, screen crashes, returning to the desktop, screen glitches, etc., as detailed below:

[0050] (1) Screen-tearing

[0051] Screen dragging is likely due to insufficient GPU processing power, preventing a frame from being rendered quickly enough.

[0052] (2) Missing Texture

[0053] Missing texture maps are likely related to defects in the texture cache within the GPU.

[0054] (3) Stuck Spot

[0055] If a character gets stuck and cannot move, it may be due to insufficient computing power of the GPU's geometry shader (GS).

[0056] (4) Sticky Spot

[0057] A "sticky point" is when a character gets stuck in a certain spot, requiring time and effort to escape. It's usually a moderate-level defect. Sticky points and character getting stuck can transform into each other, and there's a certain probability that it's related to GPU compatibility and stability.

[0058] (5) Screen freezes

[0059] This means the screen freezes on a fixed image and cannot change. This is related to the compatibility and stability of the GPU.

[0060] (6) Black screen (Crash or black screen)

[0061] A black screen indicates that the game cannot continue or that a calculation error has occurred, which is related to the compatibility and stability of the GPU.

[0062] (7) Game crashes, freezes, or returns to desktop.

[0063] Game crashes, freezes, or returns to the desktop refer to the game suddenly exiting and returning to the desktop, which is related to the compatibility and stability of the GPU.

[0064] (8) Blur (distorted screen)

[0065] Screen tearing refers to a sudden change in screen appearance during gameplay, resembling pixelation. This is usually related to the GPU's graphics processing compatibility and stability.

[0066] The above examples, and not limitation, list some defects in game graphics. Artificial intelligence models can be trained using game graphics with specific defects, such as those mentioned above, as training data.

[0067] Training data for game footage with this specific defect can be collected from the following sources: game footage with this specific defect collected from automated web crawlers or manually; game footage with this specific defect obtained by testers during manual testing; or training data created by testers themselves, for example, by generating various images with distorted screens using computer graphics techniques, etc.

[0068] For example, various known images of distorted screens can be collected as training data to train an AI model to infer distorted screen images. After training, a portion of the training data can be used for backtesting to verify the accuracy of the inference. If the backtesting results are unsatisfactory, parameters can be adjusted through parameter optimization or third-party optimization tools until the backtesting results are satisfactory. Then, the trained AI inference model is deployed to the inference host.

[0069] The inference server's inference service uses a trained AI inference model to perform inference on various input game screenshots. If the inference result meets the threshold for screen tearing or is deemed screen tearing, the inference server can report this game screen defect. For example, the inference server can report the relevant inference results and logs to testers or developers via email. The AI ​​model's inference ensures consistent evaluation standards and prevents the omission of any potentially problematic key screenshots.

[0070] Therefore, an artificial intelligence machine learning platform can be used to learn various game performance indicators (game screen defects) offline, and then the defects of each frame can be inferred online in a standardized manner, thereby achieving the goal of fully automated GPU game stability testing without human intervention.

[0071] In one embodiment, hardware-related monitoring results of the graphics processing unit (GPU) can also be collected to determine the compatibility and stability of the GPU based on the judgment results and the GPU hardware-related monitoring results. For example, the GPU hardware-related monitoring results include the number of frame drops per hour, texture loading time, GPU hardware temperature, GPU fan speed, GPU power consumption, GPU hardware memory usage, etc., as detailed below:

[0072] (1) Number of frame drops per hour (drop rate)

[0073] Sudden frame rate drops causing stuttering are one of the main culprits affecting the gaming experience. However, simply looking at short-term frame rate curves and average frame rates cannot fully reflect the user's actual gaming experience. "Frame drops per hour" is a core indicator for measuring the true gaming experience. With similar average frame rates, a lower number of frame drops per hour indicates fewer frame drops over a period of time, resulting in a better gaming experience. This is also related to the hardware compatibility and stability of the graphics processing unit (GPU). Too many frame drops per hour indicate poor compatibility and stability of the GPU.

[0074] (2) Texture loading time is too long.

[0075] Since the graphics processing unit (GPU) needs time to load textures, if the texture loading time is too long, it indicates that the GPU has poor compatibility and stability.

[0076] (3) GPU hardware related alarms: hardware temperature, fan speed of graphics processing unit, power consumption of graphics processing unit, hardware memory usage of graphics processing unit, etc.

[0077] These hardware monitoring results can also reflect the compatibility and stability of the graphics processing unit (GPU). High hardware temperature indicates that the GPU is struggling to run the current game, suggesting poor compatibility and stability for that game. Similarly, excessively high GPU fan speeds indicate high hardware temperature requiring cooling, again suggesting the GPU is strained and has poor compatibility and stability for that game. High GPU power consumption indicates the GPU is expending too much energy to run the game, also suggesting poor compatibility and stability for that game. High GPU memory usage indicates insufficient hardware memory, requiring a significant portion of the game's memory to run, potentially leading to a poor gaming experience and indicating poor compatibility and stability for that game.

[0078] The above metrics can be monitored using scripts or the GPU's built-in management tools.

[0079] Figure 4 A schematic flowchart of a method for testing and running a game's graphics processing unit in accordance with an embodiment of this application in a specific scenario is shown.

[0080] like Figure 4 As shown, an end-to-end inference process is as follows:

[0081] In step 401, key scenarios for game testing are identified and selected. For example, testers might choose a gunfight in the rain. This scenario reflects players' expectations for the game's visual quality, and the rendering of rainy conditions is very demanding on the GPU, thus increasing the likelihood of discovering GPU compatibility and stability issues.

[0082] In step 402, confirm whether the game supports in-game replay (real-time rendering). If yes, in step 403, manually operate the game to complete the test game scene, using a script recording tool to click the in-game recording control to record the game operations of key scenes. If not, in step 404, manually operate the game to complete the test game scene, but use a script recording tool to record the manual operations. Testers use the script recording tool to record key scenes, and multiple key scenes can be recorded in batches.

[0083] Then, in step 405, these key scenes are replayed in an infinite (or finite) loop using a script recording tool. For games that support in-game replay, the click function of the script recording tool can be used directly to simulate clicking the in-game replay button; for other games that do not support in-game replay, the script recording tool is used to record the user's mouse or keyboard operations as game operations, and then the recorded game operations are replayed using the script recording tool.

[0084] In step 406, screenshot software can be used to capture each frame (or a portion of the frames) of the looping game scene under test, and the images can be sent to the inference service host.

[0085] In step 407, the inference host can execute real-time online inference tasks. The inference host receives each captured frame and sends the frame data to its local inference service. The inference service uses a trained AI inference model to perform inference. In step 408, if the inference result meets a threshold for, for example, screen tearing or other game graphics defects, or if the inference result directly identifies the frame as having screen tearing or other game graphics defects, then the inference host reports the relevant results and logs to the testers or developers via email. Simultaneously, hardware-related monitoring results can also be reported to the testers or developers.

[0086] The training process for offline artificial intelligence models is as follows:

[0087] In step 409, training data is collected. As mentioned before, training data can come from three sources: automatically collected from the web or collected manually; obtained by testers during manual testing; or created by testers themselves.

[0088] In step 410, training is performed using an artificial intelligence deep learning platform, such as the YOLOv5 algorithm. YOLOv5 utilizes the Mixup algorithm. The Mixup algorithm is widely used in computer vision; it performs a simple linear transformation on the input image data to mix images from different classes, thereby expanding the training dataset and improving the model's generalization ability and robustness. YOLOv5 also employs a mosaic image preprocessing technique, using four images, randomly cropping, scaling, and rotating them, and finally synthesizing them into a single image, enriching the background of the detected objects. The mosaic operation is equivalent to inputting four images at once during training, increasing the number of training samples and target diversity, improving network training convergence speed and detection accuracy, and randomly reducing large samples to small samples, increasing the number of small-scale targets. Of course, other algorithms can also be used for training.

[0089] Once the training data is complete, a portion of the training data can be used for backtesting to verify accuracy.

[0090] In step 411, training parameters can be adjusted to optimize the model. If the backtesting results are unsatisfactory, parameter optimization or third-party optimization tools can be used to tune the parameters until the backtesting results are satisfactory.

[0091] In step 412, the trained model is deployed to the inference host.

[0092] Figure 5 An example block diagram of a system 500 for a graphics processing unit that tests and runs a game according to an embodiment of this application is shown.

[0093] System 500 includes: one or more graphics processing units 501 configured to run one or more games, wherein game segments including one or more key scenes in the games running on the one or more graphics processing units are automatically replayed once or multiple times by recording player game operations, and one or more game frames are captured from the automatically replayed game segments; a general-purpose graphics processing unit or central processing unit 502 configured to run an artificial intelligence model to determine what defects exist in one or more game frames, wherein the compatibility and stability of the graphics processing units are determined based on the results of the determination and hardware-related monitoring results of the graphics processing units.

[0094] In one embodiment, the general-purpose graphics processing unit or central processing unit 502 is further configured to train an artificial intelligence model by using game footage with specific defects as training data.

[0095] One or more graphics processing units 501 can be graphics cards, mainly used for game rendering; while general-purpose graphics processing units (GPGPUs) or central processing units (CPUs) 502 can be general-purpose computing cards, used for artificial intelligence training and inference.

[0096] A graphics processing unit 501 can run a game; for example, host 1, host 2, and host 3 can run game 1, game 2, and game 3 respectively. General-purpose graphics processing units (GPGPUs) or central processing units (CPUs) 502 form an artificial intelligence cluster. The graphics processing unit 501 and the GPGPU or CPU 502 can communicate with each other via a client / server (C / S) architecture. This includes the AI ​​cluster of the GPGPU or CPU 502 acting as a server. The AI ​​cluster can be organized and communicate using a Kubernetes (K8S) architecture. K8S refers to an open-source architecture for managing containerized applications across multiple hosts in a cloud platform, providing a mechanism for application deployment, planning, updating, and maintenance. Of course, other architectures can also be used to organize and communicate the AI ​​cluster.

[0097] Figure 6 A schematic diagram of a software stack hierarchy according to an embodiment of this application is shown.

[0098] The software stack layer according to the embodiments of this application can be sequentially included from bottom to top as follows: physical layer, operating system (OS) layer, artificial intelligence layer (e.g., kubeflow layer), algorithm layer, and user interface (UI) layer.

[0099] The physical layer can use multiple GPUs, such as GPU 1 from vendor 1, GPU 2 from vendor 2, and GPU 3 from vendor 3. Generally, they cannot be mixed and matched, although there may be situations where the current kubeflow layer provides the best support for a particular vendor's GPU. The second layer is the operating system (OS) layer, which can use Ubuntu. The next layer above is the artificial intelligence layer, for example, the kubeflow layer. Within kubeflow, the layers are: at the bottom is the Kubernetes framework, which containerizes and orchestrates microservices; above that is the Istio architecture... The published microservice architecture middleware is used for microservice resource management. Above that are KFServing, Jupter, and training tasks; these are functional modules of Kubeflow, used for inference service publishing, management, and training, respectively. The top layer of Kubeflow can be deep learning frameworks such as PyTorch, TensorFlow, and sklearn. Above that is the algorithm layer, which sits on top of the Kubeflow layer and allows for the free selection of image recognition algorithms. The top layer is the user interface (UI) layer, which can use Kubeflow's built-in UI or a custom UI to support access and management functions for both desktop and mobile devices.

[0100] Log and permission functions can be implemented manually or you can directly use the built-in modules of kubeflow.

[0101] Thus, this solution is the first complete system-level solution for AI testing of game compatibility and stability for GPU graphics cards. Currently, there is no such complete solution for GPU graphics cards in the industry.

[0102] This solution utilizes Kubernetes (K8S) and Istio for cluster management. K8S and Istio are currently the most powerful open-source solutions for microservice architecture in the industry. K8S makes containerized orchestration of microservices exceptionally convenient, while Istio addresses K8S's shortcomings in microservice discovery, communication, and management. Using K8S and Istio reduces the overall system maintenance cost and facilitates dynamic scaling. For example, in quality control (QA) testing, if there are currently six machines available for testing tasks, and offline training tasks are relatively light while inference tasks are heavier, more machines can be flexibly and conveniently allocated to inference tasks without complex manual deployment. Adding new machines is also easy; no reconfiguration is required, simply deploy the service to the new machine without worrying about communication and management issues between the new machine and the current cluster environment.

[0103] This solution is highly versatile and can be easily expanded in the future. If the recognition efficiency of a certain algorithm is not high, it can be easily replaced with other recognition algorithms without worrying about how the algorithm is deployed and implemented.

[0104] Currently, when testing GPUs, the industry often invests a lot of manpower, resources, and money in conducting stability tests on hundreds of mainstream games. Using this solution will greatly save company costs. At the same time, because testers are easily affected by their physical condition during manual testing, they may miss important visual issues. If this solution is used, no visual issue will be missed.

[0105] This solution can test both graphics cards (GPUs) and computing cards (GPGPUs) simultaneously, achieving double the performance of testing two products with a single system.

[0106] Figure 7 An example block diagram of a graphics processing unit module 700 for testing a game according to an embodiment of this application is shown.

[0107] The module 700 of the graphics processing unit (GPU) for testing the running game includes: a replay device 701, configured to automatically replay game segments, including one or more key scenes, of the game running on the GPU once or multiple times by recording the player's game operations; a capture device 702, configured to capture one or more game frames from the automatically replayed game segments; a judgment device 703, configured to use an artificial intelligence model to determine whether one or more game frames have any defects; and a determination device 704, configured to determine the compatibility and stability of the GPU based on the judgment results and hardware-related monitoring results of the GPU.

[0108] Thus, by recording player gameplay and automatically replaying game segments, including one or more key scenes, once or multiple times, the labor and time costs and instability of manual gameplay can be reduced. Furthermore, using artificial intelligence models to determine the presence of defects in one or more game frames reduces the labor and time costs of manually using specialized tools or visual inspection to identify problems, avoiding inconsistent evaluation standards due to the subjectivity of human judgment. Moreover, determining the compatibility and stability of the graphics processing unit (GPU) based on the judgment results and hardware monitoring results (such as GPU temperature and power consumption) allows for more accurate testing of GPU compatibility and stability. In summary, according to the end-to-end automated testing framework disclosed herein, by continuously replaying different segments or scenes of a game and then using artificial intelligence technology to automatically monitor and identify game frames, the compatibility and stability of the GPU for different types of games can be tested.

[0109] In one embodiment, the replay device is configured as: an identification device configured to identify key scenes in the game; a recording device configured to record various game operations performed by the player manually in the key scenes; and a running device configured to automatically rerun the recorded various game operations once or multiple times in the key scenes.

[0110] In one embodiment, the key scenario is a game scenario where the gaming experience exceeds a certain threshold and / or the requirements for the compatibility and stability of the graphics processing unit exceed a certain threshold. In this way, the scenario can reflect the player's expectations for the game's visual quality and also increase the probability of discovering GPU defects.

[0111] In one embodiment, game operation is the operation of at least one of the user's mouse, keyboard, joystick, dial, scroll wheel, and scroll wheel. Game screen defects include at least one of the following: screen dragging, missing texture maps, character stuttering, sticky points, screen freezing, black screen, game crash, game crash, return to desktop, and screen distortion. Hardware-related monitoring results of the graphics processing unit include at least one of the following: number of frame drops per hour, texture loading time, hardware temperature of the graphics processing unit, fan speed of the graphics processing unit, power consumption of the graphics processing unit, and hardware memory usage of the graphics processing unit.

[0112] In one embodiment, the recording device is configured to: determine whether the game supports in-game recording and replay; if supported, use in-game recording and replay controls to record individual game operations performed manually in key scenes, wherein the step of automatically rerunning the recorded individual game operations once or multiple times in the key scenes includes using external recording software to simulate clicking the replay button of the in-game recording and replay controls to rerun the individual game operations recorded by the in-game recording and replay controls once or multiple times; if not supported, use external recording software to record individual game operations performed manually in key scenes, wherein the step of automatically rerunning the recorded individual game operations once or multiple times in the key scenes includes using external recording software to rerun the individual game operations recorded by the external recording software once or multiple times based on the recorded individual game operations.

[0113] In this way, regardless of whether the game itself supports in-game recording and replay, it is possible to record various game operations of key scenes played manually for replay, thereby reducing the labor and time costs and instability of manual game playing.

[0114] In one embodiment, the module further includes a training device configured to train an artificial intelligence model by using game footage with specific defects as training data.

[0115] Artificial intelligence models can use consistent evaluation standards to ensure they don't miss any critical frames that might cause problems. Therefore, AI machine learning platforms can be used to learn various game performance metrics (game visual defects) offline, and then use standardized online reasoning to determine the presence of defects in each frame. This achieves fully automated, unattended GPU-based game stability testing.

[0116] Figure 8 A block diagram of an exemplary electronic device suitable for implementing embodiments of the present application is shown.

[0117] The electronic device may include a processor (H1); and a storage medium (H2) coupled to the processor (H1) and storing computer-executable instructions therein for performing the steps of various methods of the embodiments of this application when executed by the processor.

[0118] The processor (H1) may include, but is not limited to, one or more processors or microprocessors.

[0119] Storage media (H2) may include, but are not limited to, random access memory (RAM), read-only memory (ROM), flash memory, EPROM memory, EEPROM memory, registers, computer storage media (e.g., hard disks, floppy disks, solid-state drives, removable disks, CD-ROMs, DVD-ROMs, Blu-ray discs, etc.).

[0120] In addition, the electronic device may also include a data bus (H3), an input / output (I / O) bus (H4), a display (H5), and input / output devices (H6) (e.g., keyboard, mouse, speaker, etc.).

[0121] The processor (H1) can communicate with external devices (H5, H6, etc.) via the I / O bus (H4) through a wired or wireless network (not shown).

[0122] The storage medium (H2) may also store at least one computer-executable instruction for performing the steps of various functions and / or methods in the embodiments described in this technology when executed by the processor (H1).

[0123] In one embodiment, the at least one computer-executable instruction may also be compiled into or comprise a software product, wherein one or more computer-executable instructions are executed by a processor to perform the steps of the various functions and / or methods in the embodiments described herein.

[0124] Figure 9 A schematic diagram of a non-transitory computer-readable storage medium according to an embodiment of the present disclosure is shown.

[0125] like Figure 9As shown, the computer-readable storage medium 920 stores instructions, such as computer-readable instruction 910. When the computer-readable instruction 910 is executed by a processor, the various methods described above can be performed. The computer-readable storage medium includes, but is not limited to, volatile memory and / or non-volatile memory. Volatile memory may include, for example, random access memory (RAM) and / or cache memory. Non-volatile memory may include, for example, read-only memory (ROM), hard disk, flash memory, etc. For example, the computer-readable storage medium 920 can be connected to a computing device such as a computer, and then, when the computing device executes the computer-readable instruction 910 stored on the computer-readable storage medium 920, the various methods described above can be performed.

[0126] Of course, the specific embodiments described above are merely examples and not limitations. Those skilled in the art can combine and integrate some steps and devices from the various embodiments described separately above to achieve the effects of this application based on the concept of this application. Such combined and integrated embodiments are also included in this application, but will not be described one by one here.

[0127] Note 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 the various embodiments of this application. Furthermore, the specific details disclosed above are for illustrative and facilitative purposes only, and are not limitations; these details do not restrict this application from being implemented using the aforementioned specific details.

[0128] 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, modules, 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.

[0129] The flowcharts and method descriptions in this disclosure are merely illustrative examples and are not intended to require or imply that the steps of the various embodiments must be performed in the given order. As those skilled in the art will recognize, the steps in the above embodiments can be performed in any order. Words such as "then," "next," etc., are not intended to limit the order of the steps; these words are only used to guide the reader through the description of these methods. Furthermore, any reference to a singular element, such as the use of the articles "a," "one," or "the," is not to be construed as limiting that element to the singular.

[0130] Furthermore, the steps and apparatus in the various embodiments herein are not limited to any one embodiment. In fact, new embodiments can be conceived by combining relevant steps and apparatus in the various embodiments herein based on the concepts of this application, and these new embodiments are also included within the scope of this application.

[0131] The various operations of the methods described above can be performed by any suitable means capable of performing the corresponding functions. Such means may include various hardware and / or software components and / or modules, including but not limited to hardware circuits, application-specific integrated circuits (ASICs), or processors.

[0132] The various exemplified logic blocks, modules, and circuits described herein can be implemented or performed using a general-purpose processor, digital signal processor (DSP), ASIC, field-programmable gate array (FPGA) or other programmable logic device (PLD), discrete gate or transistor logic, discrete hardware components, or any combination thereof. The general-purpose processor can be a microprocessor, but alternatively, it can be any commercially available processor, controller, microcontroller, or state machine. The processor can also be implemented as a combination of computing devices, such as a combination of a DSP and a microprocessor, multiple microprocessors, a microprocessor cooperating with a DSP core, or any other such configuration.

[0133] The steps of the methods or algorithms described in this disclosure can be directly embedded in hardware, in a software module executed by a processor, or a combination of both. The software module can reside in any form of tangible storage medium. Some examples of storage media that can be used include random access memory (RAM), read-only memory (ROM), flash memory, EPROM memory, EEPROM memory, registers, hard disks, removable disks, CD-ROMs, etc. The storage medium can be coupled to the processor so that the processor can read information from and write information to the storage medium. Alternatively, the storage medium can be integral with the processor. The software module can be a single instruction or many instructions, and can be distributed across several different code segments, different programs, and across multiple storage media.

[0134] The methods disclosed herein include actions for implementing the described methods. The methods and / or actions may be interchanged without departing from the scope of the claims. In other words, unless a specific order of actions is specified, the order and / or use of specific actions may be modified without departing from the scope of the claims.

[0135] The above functions can be implemented in hardware, software, firmware, or any combination thereof. If implemented in software, the functions can be stored as instructions on a tangible computer-readable medium. The storage medium can be any available tangible medium that can be accessed by a computer. By way of example and not limitation, such a computer-readable medium can include RAM, ROM, EEPROM, CD-ROM or other optical disc storage, magnetic disk storage or other magnetic storage devices, or any other tangible medium that can be used to carry or store desired program code in the form of instructions or data structures and that can be accessed by a computer. As used herein, disk and disc include compact disc (CD), laser disc, optical disc, digital universal disc (DVD), floppy disk, and Blu-ray disc, wherein a disc typically magnetically reproduces data, while a disc optically reproduces data using lasers.

[0136] Therefore, a computer program product can perform the operations given herein. For example, such a computer program product can be a computer-readable tangible medium having instructions tangibly stored (and / or encoded) thereon, which can be executed by a processor to perform the operations described herein. The computer program product may include packaging materials.

[0137] Software or instructions can also be transmitted via a transmission medium. For example, software can be transmitted from a website, server, or other remote source using transmission media such as coaxial cable, fiber optic cable, twisted pair, digital subscriber line (DSL), or wireless technologies such as infrared, radio, or microwave.

[0138] Furthermore, modules and / or other suitable means for carrying out the methods and techniques described herein can be downloaded and / or obtained by user terminals and / or base stations as appropriate. For example, such a device can be coupled to a server to facilitate the transmission of means for carrying out the methods described herein. Alternatively, the various methods described herein can be provided via storage components (e.g., RAM, ROM, physical storage media such as CDs or floppy disks) so that user terminals and / or base stations can obtain the various methods when coupled to the device or when storage components are provided to the device. Furthermore, any other suitable techniques for providing the methods and techniques described herein to the device can be utilized.

[0139] Other examples and implementations are within the scope and spirit of this disclosure and the appended claims. For example, due to the nature of software, the functions described above can be implemented using software executed by a processor, hardware, firmware, hardwired, or any combination thereof. Features implementing the functions can also be physically located in various places, including being distributed so that parts of the functions are implemented at different physical locations. Moreover, as used herein, including as used in the claims, 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 mean that the described examples are preferred or better than other examples.

[0140] 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 herein can be utilized. Therefore, the appended claims include such processes, machines, manufactures, events, means, methods, or actions within their scope.

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

[0142] The above description has been given for purposes of illustration and description. Furthermore, this description is not intended to limit the embodiments of this application 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 thereof.

Claims

1. A method for testing a graphics processing unit running a game, comprising the following steps: By recording the player's game actions, the game segment including one or more key scenes in the game running on the graphics processing unit is automatically replayed once or multiple times. The key scenes include game scenes where the compatibility and stability requirements of the graphics processing unit are higher than a certain threshold. Capture one or more game frames from the automatically replayed game segment; A general-purpose graphics processing unit or a central processing unit uses an artificial intelligence model to determine whether one or more game screens have any defects, wherein the graphics processing unit communicates with the general-purpose graphics processing unit or the central processing unit through a client / server architecture, wherein the general-purpose graphics processing unit or the central processing unit acts as a server. The hardware-related monitoring results of the graphics processing unit are monitored, including the number of frame drops per hour, texture loading time, hardware temperature of the graphics processing unit, fan speed of the graphics processing unit, power consumption of the graphics processing unit, and hardware memory usage of the graphics processing unit. The compatibility and stability of the graphics processing unit are determined based on the results of the judgment and the hardware-related monitoring results of the graphics processing unit, wherein, Simultaneously test the graphics processing unit and the general graphics processing unit or the central processing unit.

2. The method according to claim 1, wherein, The step of automatically replaying game segments, including key scenes, in the game running on the graphics processing unit one or more times by recording the player's game actions includes: Identify key scenes in the game; Record the player's manual gameplay of the key scenarios described above; In the key scenarios, the recorded game operations are automatically rerun once or multiple times.

3. The method according to claim 2, wherein, The steps for recording the player's manual gameplay of the key scenes include: Determine whether the game supports in-game recording and replay; If supported, the in-game recording and replay control is used to record the various game operations of the key scene played manually. The step of automatically rerunning the recorded game operations once or multiple times in the key scene includes using external recording software to simulate clicking the replay button of the in-game recording and replay control to rerun the game operations recorded by the in-game recording and replay control once or multiple times. If not supported, external recording software is used to record the various game operations performed by the user in the key scene. The step of automatically rerunning the recorded game operations once or multiple times in the key scene includes using external recording software to rerun the game operations recorded by the external recording software once or multiple times based on the recorded game operations.

4. The method according to claim 1, wherein, The artificial intelligence model is trained by the general graphics processing unit or the central processing unit using game footage with specific defects as training data.

5. The method according to claim 1, wherein, The key scenarios also include game scenarios where the game experience exceeds a certain threshold.

6. The method according to claim 1, wherein, The game operation is the operation of at least one of the user's mouse, keyboard, joystick, dial, scroll wheel, and scroll wheel. The defects of the game screen include at least one of the following: screen dragging, missing texture maps, character lag, sticky points, screen freezing, black screen, game crash, game crash, return to desktop, and screen distortion.

7. A system for testing a graphics processing unit running a game, comprising: One or more graphics processing units (GPUs) are configured to run one or more games, wherein a game segment including one or more key scenes in the game running on the one or more GPUs is automatically replayed once or multiple times by recording player game operations, and one or more game frames are captured from the automatically replayed game segment. The key scenes include game scenes that require the GPUs to have compatibility and stability requirements higher than a certain threshold. The GPUs monitor hardware-related monitoring results, including the number of frame drops per hour, texture loading time, GPU hardware temperature, GPU fan speed, GPU power consumption, and GPU hardware memory usage. A general-purpose graphics processing unit (GPU) or a central processing unit (CPU) is configured to run an artificial intelligence model to determine whether one or more game screens have any defects. The GPU's compatibility and stability are determined based on the results of the determination and hardware-related monitoring results. The GPU communicates with the GPU or CPU via a client / server architecture, with the GPU or CPU acting as a server. Both the GPU and the CPU are tested simultaneously.

8. The system according to claim 7, wherein, The general-purpose graphics processing unit or central processing unit is configured to train the artificial intelligence model by using game footage with specific defects as training data.

9. A module for testing a graphics processing unit running a game, comprising: The replay device is configured to automatically replay game segments, including one or more key scenes, of the game running on the graphics processing unit once or multiple times by recording the player's game operations. The key scenes include game scenes where the compatibility and stability requirements of the graphics processing unit are higher than a certain threshold. The device monitors hardware-related monitoring results of the graphics processing unit, including the number of frame drops per hour, texture loading time, hardware temperature of the graphics processing unit, fan speed of the graphics processing unit, power consumption of the graphics processing unit, and hardware memory usage of the graphics processing unit. The capturing device is configured to capture one or more game frames from the automatically replayed game segment; The judging device is configured to use a general-purpose graphics processing unit or a central processing unit to use an artificial intelligence model to judge whether there are any defects in the one or more game screens, wherein the graphics processing unit communicates with the general-purpose graphics processing unit or the central processing unit through a client / server architecture, wherein the general-purpose graphics processing unit or the central processing unit acts as a server. The determining device is configured to determine the compatibility and stability of the graphics processing unit based on the result of the determination and the hardware-related monitoring results of the graphics processing unit, wherein the graphics processing unit and the general-purpose graphics processing unit or the central processing unit are tested simultaneously.

10. The module according to claim 9, wherein, The replay device is configured as follows: The identification device is configured to identify key scenes in the game; A recording device is configured to record various game operations performed by the player while manually playing the key scenes; The operating device is configured to automatically rerun the recorded individual game operations once or multiple times in the key scenarios.

11. The module according to claim 10, wherein, The recording device is configured to: Determine whether the game supports in-game recording and replay; If supported, the in-game recording and replay control is used to record the various game operations of the key scene played manually. The step of automatically rerunning the recorded game operations once or multiple times in the key scene includes using external recording software to simulate clicking the replay button of the in-game recording and replay control to rerun the game operations recorded by the in-game recording and replay control once or multiple times. If not supported, external recording software is used to record the various game operations performed by the user in the key scene. The step of automatically rerunning the recorded game operations once or multiple times in the key scene includes using external recording software to rerun the game operations recorded by the external recording software once or multiple times based on the recorded game operations.

12. The module according to claim 9, wherein, It also includes a training device configured to train the artificial intelligence model by using game footage with specific defects as training data.

13. The module according to claim 9, wherein, The key scenarios also include game scenarios where the game experience exceeds a certain threshold.

14. The module according to claim 9, wherein, The game operation is the operation of at least one of the user's mouse, keyboard, joystick, dial, scroll wheel, and scroll wheel. The defects of the game screen include at least one of the following: screen dragging, missing texture maps, character lag, sticky points, screen freezing, black screen, game crash, game crash, return to desktop, and screen distortion.

15. An electronic device comprising: Memory, used to store instructions; A processor for reading instructions from the memory and executing the method as described in any one of claims 1-6.

16. A non-temporary storage medium having instructions stored thereon, in, When the instruction is read by the processor, it causes the processor to execute the method as described in any one of claims 1-6.