Patent classifications
G06F8/54
Method for acquiring executable file of heterogeneous computing system, method for running the heterogeneous computing system and related products
The invention relates to an executable file acquisition method and operation method of a heterogeneous computing system and a related product. According to the executable file obtaining method of the heterogeneous computing system, through the CPU program and the artificial intelligence processor program, the electronic device allows a user to compile a corresponding program according to needs to achieve needed functions, and the application range of a machine learning library is expanded.
Systems and methods for running applications associated with browser-based user interfaces within multi-developer computing platforms
Systems and methods for developing one or more applications associated with a browser-based user interface within a multi-developer computing platform employ one or more processors that receive a request to build one or more applications configured to run in a browser-based user interface on a client; determine whether the one or more applications are associated with a core library and one or more runtime libraries; and in response to determining that the one or more applications are associated with the core library and the one or more runtime libraries: determine one or more version numbers associated with the one or more runtime libraries; and in response to the determined one or more version numbers being within a predetermined range associated with the core library, dynamically link the one or more runtime libraries and the one or more applications.
Systems and methods for running applications associated with browser-based user interfaces within multi-developer computing platforms
Systems and methods for developing one or more applications associated with a browser-based user interface within a multi-developer computing platform employ one or more processors that receive a request to build one or more applications configured to run in a browser-based user interface on a client; determine whether the one or more applications are associated with a core library and one or more runtime libraries; and in response to determining that the one or more applications are associated with the core library and the one or more runtime libraries: determine one or more version numbers associated with the one or more runtime libraries; and in response to the determined one or more version numbers being within a predetermined range associated with the core library, dynamically link the one or more runtime libraries and the one or more applications.
Protection of high-level language simulation models
Approaches for protection of HLL simulation models in a circuit design having unprotected high-level language (HLL) program code and first metadata of a shared library of executable simulation models that are based on sensitive HLL simulation models. A design tool determines a first storage location of the shared library based on the first metadata and compiles the unprotected HLL program code into an executable object. The design tool links the executable object with the library of executable simulation models from the first storage location and then simulates the circuit design by executing the executable object and loading the executable simulation models in response to initiation by the executable object.
Protection of high-level language simulation models
Approaches for protection of HLL simulation models in a circuit design having unprotected high-level language (HLL) program code and first metadata of a shared library of executable simulation models that are based on sensitive HLL simulation models. A design tool determines a first storage location of the shared library based on the first metadata and compiles the unprotected HLL program code into an executable object. The design tool links the executable object with the library of executable simulation models from the first storage location and then simulates the circuit design by executing the executable object and loading the executable simulation models in response to initiation by the executable object.
TRACKING HISTORY OF FIRMWARE PROGRAM UPDATES
A method of tracking a history of firmware program updates. The method includes reading current descriptions of current application programming interfaces from a history log. The current application programming interfaces correspond to current software modules. The current software modules form a current firmware program of a target device. The method also includes accessing updated software modules and new descriptions of new application programming interfaces of an updated firmware program. The updated firmware program is created from the current firmware program. The method further includes appending the new descriptions to the current descriptions in the history log, reading the new descriptions of the new application programming interfaces from the history log, generating an updated linkage for the updated firmware program by adding new links for the new application programming interfaces, and storing the updated software modules and the updated linkage in the history log.
TRACKING HISTORY OF FIRMWARE PROGRAM UPDATES
A method of tracking a history of firmware program updates. The method includes reading current descriptions of current application programming interfaces from a history log. The current application programming interfaces correspond to current software modules. The current software modules form a current firmware program of a target device. The method also includes accessing updated software modules and new descriptions of new application programming interfaces of an updated firmware program. The updated firmware program is created from the current firmware program. The method further includes appending the new descriptions to the current descriptions in the history log, reading the new descriptions of the new application programming interfaces from the history log, generating an updated linkage for the updated firmware program by adding new links for the new application programming interfaces, and storing the updated software modules and the updated linkage in the history log.
ARCHITECTED LIBRARY INTERFACE FOR KERNEL FUSION
Systems, apparatuses, and methods for implementing an architected library interface for kernel fusion are disclosed. A processor receives a first representation of a neural network and a vendor-supplied library. The vendor-supplied library is associated with a specific hardware target, and the library includes fusing points which allow a kernel to be called within an optimized operation. When a kernel is called using the fusing point within an optimized operation, the kernel performs one or more operations on the data being processed by the optimized operation. This allows multiple kernels to be executed without having to write data back to memory after each individual kernel. The processor generates an optimized version of the neural network by linking to fusing points within the vendor-supplied library. This reduces the number of memory accesses and increases the performance of the optimized version of the neural network when executed on the hardware target.
ARCHITECTED LIBRARY INTERFACE FOR KERNEL FUSION
Systems, apparatuses, and methods for implementing an architected library interface for kernel fusion are disclosed. A processor receives a first representation of a neural network and a vendor-supplied library. The vendor-supplied library is associated with a specific hardware target, and the library includes fusing points which allow a kernel to be called within an optimized operation. When a kernel is called using the fusing point within an optimized operation, the kernel performs one or more operations on the data being processed by the optimized operation. This allows multiple kernels to be executed without having to write data back to memory after each individual kernel. The processor generates an optimized version of the neural network by linking to fusing points within the vendor-supplied library. This reduces the number of memory accesses and increases the performance of the optimized version of the neural network when executed on the hardware target.
PAGE-IN LINKING
A dynamic linking system can be designed to dynamically resolve symbol references of pages associated with executable code as the pages are paged into virtual memory. The operating system can include a dynamic linker that uses metadata in the pages to determine symbol references that reference other code or values. Other code can include code in shared libraries. The dynamic linker can generate a data structure containing the symbol references in a small and dense format. The dynamic linker can send the data structure and other relevant data to the kernel once the symbol references have been identified. The kernel can perform the functions related to resolving the symbol references. For example, the kernel can resolve the symbol by determining a pointer value for the symbol, wherein the pointer value can be used to point to code or values. The kernel can resolve the symbol references and store the data structure, which contains the resolved symbol references.