Deep learning framework adjustment methods, devices, equipment, media and program products

By porting and optimizing the basic functions of the deep learning framework, the problem of low compatibility with heterogeneous accelerators was solved, resulting in more efficient performance and usability.

CN117273112BActive Publication Date: 2026-04-07DAWNING INT INFORMATION IND CO LTD
View PDF 2 Cites 0 Cited by

Patent Information

Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2023-09-21
Publication Date
2026-04-07

AI Technical Summary

Technical Problem

Deep learning frameworks suffer from poor adaptability on heterogeneous accelerators, affecting their performance and usability.

Method used

By porting the basic functions of the original deep learning framework, including modifying the source code to adapt to the software stack information of the heterogeneous accelerator, and adding performance analysis functions, result reproducibility functions, and half-precision performance optimization functions, a target deep learning framework that is fully adapted to the heterogeneous accelerator is formed.

Benefits of technology

It improves the compatibility between deep learning frameworks and heterogeneous accelerators, enhances runtime performance, and ensures the usability of the framework and the addition of some functions.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN117273112B_ABST
    Figure CN117273112B_ABST
Patent Text Reader

Abstract

This application relates to a method, apparatus, device, medium, and program product for adjusting a deep learning framework. The method includes: obtaining an original deep learning framework; the original deep learning framework represents a deep learning framework whose compatibility with a heterogeneous accelerator is less than a preset value; performing basic function porting processing on the original deep learning framework to obtain an initial deep learning framework that is fully compatible with the basic functions of the heterogeneous accelerator; adding optimized and extended functions, excluding the basic functions, to the initial deep learning framework to obtain a target deep learning framework compatible with the heterogeneous accelerator. The above method, while ensuring the complete porting of the original deep learning framework's functions, further optimizes and extends the original deep learning framework to improve its compatibility with the heterogeneous accelerator, enhance the framework's performance, and ensure the framework's usability and the addition of some functions on the heterogeneous accelerator.
Need to check novelty before this filing date? Find Prior Art

Description

TECHNICAL FIELD

[0001] Embodiments of the present application relate to the field of artificial intelligence technology, and in particular to a deep learning framework adjustment method, device, equipment, medium and program product. BACKGROUND

[0002] As a basic tool in the development of artificial intelligence, the deep learning framework plays a crucial role in the AI technology ecosystem. By modularizing and encapsulating deep learning algorithm modules, the deep learning framework can quickly build training, testing, and model optimization, providing strong support for the landing of practical applications in various fields.

[0003] In related technologies, the deep learning framework is usually run on a heterogeneous accelerator. When training a model, the heterogeneous accelerator can accelerate the calculation, thereby reducing the training and inference time.

[0004] However, in related technologies, when the deep learning framework runs on a heterogeneous accelerator, the deep learning framework and the heterogeneous accelerator have low adaptability. SUMMARY

[0005] Therefore, it is necessary to provide a deep learning framework adjustment method, device, equipment, medium and program product to solve the above technical problems. By performing complete adaptation of the basic functions of the original deep learning framework with low adaptability to the heterogeneous accelerator and adding additional optimization and expansion functions, the adaptability of the original deep learning framework to the heterogeneous accelerator is improved, thereby improving the running performance of the deep learning framework and ensuring the availability and partial function addition of the framework on the heterogeneous accelerator.

[0006] In a first aspect, embodiments of the present application provide a deep learning framework adjustment method, comprising:

[0007] obtaining an original deep learning framework; the original deep learning framework represents a deep learning framework with an adaptability to a heterogeneous accelerator less than a preset value;

[0008] performing basic function transplantation processing on the original deep learning framework to obtain an initial deep learning framework with complete adaptability to the basic functions of the heterogeneous accelerator;

[0009] adding optimization and expansion functions other than the basic functions to the initial deep learning framework to obtain a target deep learning framework adapted to the heterogeneous accelerator.

[0010] In one embodiment, performing basic function transplantation processing on the original deep learning framework to obtain an initial deep learning framework with complete adaptability to the basic functions of the heterogeneous accelerator comprises:

[0011] obtaining source code of the original deep learning framework and software stack information of the heterogeneous accelerator;

[0012] Based on the software stack information, the source code was modified to obtain an initial deep learning framework that is fully adapted to the basic functions of the heterogeneous accelerator.

[0013] In one embodiment, the software stack information includes software stack path information and interface information for calling the underlying libraries of the software stack. Based on the software stack information, the source code is modified to obtain an initial deep learning framework that is fully adapted to the basic functions of the heterogeneous accelerator, including:

[0014] The software stack path in the source code is modified based on the software stack path information, and the underlying library call interface of the software stack in the source code is modified based on the interface information to obtain the modified source code.

[0015] The modified source code is compiled to obtain the target code;

[0016] If the target code passes both testing and verification, it is packaged to obtain the initial deep learning framework.

[0017] In one embodiment, the modified source code is compiled to obtain target code, including:

[0018] The updated source code is obtained by changing the path identifiers related to compilation in the source code from valid logical values ​​to invalid logical values.

[0019] The updated source code is compiled to obtain the target code.

[0020] In one embodiment, the optimized extended functions include performance analysis functions, result reproducibility functions, and half-precision performance optimization functions. These optimized extended functions, in addition to the basic functions, are added to the initial deep learning framework to obtain a target deep learning framework adapted to heterogeneous accelerators, including:

[0021] Obtain the performance analysis functions related to the performance analysis function, the reproducible environment variables related to the result reproducibility function, the half-precision performance optimization environment variables related to the half-precision performance optimization function, and the code of the initial deep learning framework;

[0022] The target deep learning framework is determined based on the performance analysis function, reproducible environment variables, half-precision performance optimization environment variables, and the code of the initial deep learning framework.

[0023] In one embodiment, the target deep learning framework is determined based on a performance analysis function, reproducible environment variables, half-precision performance optimization environment variables, and the code of the initial deep learning framework, including:

[0024] Add the performance analysis function to the code of the initial deep learning framework to obtain the first framework code;

[0025] After the compilation, testing, and verification of the first framework code have all passed, reproducible environment variables are added to the first framework code to obtain the second framework code;

[0026] After the compilation code test and verification of the second framework code passed, the half-precision performance optimization environment variable was added to the second framework code to obtain the third framework code;

[0027] After the compilation code of the third framework code has passed the tests and verifications, the compilation code of the third framework code is packaged to obtain the target deep learning framework.

[0028] Secondly, embodiments of this application also provide a deep learning framework adjustment device, comprising:

[0029] The framework acquisition module is used to acquire the original deep learning framework; the original deep learning framework refers to the deep learning framework whose adaptability to heterogeneous accelerators is less than a preset value.

[0030] The first determining module is used to perform basic function porting processing on the original deep learning framework to obtain an initial deep learning framework that is fully adapted to the basic functions of the heterogeneous accelerator.

[0031] The second determining module is used to add optimized and extended functions to the initial deep learning framework in addition to the basic functions, so as to obtain a target deep learning framework that is compatible with heterogeneous accelerators.

[0032] Thirdly, embodiments of this application also provide a computer device. The computer device includes a memory and a processor, the memory storing a computer program, and the processor executing the computer program to implement the steps in any of the embodiments of the first aspect described above.

[0033] Fourthly, embodiments of this application also provide a computer-readable storage medium. The computer-readable storage medium stores a computer program thereon, which, when executed by a processor, implements the steps in any of the embodiments of the first aspect described above.

[0034] Fifthly, embodiments of this application also provide a computer program product. The computer program product includes a computer program that, when executed by a processor, implements the steps in any of the embodiments of the first aspect described above.

[0035] The aforementioned deep learning framework adjustment method, apparatus, device, medium, and program products involve obtaining an original deep learning framework (meaning a framework with a compatibility with heterogeneous accelerators lower than a preset value), then performing basic function porting on the original deep learning framework to obtain an initial deep learning framework that is fully compatible with the basic functions of the heterogeneous accelerator. Finally, optimized and extended functions, in addition to the basic functions, are added to the initial deep learning framework to obtain a target deep learning framework compatible with the heterogeneous accelerator. This method, by fully adapting the basic functions of an original deep learning framework with low compatibility with heterogeneous accelerators and adding additional optimized and extended functions, obtains a target deep learning framework compatible with heterogeneous accelerators. In other words, while ensuring the complete porting of the original deep learning framework's functions, adaptive functional optimization and extensions are performed on the original deep learning framework to improve its compatibility with heterogeneous accelerators, thereby improving the framework's performance and ensuring the usability of the framework and the addition of some functions on the heterogeneous accelerator. Attached Figure Description

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

[0037] Figure 1 This is a diagram illustrating the application environment of a deep learning framework adjustment method in one embodiment.

[0038] Figure 2 This is a flowchart illustrating a deep learning framework adjustment method in one embodiment;

[0039] Figure 3 This is a flowchart illustrating the process of determining an initial deep learning framework in one embodiment;

[0040] Figure 4 This is a flowchart illustrating the process of determining the initial deep learning framework in another embodiment;

[0041] Figure 5 This is a flowchart illustrating the process of determining the target code in one embodiment;

[0042] Figure 6 This is a flowchart illustrating the process of determining a target deep learning framework in one embodiment;

[0043] Figure 7 This is a flowchart illustrating the process of determining the target deep learning framework in another embodiment;

[0044] Figure 8This is a flowchart illustrating the deep learning framework adjustment method in another embodiment;

[0045] Figure 9 This is a schematic diagram of the structure of a deep learning framework adjustment device in one embodiment;

[0046] Figure 10 This is an internal structural diagram of a computer device in one embodiment. Detailed Implementation

[0047] To make the objectives, technical solutions, and advantages of the embodiments of this application clearer, the embodiments of this application will be further described in detail below with reference to the accompanying drawings and examples. It should be understood that the specific embodiments described herein are merely illustrative of the embodiments of this application and are not intended to limit the embodiments of this application.

[0048] The deep learning framework adjustment method provided in this application embodiment can be applied to, for example, Figure 1 In the application environment shown, terminal 102 communicates with server 104 via a network. A data storage system can store the data that server 104 needs to process. The data storage system can be integrated onto server 104 or located on a cloud or other network server. Optionally, terminal 102 can be a user-held terminal used for deep learning computational tasks using the target deep learning framework. Terminal 102 can be, but is not limited to, various personal computers, laptops, smartphones, and tablets. Server 104 can be implemented using a standalone server or a server cluster consisting of multiple servers.

[0049] In one exemplary embodiment, such as Figure 2 As shown, a method for adjusting a deep learning framework is provided, which can be applied to... Figure 1 Taking server 104 as an example, the explanation includes the following steps 201 to 203. Wherein:

[0050] S201, Obtain the original deep learning framework.

[0051] In this embodiment, the original deep learning framework refers to a deep learning framework whose compatibility with heterogeneous accelerators is less than a preset value. It can be any deep learning framework, such as the TensorFlow framework based on dataflow programming and the PyTorch framework for natural language processing. In this embodiment, the original deep learning framework is exemplified by the PyTorch framework.

[0052] The existing PyTorch framework is typically used on NVIDIA or Advanced Micro Devices (AMD) platforms. Using PyTorch with other accelerators can lead to low compatibility due to differences in hardware and software. To address this issue, adjustments need to be made to the original deep learning framework to improve its compatibility with different accelerators.

[0053] To adjust the original deep learning framework, the first step is to obtain the original deep learning framework. Obtaining the original deep learning framework here mainly refers to obtaining the source code of the original deep learning framework, that is, adjusting the source code of the original deep learning framework, and then compiling the adjusted source code to obtain the final deep learning framework.

[0054] S202 involves porting the basic functions of the original deep learning framework to obtain an initial deep learning framework that is fully adapted to the basic functions of the heterogeneous accelerator.

[0055] In this embodiment, the original deep learning framework is adapted to the AMD platform's software stack, namely the Radeon Open Compute platform (ROCm), so it can be directly installed and used on AMD platform accelerators. However, different heterogeneous accelerators have their own software stacks. In this embodiment, the software stack of the heterogeneous accelerator is a Developer Tool Kit (DTK). Due to the difference in software stacks, the official source code of the original deep learning framework cannot be directly compiled, installed, and used on the heterogeneous accelerator of this embodiment. Therefore, the basic functions of the original deep learning framework first need to be ported and adapted.

[0056] Since the software stack of the heterogeneous accelerator in this embodiment is the DTK software stack, it is necessary to replace the information related to the ROCm software stack in the source code of the original deep learning framework with the information related to the DTK software stack in order to achieve the adaptation and porting of basic functions and obtain an initial deep learning framework that is fully adapted to the basic functions of the heterogeneous accelerator.

[0057] S203 adds optimized and extended functions to the initial deep learning framework in addition to the basic functions, resulting in a target deep learning framework adapted to heterogeneous accelerators.

[0058] In this embodiment, the results can be reproducible within the original deep learning framework, meaning that the same computational task yields consistent results when executed multiple times. However, on heterogeneous accelerators, the results are unstable and unreproducible, necessitating optimization of the reproducibility functionality. Additionally, other extended functionalities can be added, such as kernel-level performance analysis to assess program efficiency, or half-precision performance optimization to improve program efficiency.

[0059] For example, for the optimization and extension functions that need to be added, each function has its own implementation code. The relevant implementation code of each function can be added to the code of the initial deep learning framework. After compilation, the target deep learning framework adapted to the heterogeneous accelerator can be obtained.

[0060] The deep learning framework adjustment method provided in this application involves obtaining an original deep learning framework (meaning a framework with a compatibility with heterogeneous accelerators lower than a preset value), then performing basic function porting on the original deep learning framework to obtain an initial deep learning framework that is fully compatible with the basic functions of the heterogeneous accelerator. Finally, optimized and extended functions, in addition to the basic functions, are added to the initial deep learning framework to obtain a target deep learning framework compatible with the heterogeneous accelerator. This method, by performing basic function porting on an original deep learning framework with low compatibility with heterogeneous accelerators and adding additional optimized and extended functions, obtains a target deep learning framework compatible with heterogeneous accelerators. In other words, while ensuring the complete porting of the original deep learning framework's functions, adaptive functional optimization and extension are performed on the original deep learning framework to improve its compatibility with heterogeneous accelerators, thereby improving the running performance of the deep learning framework and ensuring the availability of the framework and the addition of some functions on the heterogeneous accelerator.

[0061] The software stack of the heterogeneous accelerator in this application is the DTK software stack. However, the software stack information of the DTK software stack differs from that of the ROCm software stack in the original deep learning framework. Therefore, during the basic function porting process, adaptation and porting are required based on the differing software stack information. Based on this, in an exemplary embodiment, an optional method for determining the initial deep learning framework is provided. For example... Figure 3 As shown, the original deep learning framework undergoes basic function porting to obtain an initial deep learning framework that is fully adapted to the basic functions of the heterogeneous accelerator, including steps 301 to 302. Among these steps...

[0062] S301 retrieves the source code of the original deep learning framework and the software stack information of the heterogeneous accelerator.

[0063] In this embodiment, the software stack information may be software stack path information, etc.

[0064] Adjusting the original deep learning framework requires making corresponding code modifications or additions based on the source code of the original deep learning framework. It is necessary to first obtain the source code of the original deep learning framework and the software stack information of the heterogeneous accelerator in the embodiments of this application.

[0065] S302 modifies the source code based on the software stack information to obtain an initial deep learning framework that is fully adapted to the basic functions of the heterogeneous accelerator.

[0066] Optionally, the code related to the ROCm software stack can be found in the source code of the original deep learning framework. Then, based on the software stack information of the DTK software stack, the code related to the ROCm software stack can be modified to be related to the DTK software stack. This will result in an initial deep learning framework that is fully adapted to the basic functions of the heterogeneous accelerator.

[0067] In this embodiment, by introducing the software stack information of the heterogeneous accelerator, the source code of the original deep learning framework is modified, thereby obtaining an initial deep learning framework that is fully adapted to the basic functions of the heterogeneous accelerator.

[0068] The path information of the DTK software stack differs from that of the ROCm software stack, and the underlying libraries used in the DTK software stack also differ from those used in the ROCm software stack. Therefore, the function interfaces used when calling these underlying libraries are also different. Consequently, the software stack information needs to include both the software stack path information and the interface information for calling the underlying libraries, so that the source code can be modified accordingly. Based on this, in an exemplary embodiment, another optional method for determining the initial deep learning framework is provided. For example... Figure 4 As shown, by modifying the source code, an initial deep learning framework that is fully adapted to the basic functions of the heterogeneous accelerator is obtained, including:

[0069] S401 modifies the software stack path in the source code based on the software stack path information, and modifies the underlying library call interface of the software stack in the source code based on the interface information, to obtain the modified source code.

[0070] The path and interface information in the software stack directly affects operations such as package calls within the DTK software stack. Therefore, modifications need to be made to the source code related to the software stack path and the underlying library call interfaces. Optionally, based on the software stack path information, the software stack path in the source code can be modified to the DTK software stack path, and based on the interface information, the underlying library call interfaces in the source code can be modified to the DTK software stack interfaces. For example, if the original deep learning framework's software stack path is / opt / rocm, then / opt / rocm can be modified to / opt / dtk.

[0071] S402, compile the modified source code to obtain the target code.

[0072] In this embodiment of the application, the target code is the compiled code obtained by compiling the modified source code.

[0073] Optionally, after modifying the source code, it is necessary to compile the modified source code. A compilation tool can be used to compile the modified source code, and the target code is obtained after compilation.

[0074] S403: If the target code passes both testing and verification, the target code is packaged to obtain the initial deep learning framework.

[0075] After compilation, the code still needs to be tested and verified. There are corresponding test programs and verification programs for each. The target code is tested by the test program. If the test passes, the target code is verified by the verification program. When the target code passes both the test and verification, the target code is packaged to obtain the initial deep learning framework.

[0076] In this embodiment, the source code is modified according to the software stack path information and interface information to first complete the porting of basic functions, and then the modified source code is compiled, tested and verified to obtain the initial deep learning framework.

[0077] To meet the specific requirements of supercomputing cloud platforms, the deep learning framework adapted to the heterogeneous accelerator in this embodiment requires that the installation package does not depend on the original path. Therefore, it is necessary to modify the path-related identifiers in the compilation files within the source code. Based on this, in an exemplary embodiment, the modified source code is compiled to obtain the target code, including steps 501 to 502, as follows... Figure 5 As shown, where:

[0078] S501 modifies the path identifiers related to compilation in the source code from valid logical values ​​to invalid logical values, thus obtaining updated source code.

[0079] In the embodiments of this application, valid logical values ​​and invalid logical values ​​are logical values ​​that represent true and false in computer languages, and can be true and false, or 1 and 0, etc.

[0080] In the embodiments of this application, the path identifier related to compilation in the source code of the original deep learning framework is usually set to true. Therefore, it is necessary to change true to false to remove the dependency of the installation package on the original path, thus obtaining the updated source code. If the path identifier related to compilation in the source code of the original deep learning framework is usually set to 1, then 1 can be changed to 0 to obtain the updated source code.

[0081] S502 compiles the updated source code to obtain the target code.

[0082] The source code of the original deep learning framework includes code related to the compilation tools. Similarly, the updated source code also includes code related to the compilation tools. Therefore, during the compilation process of the updated source code, the compilation tools included in the source code are used directly to compile the updated source code to obtain the target code.

[0083] In this embodiment of the application, the path identifier related to compilation in the source code is modified from a valid logical value to an invalid logical value, which can remove the dependency of the installation package on the original path so that the required dynamic library can be searched during actual runtime.

[0084] The original deep learning framework lacks kernel-level performance analysis tools, therefore, performance analysis functionality needs to be included in the optimized extension functions. Furthermore, while the original deep learning framework can achieve reproducible results, this is not possible when using the heterogeneous accelerators of this application embodiment, necessitating optimization of the reproducibility functionality. Due to the differences in heterogeneous accelerators and underlying computing libraries, the performance of network training and inference varies across platforms. The original deep learning framework performs poorly in half-precision computation on the heterogeneous accelerators of this application embodiment, requiring targeted optimization of half-precision performance. Therefore, the optimized extension functions in this application embodiment include performance analysis functionality, result reproducibility functionality, and half-precision performance optimization functionality. In one embodiment, such as... Figure 6 As shown, optimizing and extending the initial deep learning framework beyond its basic functions to obtain a target deep learning framework adapted to heterogeneous accelerators includes steps 601 to 602, wherein:

[0085] S601, obtain the performance analysis function related to the performance analysis function, the reproducible environment variable related to the result reproducibility function, the half-precision performance optimization environment variable related to the half-precision performance optimization function, and the code of the initial deep learning framework.

[0086] Each function has its corresponding implementation code. To implement the above-mentioned performance analysis function, result reproducibility function, and half-precision performance optimization function, it is necessary to obtain the implementation code of each function.

[0087] For performance analysis, corresponding functions are needed to capture, collect, and provide feedback on kernel functions. Therefore, relevant performance analysis functions supporting kernel function information capture, collection, and feedback are required. For result reproducibility, the original deep learning framework already includes reproducible mode parameter settings. However, the existing reproducible mode parameters alone are insufficient for reproducibility on heterogeneous accelerators. Therefore, new environment variables are needed to achieve reproducibility on the heterogeneous accelerator in this embodiment, supported by both the reproducible mode parameters and the new environment variables. For half-precision performance optimization, the original deep learning framework uses fp32 for half-precision computation. To improve performance, fp16 can be used as the half-precision computation type. This requires adding a half-precision optimization environment variable so that the deep learning framework can optimize program performance through half-precision when running on the heterogeneous accelerator in this embodiment. Here, fp32 refers to a data type encoded and stored using 4 bytes (32 bits); fp16 refers to a data type encoded and stored using 2 bytes (16 bits). Compared to FP32, FP16 can significantly reduce memory usage and computational load during storage and computation, and can accelerate processing speed. When training deep learning models, you can choose the appropriate data type according to actual needs. If the data model requires high precision, you can choose FP32; if the data model requires speed and storage space, you can choose FP16.

[0088] In summary, it is necessary to obtain the performance analysis functions related to performance analysis, the reproducible environment variables related to result reproducibility, the half-precision performance optimization environment variables related to half-precision performance optimization, and the code of the initial deep learning framework. Optionally, after installing the initial deep learning framework using the installation package, users can write code to call the functions. This can be done by modifying their own code or setting the corresponding environment variables within the code. For example, users can add performance analysis functions, set reproducible and half-precision performance optimization environment variables in their code, and then call the performance analysis, result reproducibility, and half-precision performance optimization functions.

[0089] S602, based on the performance analysis function, reproducible environment variables, half-precision performance optimization environment variables, and the code of the initial deep learning framework, determine the target deep learning framework.

[0090] Optionally, the performance analysis function, reproducible environment variable, and half-precision performance optimization environment variable are all implementation code for each function. The performance analysis function, reproducible environment variable, and half-precision performance optimization environment variable can be directly added to the code of the initial deep learning framework to obtain the function addition code. Then, the function addition code is compiled, tested, and verified. After the compiled code of the function addition code has passed the test and verification, the compiled code of the function addition code is packaged to obtain the target deep learning framework.

[0091] In this embodiment, performance analysis, result reproducibility, and half-precision performance optimization functions are introduced to add these functions to the initial deep learning framework, thereby achieving functional expansion and performance optimization of the original deep learning framework.

[0092] To accurately analyze whether each added optimization and extension function can operate efficiently, a compilation, testing, and verification process can be performed after each optimization and extension function is added. This avoids mutual interference during the compilation, testing, and verification process after all functions have been added, which could lead to difficulties in identifying and locating problems. Based on this, one embodiment provides another optional method for determining the target deep learning framework. For example... Figure 7 As shown, based on the performance analysis function, reproducible environment variables, half-precision performance optimization environment variables, and the code of the initial deep learning framework, the target deep learning framework is determined, including steps 701 to 704, wherein:

[0093] S701, add the performance analysis function to the code of the initial deep learning framework to obtain the first framework code.

[0094] S702, after the compilation, testing and verification of the first framework code have passed, add reproducible environment variables to the first framework code to obtain the second framework code.

[0095] In this embodiment, the first framework code is the code that adds performance analysis functionality. The second framework code is the code that, after successfully adding performance analysis functionality, also adds the function of reproducible results.

[0096] Optionally, the performance analysis function can be directly added to the code of the initial deep learning framework to obtain the first framework code. Then, the compilation tools included in the first framework code are used to compile the first framework code. After compilation, the compiled code of the first framework code is obtained. Then, the compiled code of the first framework code is tested by a test program. If the compiled code of the first framework code passes the test, it is then verified by a verification program. If the verification of the compiled code of the first framework code also passes, the reproducible environment variables are directly added to the first framework code to obtain the second framework code.

[0097] S703, after the compilation code test and verification of the second frame code have passed, add the half-precision performance optimization environment variable to the second frame code to obtain the third frame code.

[0098] In this embodiment of the application, the third framework code is the code that adds half-precision performance optimization function on the basis of successfully adding performance analysis function and result reproducibility function.

[0099] For example, the compilation tools included in the second framework code are used to compile the second framework code. After compilation, the compiled code of the second framework code is obtained. Then, the compiled code of the second framework code is tested by a test program. If the compiled code of the second framework code passes the test, the compiled code of the second framework code is verified by a verification program. If the verification of the compiled code of the second framework code also passes, the half-precision performance optimization environment variable is directly added to the second framework code to obtain the third framework code.

[0100] S704: After the compilation code of the third framework code has passed the tests and verifications, the compilation code of the third framework code is packaged to obtain the target deep learning framework.

[0101] The third framework code is compiled using the compilation tools included in the third framework code. After compilation, the compiled code of the third framework code is obtained. Then, the compiled code of the third framework code is tested by a test program. If the compiled code of the third framework code passes the test, it is then verified by a verification program. If the verification of the compiled code of the third framework code also passes, the compiled code of the third framework code is packaged to obtain the target deep learning framework.

[0102] It should be noted that the result reproducibility feature and half-precision performance optimization feature added to the initial deep learning framework code have default settings, meaning that the result reproducibility feature and half-precision performance optimization feature are not enabled. However, the user is given the option to enable or disable the result reproducibility feature and half-precision performance optimization feature according to their own needs during actual use.

[0103] In this embodiment, after each optimized extension function is added, a compilation, testing, and verification are performed to avoid mutual interference during the compilation, testing, and verification process after all functions have been added, which would make it difficult to identify and locate problems.

[0104] Additionally, in one exemplary embodiment, this application also provides an optional example of a deep learning framework adjustment method, such as... Figure 8 As shown, this embodiment includes the following steps:

[0105] S801, obtain the source code of the original deep learning framework.

[0106] Among them, the original deep learning framework refers to a deep learning framework whose adaptability to heterogeneous accelerators is less than a preset value.

[0107] S802, obtains software stack information of heterogeneous accelerators.

[0108] The software stack information includes software stack path information and interface information for calling the underlying software stack libraries.

[0109] S803 modifies the software stack path in the source code based on the software stack path information, and modifies the underlying library call interface of the software stack in the source code based on the interface information, to obtain the modified source code.

[0110] S804 modifies the path identifiers related to compilation in the source code from valid logical values ​​to invalid logical values, thus obtaining updated source code.

[0111] S805 compiles the updated source code to obtain the target code.

[0112] S806: If the target code passes both testing and verification, the target code is packaged to obtain the initial deep learning framework.

[0113] S807 retrieves the performance analysis functions related to the performance analysis function, the reproducible environment variables related to the result reproducibility function, the half-precision performance optimization environment variables related to the half-precision performance optimization function, and the code of the initial deep learning framework.

[0114] S808 adds the performance analysis function to the code of the initial deep learning framework, resulting in the first framework code.

[0115] S809: If the compilation test and verification of the first framework code pass, add reproducible environment variables to the first framework code to obtain the second framework code.

[0116] S810, after the compilation code test and verification of the second framework code have passed, adds the half-precision performance optimization environment variable to the second framework code to obtain the third framework code.

[0117] S811: After the compilation code of the third framework code has passed the tests and verifications, the compilation code of the third framework code is packaged to obtain the target deep learning framework.

[0118] The processes S801-S811 described above can be found in the description of the above method embodiments, and their implementation principles and technical effects are similar, so they will not be repeated here.

[0119] It should be understood that although the steps in the flowcharts of the embodiments described above are shown sequentially according to the arrows, these steps are not necessarily executed in the order indicated by the arrows. Unless explicitly stated herein, there is no strict order restriction on the execution of these steps, and they can be executed in other orders. Moreover, at least some steps in the flowcharts of the embodiments described above may include multiple steps or multiple stages. These steps or stages are not necessarily completed at the same time, but can be executed at different times. The execution order of these steps or stages is not necessarily sequential, but can be performed alternately or in turn with other steps or at least some of the steps or stages of other steps.

[0120] Based on the same inventive concept, this application also provides a deep learning framework adjustment device for implementing the deep learning framework adjustment method described above. The solution provided by this device is similar to the solution described in the above method; therefore, the specific limitations in one or more deep learning framework adjustment device embodiments provided below can be found in the limitations of the deep learning framework adjustment method described above, and will not be repeated here.

[0121] In one exemplary embodiment, such as Figure 9 As shown, a deep learning framework adjustment device 1 is provided, comprising: a framework acquisition module 10, a first determination module 20, and a second determination module 30, wherein:

[0122] The framework acquisition module 10 is used to acquire the original deep learning framework; the original deep learning framework represents a deep learning framework whose adaptation to heterogeneous accelerators is less than a preset value.

[0123] The first determining module 20 is used to perform basic function porting processing on the original deep learning framework to obtain an initial deep learning framework that is fully adapted to the basic functions of the heterogeneous accelerator.

[0124] The second determining module 30 is used to add optimized and extended functions to the initial deep learning framework in addition to the basic functions, so as to obtain a target deep learning framework adapted to heterogeneous accelerators.

[0125] In one embodiment, the first determining module 20 described above can be used to:

[0126] Obtain the source code of the original deep learning framework and the software stack information of the heterogeneous accelerator; based on the software stack information, modify the source code to obtain an initial deep learning framework that is fully adapted to the basic functions of the heterogeneous accelerator.

[0127] In one embodiment, the first determining module 20 is further configured to:

[0128] The software stack path in the source code is modified based on the software stack path information, and the underlying library call interface in the source code is modified based on the interface information to obtain the modified source code; the modified source code is compiled to obtain the target code; if the target code passes the tests and verifications, the target code is packaged to obtain the initial deep learning framework.

[0129] In one embodiment, the first determining module 20 is further configured to:

[0130] Modify the path identifiers related to compilation in the source code from valid logical values ​​to invalid logical values ​​to obtain updated source code; compile the updated source code to obtain object code.

[0131] In one embodiment, the second determining module 30 described above can be used to:

[0132] Obtain the performance analysis function related to the performance analysis function, the reproducible environment variable related to the result reproducibility function, the half-precision performance optimization environment variable related to the half-precision performance optimization function, and the code of the initial deep learning framework; determine the target deep learning framework based on the performance analysis function, the reproducible environment variable, the half-precision performance optimization environment variable, and the code of the initial deep learning framework.

[0133] In one embodiment, the second determining module 30 is further configured to:

[0134] The performance analysis function is added to the code of the initial deep learning framework to obtain the first framework code. After the compilation code of the first framework code passes both testing and verification, reproducible environment variables are added to the first framework code to obtain the second framework code. After the compilation code of the second framework code passes both testing and verification, half-precision performance optimization environment variables are added to the second framework code to obtain the third framework code. After the compilation code of the third framework code passes both testing and verification, the compiled code of the third framework code is packaged to obtain the target deep learning framework.

[0135] The modules in the aforementioned deep learning framework adjustment device can be implemented entirely or partially through software, hardware, or a combination thereof. These modules can be embedded in or independent of the processor in a computer device, or stored in the memory of a computer device as software, so that the processor can call and execute the operations corresponding to each module.

[0136] In one exemplary embodiment, a computer device is provided, which may be a server, and its internal structure diagram may be as follows: Figure 10 As shown, this computer device includes a processor, memory, input / output interfaces (I / O), and a communication interface. The processor, memory, and I / O interfaces are connected via a system bus, and the communication interface is also connected to the system bus via the I / O interfaces. The processor provides computational and control capabilities. The memory includes non-volatile storage media and internal memory. The non-volatile storage media stores the operating system, computer programs, and a database. The internal memory provides the environment for the operation of the operating system and computer programs stored in the non-volatile storage media. The database stores deep learning framework tuning data. The I / O interfaces are used for exchanging information between the processor and external devices. The communication interface is used for communicating with external terminals via a network connection. When the computer program is executed by the processor, it implements a deep learning framework tuning method.

[0137] Those skilled in the art will understand that Figure 10 The structures shown are merely block diagrams of some structures related to the embodiments of this application and do not constitute a limitation on the computer devices on which the embodiments of this application are applied. Specific computer devices may include more or fewer components than those shown in the figures, or combine certain components, or have different component arrangements.

[0138] In one exemplary embodiment, a computer device is provided, including a memory and a processor, wherein the memory stores a computer program, and the processor executes the computer program to perform the following steps:

[0139] Obtain the original deep learning framework; the original deep learning framework represents a deep learning framework whose adaptation to heterogeneous accelerators is less than a preset value.

[0140] The original deep learning framework is ported to its basic functions to obtain an initial deep learning framework that is fully adapted to the basic functions of the heterogeneous accelerator.

[0141] By adding optimized and extended functions in addition to the basic functions to the initial deep learning framework, a target deep learning framework adapted to heterogeneous accelerators is obtained.

[0142] In one embodiment, when the processor executes the logic in the computer program to perform basic function porting processing on the original deep learning framework and obtain an initial deep learning framework that is fully adapted to the basic functions of the heterogeneous accelerator, the following steps are specifically implemented:

[0143] Obtain the source code of the original deep learning framework and the software stack information of the heterogeneous accelerator; based on the software stack information, modify the source code to obtain an initial deep learning framework that is fully adapted to the basic functions of the heterogeneous accelerator.

[0144] In one embodiment, when the processor executes the logic in the computer program to modify the source code to obtain an initial deep learning framework that is fully adapted to the basic functions of the heterogeneous accelerator, the following steps are specifically implemented:

[0145] The software stack path in the source code is modified based on the software stack path information, and the underlying library call interface in the source code is modified based on the interface information to obtain the modified source code; the modified source code is compiled to obtain the target code; if the target code passes the tests and verifications, the target code is packaged to obtain the initial deep learning framework.

[0146] In one embodiment, when the processor executes the logic in the computer program to compile the modified source code to obtain the target code, the following steps are specifically implemented:

[0147] Modify the path identifiers related to compilation in the source code from valid logical values ​​to invalid logical values ​​to obtain updated source code; compile the updated source code to obtain object code.

[0148] In one embodiment, when the processor executes the logic in the computer program to add optimized extension functions to the initial deep learning framework in addition to the basic functions, to obtain the target deep learning framework adapted to the heterogeneous accelerator, the following steps are specifically implemented:

[0149] Obtain the performance analysis functions related to the performance analysis function, the reproducible environment variables related to the result reproducibility function, the half-precision performance optimization environment variables related to the half-precision performance optimization function, and the code of the initial deep learning framework; determine the target deep learning framework based on the performance analysis functions, reproducible environment variables, half-precision performance optimization environment variables, and the code of the initial deep learning framework.

[0150] In one embodiment, when the processor executes the logic in the computer program that determines the target deep learning framework based on the performance analysis function, reproducible environment variables, half-precision performance optimization environment variables, and the initial deep learning framework, the following steps are specifically implemented:

[0151] The performance analysis function is added to the code of the initial deep learning framework to obtain the first framework code. After the compilation code of the first framework code passes both testing and verification, reproducible environment variables are added to the first framework code to obtain the second framework code. After the compilation code of the second framework code passes both testing and verification, half-precision performance optimization environment variables are added to the second framework code to obtain the third framework code. After the compilation code of the third framework code passes both testing and verification, the compiled code of the third framework code is packaged to obtain the target deep learning framework.

[0152] The principles and specific processes of the computer equipment provided above in implementing the various embodiments can be found in the description of the deep learning framework adjustment method embodiments in the foregoing embodiments, and will not be repeated here.

[0153] In one embodiment, a computer-readable storage medium is provided having a computer program stored thereon, the computer program performing the following steps when executed by a processor:

[0154] Obtain the original deep learning framework; the original deep learning framework represents a deep learning framework whose adaptation to heterogeneous accelerators is less than a preset value.

[0155] The original deep learning framework is ported to its basic functions to obtain an initial deep learning framework that is fully adapted to the basic functions of the heterogeneous accelerator.

[0156] By adding optimized and extended functions in addition to the basic functions to the initial deep learning framework, a target deep learning framework adapted to heterogeneous accelerators is obtained.

[0157] In one embodiment, when the logic of the initial deep learning framework, which is fully adapted to the basic functions of the heterogeneous accelerator, is executed by the processor after the computer program performs basic function porting processing on the original deep learning framework, the following steps are specifically implemented:

[0158] Obtain the source code of the original deep learning framework and the software stack information of the heterogeneous accelerator; based on the software stack information, modify the source code to obtain an initial deep learning framework that is fully adapted to the basic functions of the heterogeneous accelerator.

[0159] In one embodiment, when the logic of the computer program, which modifies the source code based on the software stack information to obtain an initial deep learning framework that is fully adapted to the basic functions of the heterogeneous accelerator, is executed by the processor, the following steps are specifically implemented:

[0160] The software stack path in the source code is modified based on the software stack path information, and the underlying library call interface in the source code is modified based on the interface information to obtain the modified source code; the modified source code is compiled to obtain the target code; if the target code passes the tests and verifications, the target code is packaged to obtain the initial deep learning framework.

[0161] In one embodiment, when the logic of compiling the modified source code into target code in the computer program is executed by the processor, the following steps are specifically implemented:

[0162] Modify the path identifiers related to compilation in the source code from valid logical values ​​to invalid logical values ​​to obtain updated source code; compile the updated source code to obtain object code.

[0163] In one embodiment, when the logic of the target deep learning framework adapted to the heterogeneous accelerator is executed by the processor after adding optimized and extended functions to the initial deep learning framework in the computer program in addition to the basic functions, the following steps are specifically implemented:

[0164] Obtain the performance analysis functions related to the performance analysis function, the reproducible environment variables related to the result reproducibility function, the half-precision performance optimization environment variables related to the half-precision performance optimization function, and the code of the initial deep learning framework; determine the target deep learning framework based on the performance analysis functions, reproducible environment variables, half-precision performance optimization environment variables, and the code of the initial deep learning framework.

[0165] In one embodiment, when the logic of the target deep learning framework is determined to be executed by the processor based on the performance analysis function, reproducible environment variables, half-precision performance optimization environment variables, and the code of the initial deep learning framework, the computer program specifically implements the following steps:

[0166] The performance analysis function is added to the code of the initial deep learning framework to obtain the first framework code. After the compilation code of the first framework code passes both testing and verification, reproducible environment variables are added to the first framework code to obtain the second framework code. After the compilation code of the second framework code passes both testing and verification, half-precision performance optimization environment variables are added to the second framework code to obtain the third framework code. After the compilation code of the third framework code passes both testing and verification, the compiled code of the third framework code is packaged to obtain the target deep learning framework.

[0167] The principles and specific processes of the computer-readable storage medium provided above in implementing the various embodiments can be found in the description of the deep learning framework adjustment method embodiments in the foregoing embodiments, and will not be repeated here.

[0168] In one embodiment, a computer program product is provided, including a computer program that, when executed by a processor, performs the following steps:

[0169] Obtain the original deep learning framework; the original deep learning framework represents a deep learning framework whose adaptation to heterogeneous accelerators is less than a preset value.

[0170] The original deep learning framework is ported to its basic functions to obtain an initial deep learning framework that is fully adapted to the basic functions of the heterogeneous accelerator.

[0171] By adding optimized and extended functions in addition to the basic functions to the initial deep learning framework, a target deep learning framework adapted to heterogeneous accelerators is obtained.

[0172] In one embodiment, when the logic of the initial deep learning framework, which is fully adapted to the basic functions of the heterogeneous accelerator, is executed by the processor after the computer program performs basic function porting processing on the original deep learning framework, the following steps are specifically implemented:

[0173] Obtain the source code of the original deep learning framework and the software stack information of the heterogeneous accelerator; based on the software stack information, modify the source code to obtain an initial deep learning framework that is fully adapted to the basic functions of the heterogeneous accelerator.

[0174] In one embodiment, when the logic of the computer program, which modifies the source code based on the software stack information to obtain an initial deep learning framework that is fully adapted to the basic functions of the heterogeneous accelerator, is executed by the processor, the following steps are specifically implemented:

[0175] The software stack path in the source code is modified based on the software stack path information, and the underlying library call interface in the source code is modified based on the interface information to obtain the modified source code; the modified source code is compiled to obtain the target code; if the target code passes the tests and verifications, the target code is packaged to obtain the initial deep learning framework.

[0176] In one embodiment, when the logic of compiling the modified source code into target code in the computer program is executed by the processor, the following steps are specifically implemented:

[0177] Modify the path identifiers related to compilation in the source code from valid logical values ​​to invalid logical values ​​to obtain updated source code; compile the updated source code to obtain object code.

[0178] In one embodiment, when the logic of the target deep learning framework adapted to the heterogeneous accelerator is executed by the processor after adding optimized and extended functions to the initial deep learning framework in the computer program in addition to the basic functions, the following steps are specifically implemented:

[0179] Obtain the performance analysis functions related to the performance analysis function, the reproducible environment variables related to the result reproducibility function, the half-precision performance optimization environment variables related to the half-precision performance optimization function, and the code of the initial deep learning framework; determine the target deep learning framework based on the performance analysis functions, reproducible environment variables, half-precision performance optimization environment variables, and the code of the initial deep learning framework.

[0180] In one embodiment, when the logic of the target deep learning framework is determined to be executed by the processor based on the performance analysis function, reproducible environment variables, half-precision performance optimization environment variables, and the code of the initial deep learning framework, the computer program specifically implements the following steps:

[0181] The performance analysis function is added to the code of the initial deep learning framework to obtain the first framework code. After the compilation code of the first framework code passes both testing and verification, reproducible environment variables are added to the first framework code to obtain the second framework code. After the compilation code of the second framework code passes both testing and verification, half-precision performance optimization environment variables are added to the second framework code to obtain the third framework code. After the compilation code of the third framework code passes both testing and verification, the compiled code of the third framework code is packaged to obtain the target deep learning framework.

[0182] The principles and specific processes of implementing the computer program products provided above can be found in the description of the deep learning framework adjustment method in the foregoing embodiments, and will not be repeated here.

[0183] It should be noted that the data involved in the embodiments of this application (including but not limited to data used for analysis, data stored, data displayed, etc.) are all information and data that have been authorized or fully authorized by all parties, and the collection, use and processing of related data must comply with relevant regulations.

[0184] Those skilled in the art will understand that all or part of the processes in the methods of the above embodiments can be implemented by a computer program instructing related hardware. The computer program can be stored in a non-volatile computer-readable storage medium, and when executed, it can include the processes of the embodiments of the above methods. Any references to memory, databases, or other media used in the embodiments provided in this application can include at least one of non-volatile and volatile memory. Non-volatile memory can include read-only memory (ROM), magnetic tape, floppy disk, flash memory, optical memory, high-density embedded non-volatile memory, resistive random access memory (ReRAM), magnetic random access memory (MRAM), ferroelectric random access memory (FRAM), phase change memory (PCM), graphene memory, etc. Volatile memory can include random access memory (RAM) or external cache memory, etc. By way of illustration and not limitation, RAM can take many forms, such as Static Random Access Memory (SRAM) or Dynamic Random Access Memory (DRAM). The databases involved in the embodiments provided in this application may include at least one type of relational database and non-relational database. Non-relational databases may include, but are not limited to, blockchain-based distributed databases. The processors involved in the embodiments provided in this application may be general-purpose processors, central processing units, graphics processing units, digital signal processors, programmable logic devices, quantum computing-based data processing logic devices, etc., and are not limited to these.

[0185] The technical features of the above embodiments can be combined in any way. For the sake of brevity, not all possible combinations of the technical features in the above embodiments are described. However, as long as there is no contradiction in the combination of these technical features, they should be considered to be within the scope of this specification.

[0186] The above-described embodiments are merely illustrative of several implementation methods of the embodiments of this application, and their descriptions are relatively specific and detailed. However, they should not be construed as limiting the patent scope of the embodiments of this application. It should be noted that those skilled in the art can make several modifications and improvements without departing from the concept of the embodiments of this application, and these all fall within the protection scope of the embodiments of this application. Therefore, the protection scope of the embodiments of this application should be determined by the appended claims.

Claims

1. A method for adjusting a deep learning framework, characterized in that, The method includes: Obtain the original deep learning framework; the original deep learning framework refers to a deep learning framework whose adaptability to heterogeneous accelerators is less than a preset value; the original deep learning framework lacks kernel function-level performance analysis tools, and the reproducible functions that can achieve results in the original deep learning framework cannot be implemented on the heterogeneous accelerator; The original deep learning framework is ported to its basic functions to obtain an initial deep learning framework that is fully adapted to the basic functions of the heterogeneous accelerator. Obtain optimized and extended functions of the initial deep learning framework in addition to the basic functions; the optimized and extended functions include: performance analysis functions related to performance analysis functions, reproducible environment variables related to result reproducibility functions, and half-precision performance optimization environment variables related to half-precision performance optimization functions; Obtain the code for the initial deep learning framework; The performance analysis function, the reproducible environment variable, and the half-precision performance optimization environment variable are added to the code of the initial deep learning framework. Each time an optimization extension is added, a compilation, test, and verification are performed. After all the optimization extensions have passed the test and verification, the compiled code with the added code is packaged to obtain the target deep learning framework adapted to the heterogeneous accelerator.

2. The method according to claim 1, characterized in that, The process of porting the basic functions of the original deep learning framework to obtain an initial deep learning framework that is fully adapted to the basic functions of the heterogeneous accelerator includes: Obtain the source code of the original deep learning framework and the software stack information of the heterogeneous accelerator; Based on the software stack information, the source code is modified to obtain an initial deep learning framework that is fully adapted to the basic functions of the heterogeneous accelerator.

3. The method according to claim 2, characterized in that, The software stack information includes software stack path information and interface information for calling the underlying libraries of the software stack. The step of modifying the source code based on the software stack information to obtain an initial deep learning framework fully adapted to the basic functions of the heterogeneous accelerator includes: The software stack path in the source code is modified according to the software stack path information, and the underlying library call interface of the software stack in the source code is modified according to the interface information to obtain the modified source code. The modified source code is compiled to obtain the target code; If the target code passes both testing and verification, the target code is packaged to obtain the initial deep learning framework.

4. The method according to claim 3, characterized in that, The process of compiling the modified source code to obtain the target code includes: The path identifiers related to compilation in the modified source code are changed from valid logical values ​​to invalid logical values ​​to obtain the updated source code; The updated source code is compiled to obtain the target code.

5. The method according to any one of claims 1-4, characterized in that, The process involves adding the performance analysis function, the reproducible environment variable, and the half-precision performance optimization environment variable to the code of the initial deep learning framework. For each added optimization extension, a compilation, testing, and verification process is performed. After all optimization extensions pass testing and verification, the compiled code containing the added code is packaged to obtain the target deep learning framework adapted to the heterogeneous accelerator, including: The performance analysis function is added to the code of the initial deep learning framework to obtain the first framework code; If the compilation code test and verification of the first framework code pass, the reproducible environment variable is added to the first framework code to obtain the second framework code; If the compilation code test and verification of the second framework code pass, the half-precision performance optimization environment variable is added to the second framework code to obtain the third framework code; If the compiled code of the third framework code passes both the test and verification, the compiled code of the third framework code is packaged to obtain the target deep learning framework.

6. The method according to any one of claims 1-4, characterized in that, The basic functional porting process of the original deep learning framework includes: The source code and software stack information of the original deep learning framework are replaced with the software stack information of the heterogeneous accelerator to achieve the adaptation and porting of basic functions.

7. A deep learning framework adjustment device, characterized in that, The device includes: The framework acquisition module is used to acquire the original deep learning framework; the original deep learning framework refers to the deep learning framework whose adaptability to the heterogeneous accelerator is less than a preset value; the original deep learning framework lacks kernel function-level performance analysis tools, and the reproducible functions that can achieve the results in the original deep learning framework cannot be implemented on the heterogeneous accelerator. The first determining module is used to perform basic function porting processing on the original deep learning framework to obtain an initial deep learning framework that is fully adapted to the basic functions of the heterogeneous accelerator. The second determining module is used to obtain the optimized extended functions of the initial deep learning framework in addition to the basic functions; the optimized extended functions include: performance analysis functions related to performance analysis functions, reproducible environment variables related to result reproducibility functions, and half-precision performance optimization environment variables related to half-precision performance optimization functions; obtain the code of the initial deep learning framework; add the performance analysis functions, the reproducible environment variables, and the half-precision performance optimization environment variables to the code of the initial deep learning framework, and perform compilation, testing, and verification once for each optimized extended function added. After each optimized extended function passes testing and verification, the compiled code with added code is packaged to obtain the target deep learning framework adapted to the heterogeneous accelerator.

8. A computer device comprising a memory and a processor, wherein the memory stores a computer program, characterized in that, When the processor executes the computer program, it implements the steps of the method according to any one of claims 1 to 6.

9. A computer-readable storage medium having a computer program stored thereon, characterized in that, When the computer program is executed by a processor, it implements the steps of the method according to any one of claims 1 to 6.

10. A computer program product, comprising a computer program, characterized in that, When the computer program is executed by a processor, it implements the steps of the method according to any one of claims 1 to 6.

Citation Information

Patent Citations

  • System and method for debugging parallel program

    CN102789413A

  • Flying paddle deep learning framework transplanting method based on domestic SW processor

    CN115409166A