Patent classifications
G06F9/44547
Hybrid binaries supporting code stream folding
A hybrid binary executable under both native processes and compatibility (e.g., emulated) processes. When the hybrid binary is loaded by a native process, the process executes a native code stream contained in the binary directly on a processor. When the hybrid binary is loaded by a compatibility process, the process executes an emulation-compatible (EC) code stream directly on a processor. The hybrid binary format supports folding of code between the native code stream and the EC code stream. The hybrid binary comprises a set of memory transformations which are applied to image data obtained from the binary when the hybrid binary executes under the compatibility process.
Native emulation compatible application binary interface for supporting emulation of foreign code
A function is compiled against a first application binary interface (ABI) and a second ABI of a native first instruction set architecture (ISA). The second ABI defines context data not exceeding a size expected by a third ABI of a foreign second ISA, and uses a subset of registers of the first ISA that are mapped to registers of the second ISA. Use of the subset of registers by the second ABI results in some functions being foldable when compiled using both the first and second ABIs. First and second compiled versions of the function are identified as foldable, or not, based on whether the compiled versions match. Both the first and second compiled versions are emitted into a binary file when they are not foldable, and only one of the first or second compiled versions is emitted into the binary file when they are foldable.
In-vehicle apparatus for efficient reprogramming and controlling method thereof
A reprogramming method of a vehicle includes authenticating a diagnostor; receiving integrated firmware comprising a plurality of firmwares that correspond to a plurality of target controllers, respectively, from the diagnostor that is completely authenticated; authenticating the integrated firmware; encrypting and storing the plurality of firmwares included in the integrated firmware; and generating encryption keys that corresponds the plurality of target controllers, respectively apparatus. The encrypting and storing comprises encrypting and storing the plurality of firmwares to the encryption keys that correspond to the plurality of firmwares, respectively.
Versioning of pipeline templates for continuous delivery of services on datacenters configured in cloud platforms
Computing systems, for example, multi-tenant systems deploy software artifacts in data centers created in a cloud platform using a cloud platform infrastructure language that is cloud platform independent. The system receives pipeline templates including templating expressions that can be substituted with values for generating pipelines. A pipeline can be executed to perform a set of actions associated with continuous delivery of a software artifact. The system stores sets of partially hydrated pipeline templates. The partially hydrated pipeline templates can be compiled into executable pipelines associated with services configured on a datacenter of a cloud platform. The system stores different versions of pipeline templates as deployment packages. The system stores version pointers that identify specific deployment packages that are selected when a software release is deployed. The version pointers allow the deployment package to be updated in case of roll back or for deploying more recent changes.
Embedding of multiple versions in monolithic applications during compilation
A system for updating a monolithic application. The system includes an electronic processor. The electronic processor is configured to receive a new version of the monolithic application. The new version of the monolithic application includes a first set of computer readable instructions. The electronic processor is configured to create a new class that defines a previous version of the monolithic application. The previous version of the monolithic application includes a second set of computer readable instructions. The electronic processor is also configured to compile the monolithic application to combine the new version of the monolithic application and the previous version of the monolithic application into an executable file, receive a selection of a version of the monolithic application to execute, and execute computer executable instructions in the executable file corresponding to the received selection of a version of the monolithic application.
Hybrid binaries supporting code stream folding
A hybrid binary executable under both native processes and compatibility (e.g., emulated) processes. When the hybrid binary is loaded by a native process, the process executes a native code stream contained in the binary directly on a processor. When the hybrid binary is loaded by a compatibility process, the process executes an emulation-compatible (EC) code stream directly on a processor. When executing in a compatibility process, the EC code stream can interact with a foreign code stream that executes in an emulator. The foreign code stream can be included in the hybrid binary itself, or can be external to the hybrid binary. The hybrid binary format supports folding of code between the native code stream and the EC code stream. The hybrid binary comprises a set of memory transformations which are applied to image data obtained from the binary when the hybrid binary executes under the compatibility process.
Information processing apparatus, method, and non-transitory recording medium storing instructions for executing an information processing method
An information processing apparatus, method, and non-transitory recording medium storing instructions for executing an information processing method are provided. The information processing apparatus controls installation of a first program corresponding to a first program execution environment and controls installation of a second program corresponding to a second program execution environment in response to a request from the first program.
Annotating dynamic libraries for multi-OS applications
Embodiments described herein provide for system and methods to enable an operating environment that supports multi-OS applications. One embodiment provides for a non-transitory machine-readable medium storing instructions to perform operations comprising parsing a set of object files to generate a graph of code and data for each object file, group elements from the graphs of code and data into a master graph of elements, and generating an annotated output file including compiled code for the dynamic library, the annotated output file having a header and a first set of load commands, the first set of load commands to specify multiple target platforms for the dynamic library.
Method, device and computer program product for performing applications in hybrid cloud
Embodiments of the present disclosure provide a method, device and computer program product for executing applications in a hybrid cloud. The method comprises in response to receiving a request for executing the application from a user, obtaining an application identifier for the application from the request. The method also comprises determining, based on the application identifier and a scheduling strategy associated with the application, an executable file identifier corresponding to the application. The method further comprises obtaining, from a repository associated with the hybrid cloud, an executable file of the application corresponding to the executable file identifier, the executable file being associated with a type of a heterogeneous device in a hybrid cloud. By utilizing the above method, users can rapidly execute the application without considering the type of the heterogeneous device in the hybrid cloud.
Device profiling in GPU accelerators by using host-device coordination
System and method of compiling a program having a mixture of host code and device code to enable Profile Guided Optimization (PGO) for device code execution. An exemplary integrated compiler can compile source code programmed to be executed by a host processor (e.g., CPU) and a co-processor (e.g., a GPU) concurrently. The compilation can generate an instrumented executable code which includes: profile instrumentation counters for the device functions; and instructions for the host processor to allocate and initialize device memory for the counters and to retrieve collected profile information from the device memory to generate instrumentation output. The output is fed back to the compiler for compiling the source code a second time to generate optimized executable code for the device functions defined in the source code.