Patent classifications
G06F8/47
PROCESSOR ARCHITECTURES
A processor comprising a control unit and a plurality of processing units interacting according to an operating architecture imposed dynamically by the control unit from among at least two of the following architectures and combinations of the following architectures: a single instruction multiple data (SIMD) stream architecture, a multiple instruction single data (MISD) stream architecture, a multiple instruction multiple data (MIMD) stream architecture. The operating architecture is imposed dynamically by the control unit according to: configuration functions included in a machine code, and/or data to be processed and current processing instructions received as input of the processor.
Split front end for flexible back end cluster processing
A system for code development and execution includes a client interface and a client processor. The client interface is configured to receive user code for execution and receive an indication of a server that will perform the execution. The client processor is configured to parse the user code to identify one or more data items referred to during the execution. The client processor is also configured to provide the server with an inquiry for metadata regarding the one or more data items, receive the metadata regarding the one or more data items, determine a logical plan based at least in part on the metadata regarding the one or more data items; and provide the logical plan to the server for execution.
Multi-language model processing
A method, apparatus, system, and computer program product for applying design rules in multiple programming languages to sets of multiple designs composed of models of objects representing these product designs. A request is received to apply the design rule to a model of a product. The design rule is written in a source code that is run to apply the design rule to the model. Sections in the source code corresponding to different programming languages identified. The source code for the design rule is run using language processors corresponding to the different programming languages identified in the sections in the source code and using language configuration information that describes parameters for executing the source code using the language processors, wherein a set of operations is performed on the model when the source code is run.
Multi-Language Model Processing
A method, apparatus, system, and computer program product for applying design rules in multiple programming languages to sets of multiple designs composed of models of objects representing these product designs. A request is received to apply the design rule to a model of a product. The design rule is written in a source code that is run to apply the design rule to the model. Sections in the source code corresponding to different programming languages identified. The source code for the design rule is run using language processors corresponding to the different programming languages identified in the sections in the source code and using language configuration information that describes parameters for executing the source code using the language processors, wherein a set of operations is performed on the model when the source code is run.
LOADER AND RUNTIME OPERATIONS FOR HETEROGENEOUS CODE OBJECTS
Described herein are techniques for executing a heterogeneous code object executable. According to the techniques, a loader identifies a first memory appropriate for loading a first architecture-specific portion of the heterogeneous code object executable, wherein the first architecture specific portion includes instructions for a first architecture, identifies a second memory appropriate for loading a second architecture-specific portion of the heterogeneous code object executable, wherein the second architecture specific portion includes instructions for a second architecture that is different than the first architecture, loads the first architecture-specific portion into the first memory and the second architecture-specific portion into the second memory, and performs relocations on the first architecture-specific portion and on the second architecture-specific portion.
COMPILER OPERATIONS FOR HETEROGENEOUS CODE OBJECTS
Described herein are techniques for performing compilation operations for heterogeneous code objects. According to the techniques, a compiler identifies architectures targeted by a compilation unit, compiles the compilation unit into a heterogeneous code object that includes a different code object portion for each identified architecture, performs name mangling on functions of the compilation unit, links the heterogeneous code object with a second code object to form an executable, and generates relocation records for the executable.
Multi-process model for cross-platform applications
Embodiments described herein provide for a multi-process model to support compiling applications for multiple platforms. In one embodiment, applications designed for execution on a mobile platform can be ported to and/or compiled for execution on a desktop/laptop platform without requiring modification of the core program code of the mobile application. The mobile application is executed using a multi-process (e.g., two or more process) model in which the core mobile application program generates content that is displayed by a host process. The host process enables automatic translation of program calls to generate mobile user interface elements into program calls that generate user interface elements of the host platform. The translation can be performed using a multi-process (e.g., two or more process) model in which the core application program generates content that is displayed by a host process.
Retargetable compilation for quantum computing systems
A compiler translates programs for execution on a quantum processing system. To facilitate portability of quantum programs across differently configured quantum processors, the compiler accepts a specification of the quantum processor as input along with a quantum program for compilation. A specification may include information about the type of each qubit device in the quantum processor, the number of qubits, the qubit topology, coherence times of individual qubits, and operations that the quantum processor supports. The compilation process may include manipulating operations of the input program to generate equivalent operations that can be performed by the quantum gates and qubit devices on the quantum processor for which the program is being compiled.
Development environment for heterogeneous devices
Implementing an application within a heterogeneous device can include receiving an application specifying a plurality of hardware accelerators and having a plurality of sections corresponding to different subsystems of the heterogeneous device, wherein the plurality of sections are specified using different programming models. Compiling each section based on the programming model of the section and the subsystem of the heterogeneous device corresponding to the section into an accelerator representation. Linking the accelerator representations based on a platform of the heterogeneous device, generating a hardware implementation of the application for the heterogeneous device based on the linked accelerator implementations, and automatically generating program code configured to control one or more of the plurality of hardware accelerators of the hardware implementation.
Conversion of remote application dialogs to native mobile controls
A processing device of a remote server computing system receives an input metadata representation of an input action from a mobile device communicatively coupled to the remote server computing system. The input action comprises a selection of one of a plurality of control options associated with at least one control from a mobile user interface presented by the mobile device, wherein the mobile user interface is generated from a display metadata representation of the plurality of control options and the at least one control from a stationary user interface generated by an application running on the remote server computing system. The processing device converts the input metadata representation to a stationary format used by the application running on the remote server computing system and executes a command corresponding to the input action in the application running on the remote server computing system.