G06F8/54

Callable notebook for cluster execution
09836302 · 2017-12-05 · ·

A system for processing a notebook includes an input interface and a processor. The input interface is to receive a first notebook. The notebook comprises code for interactively querying and viewing data. The processor is to load the first notebook into a shell. The shell receives one or more parameters associated with the first notebook. The shell executes the first notebook using a cluster.

Fast compiling source code without dependencies
11669313 · 2023-06-06 · ·

Techniques for an ultra-fact software compilation of source code are provided. A compiler receives software code and may divide it into code sections. A map of ordered nodes may be generated, such that each node in the map may include a code section and the order of the nodes indicates an execution order of the software code. Each code section may be compiled into an executable object in parallel and independently from other code sections. A binary executable may be generated by linking executable objects generated from the code sections. The methodology significantly differs from existing source code compilation techniques because conventional compilers build executable sequentially, whereas the embodiments divide the source code into multiple smaller code sections and compile them individually and in parallel. Compiling multiple code sections improves the compilations in order of magnitude from conventional techniques.

Fast compiling source code without dependencies
11669313 · 2023-06-06 · ·

Techniques for an ultra-fact software compilation of source code are provided. A compiler receives software code and may divide it into code sections. A map of ordered nodes may be generated, such that each node in the map may include a code section and the order of the nodes indicates an execution order of the software code. Each code section may be compiled into an executable object in parallel and independently from other code sections. A binary executable may be generated by linking executable objects generated from the code sections. The methodology significantly differs from existing source code compilation techniques because conventional compilers build executable sequentially, whereas the embodiments divide the source code into multiple smaller code sections and compile them individually and in parallel. Compiling multiple code sections improves the compilations in order of magnitude from conventional techniques.

METHOD AND APPARATUS FOR RESOURCE BINDING
20170329602 · 2017-11-16 · ·

A method and apparatus for resource binding are disclosed. In an embodiment, the apparatus includes an acquisition module, for acquiring a data constraint of an Internet of Things (IOT) data input point of an algorithm encapsulation module forming an IOT application, the data constraint defining a requirement which must be met by an IOT resource which can be bound to the IOT data input point; a matching module for, on the basis of the acquired data constraint and descriptions of IOT resources in the IOT, searching amongst the IOT resources for an IOT resource matching the IOT data input point; and a binding module for, upon an IOT resource matching the IOT data input point being found, binding the IOT resource found to the IOT data input point. The use of the method and apparatus can reduce the burden on the user during creation of an IOT application.

Modular co-versioning in a dynamically linked runtime environment

Modular co-versioning may involve the creation of multi-version libraries that may include multiple versions of a class. A multi-version library may include a base version and one or more other versions each of which may correspond to a particular, respective version of a software development kit, runtime environment or software platform, according to various embodiments. At runtime, a multi-version library may be searched in order to load a version of a class that corresponds to the version of the currently executing runtime environment. If the multi-version library does not include a version of the class corresponding to the currently executing version of the environment/platform, a version of the class corresponding to a previous version of the environment may be loaded if found in the multi-version library. Alternatively, if no other version of the class is found, a base version of the class may be loaded from the multi-version library.

Modular co-versioning in a dynamically linked runtime environment

Modular co-versioning may involve the creation of multi-version libraries that may include multiple versions of a class. A multi-version library may include a base version and one or more other versions each of which may correspond to a particular, respective version of a software development kit, runtime environment or software platform, according to various embodiments. At runtime, a multi-version library may be searched in order to load a version of a class that corresponds to the version of the currently executing runtime environment. If the multi-version library does not include a version of the class corresponding to the currently executing version of the environment/platform, a version of the class corresponding to a previous version of the environment may be loaded if found in the multi-version library. Alternatively, if no other version of the class is found, a base version of the class may be loaded from the multi-version library.

Approaches for amalgamating disparate software tools
11256483 · 2022-02-22 · ·

Systems and methods are provided for obtaining one or more source code files that correspond to a software program. At least one first software package that is separately executable from the software program is obtained, the first software package including one or more source code files. At least one first callable library for the first software package and at least one first invocation mechanism for calling the first callable library are generated. A composite software program that is capable of invoking at least the software program and the first callable library for the first software package using the first invocation mechanism is generated.

Approaches for amalgamating disparate software tools
11256483 · 2022-02-22 · ·

Systems and methods are provided for obtaining one or more source code files that correspond to a software program. At least one first software package that is separately executable from the software program is obtained, the first software package including one or more source code files. At least one first callable library for the first software package and at least one first invocation mechanism for calling the first callable library are generated. A composite software program that is capable of invoking at least the software program and the first callable library for the first software package using the first invocation mechanism is generated.

Unaligned instruction relocation

In one embodiment, a computer-implemented method includes receiving source code to be compiled into an executable file for an unaligned instruction set architecture (ISA). Aligned assembled code is generated, by a computer processor. The aligned assembled code complies with an aligned ISA and includes aligned processor code for a processor and aligned accelerator code for an accelerator. A first linking pass is performed on the aligned assembled code, including relocating a first relocation target in the aligned accelerator code that refers to a first object outside the aligned accelerator code. Unaligned assembled code is generated in accordance with the unaligned ISA and includes unaligned accelerator code for the accelerator and unaligned processor code for the processor. A second linking pass is performed on the unaligned assembled code, including relocating a second relocation target outside the unaligned accelerator code that refers to an object in the unaligned accelerator code.

Method for Executing Program Components on a Control Unit, a Computer-Readable Storage Medium, a Control Unit and a System
20220050668 · 2022-02-17 ·

A method for executing program components on a control unit includes receiving a first program unit and a second program unit; producing a first proxy definition and a second proxy definition, wherein a proxy definition stipulates access to at least one function and/or a memory area of a program unit, wherein the first proxy definition is associated with the first program unit and the second proxy definition is associated with the second program unit; compiling the first program unit and the second program unit to produce a first program component, a second program component, a first proxy component and a second proxy component; and executing the first program component and the second program component on a control unit, wherein the first program component calls and/or uses at least one function of the second program component by using the first proxy component and the second proxy component.