Patent classifications
G06F8/47
Compiling domain-specific language code to generate executable code targeting an appropriate type of processor of a network device
Systems and methods for programming a network device using a domain-specific language (DSL) are provided. According to one embodiment, source code in a form of a DSL, describing a slow-path task that is to be performed by a network device, is received by a processing resource. A determination is made regarding one or more types of processors are available within the network device to implement the slow-path task. For each portion of the source code, a preferred type of processor is determined by which the portion of the source code would be most efficiently implemented. When the preferred type of processor is available within the network device, executable code is generated targeting the preferred type of processor based on the portion of the source code; otherwise, intermediate code is generated in a form of a high-level programming language, targeting a general purpose processor of the network device.
Compilation framework for hardware configuration generation
Systems and methods for supporting a compilation framework for hardware configuration generation. In one implementation, a processing device executing a compilation workflow for a target architecture may receive an input source code associated with a configuration for the target hardware architecture; identify a first configuration information associated with at least a portion of the configuration for the target hardware architecture; perform a first set of compilation passes of the input source code in view of the first configuration information; generate, in view of the first set of compilation passes of the input source code, a first internal representation component for the target hardware architecture; and generate, in view of the first internal representation component, a binary bitstream component for the target hardware architecture.
Method implemented by processor of electronic device and processor to operate electronic device for heterogeneous processors
A method which is implemented by a processor of an electronic device includes receiving a program code directing operations to be processed by heterogeneous processors, receiving libraries to be referenced by the heterogeneous processors for processing the operations, receiving library information associated with attributes of processing the operations based on the libraries, determining processors, which will process the operations, from heterogeneous processors with reference to the library information such that each processor of the heterogeneous processors processes one or more assigned operations of the operations, and compiling sub portions divided from a whole portion of the program code so as to respectively correspond to the determined processors in a state where the sub portions respectively correspond to some libraries to be referenced by the determined processors.
SELECTIVE SUBSTITUTION OF LEGACY LOAD MODULE PROGRAMS WITH CLASSES FOR EXECUTION IN A JAVA VIRTUAL MACHINE
The disclosure provides a method for the selective substitution of legacy load module programs with classes for execution in a Java virtual machine.
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.
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.
PROXY COMPILATION FOR EXECUTION IN A FOREIGN ARCHITECTURE CONTROLLED BY EXECUTION WITHIN A NATIVE ARCHITECTURE
A proxy compiler may be used within a native execution environment to enable execution of non-native instructions from a non-native execution environment as if being performed within the native execution environment. In particular, the proxy compiler coordinates creation of a native executable that is uniquely tied to a particular non-native image at the time of creation of the non-native image. This allows a trusted relationship between the native executable and the non-native image, while avoiding a requirement of compilation/translation of the non-native instructions for execution directly within the native execution environment.
Compiling method, compiling device, execution method, computer-readable storage medium and computer device
A Flutter-based compiling method, a compiling device, an executing method, a computer-readable storage medium, and a computer device are provided. The Flutter-based compiling method includes: receiving configuration content; in response to the configuration content, compiling and generating an executable file, where the executable file includes at least two of a Native component, a Flutter Native component and a Flutter dynamic component, and is configured to generate a routing table during operation, to enable the Native component, the Flutter Native component and the Flutter dynamic component to communicate with each other through the routing table.
INTELLIGENT DATA PROCESSING SYSTEM WITH MULTI-INTERFACE FRONTEND AND BACKEND
A method includes identifying a sequence of transformations to be performed on an input dataset via a user interface. The method also includes identifying a first context associated with the input dataset. The method further includes selecting a first one of multiple execution engines to be used to perform the sequence of transformations on the input dataset based on the first context. In addition, the method includes providing first code implementing the sequence of transformations to the first execution engine and executing the first code using the first execution engine to perform the sequence of transformations on the input dataset.
INTELLIGENT DATA PROCESSING SYSTEM WITH METADATA GENERATION FROM ITERATIVE DATA ANALYSIS
A method includes obtaining a first data model from a data exploration phase performed in a first environment, where the first data model includes first metadata. The method also includes obtaining a second data model from the data exploration phase performed in a second environment different from the first environment, where the second data model includes second metadata. The method further includes generating a third data model including one or more software artifacts using the first metadata and the second metadata. Each of the one or more software artifacts is configured as one or more files that are configured for execution of at least one artificial intelligence (AI)/machine learning (ML) application.