COMPILING GRAPH-BASED PROGRAM SPECIFICATIONS
    71.
    发明申请

    公开(公告)号:US20180081919A1

    公开(公告)日:2018-03-22

    申请号:US15815772

    申请日:2017-11-17

    Abstract: A graph-based program specification includes: a plurality of components, each corresponding to a processing task and including one or more ports, including scalar data ports for sending or receiving a single data element and collection data ports for sending or receiving a collection of multiple data elements; and one or more links, each connecting an output port of an upstream component to an input port of a downstream component. Prepared code is generated representing subsets of the plurality of components, including: identifying one or more subset boundaries, including identifying one or more links connecting a collection data port of a component to a scalar data port of a component; forming the subsets based on the identified subset boundaries; and generating prepared code for each formed subset that when used for execution by a runtime system causes processing tasks corresponding to the components in each formed subset to be performed.

    PRODUCING AN INTERNAL REPRESENTATION OF A TYPE BASED ON THE TYPE'S SOURCE REPRESENTATION

    公开(公告)号:US20180081648A1

    公开(公告)日:2018-03-22

    申请号:US15469176

    申请日:2017-03-24

    CPC classification number: G06F9/4552 G06F8/433 G06F8/437 G06F9/44521

    Abstract: Operations include determining a compile-time representation of a particular type. A request for the compile-time representation of the particular type comprises a source representation of the particular type. Based on and subsequent to receiving the request, a source representation of a source code file comprising the source representation of the particular type is generated. The source representation of the source code file is converted to a compile-time representation of the source code file. The compile-time representation of the particular type is derived from the source time representation of the source code file. The source code file may also be compiled to generate a set of compiled code. The set of compiled code may be loaded into a virtual machine for generating a runtime representation of the set of compiled code. A runtime representation of the particular type is derived from the runtime representation of the set of compiled code.

    VISUALISATION FOR GUIDED ALGORITHM DESIGN TO CREATE HARDWARE FRIENDLY ALGORITHMS

    公开(公告)号:US20180074798A1

    公开(公告)日:2018-03-15

    申请号:US15701105

    申请日:2017-09-11

    Abstract: A method of selecting a software code optimisation for a section of algorithm software code in order to modify resource usage of hardware, the method comprising the steps of classifying each of a plurality of software code optimisations each characterising modifications to the section of software code that modify the hardware resource usage, forming combinations of the software code optimisations, each containing at least two of the software code optimisations and being formed according to an interdependency of the optimisation techniques of the software code optimisations in the combination, wherein the software code optimisations of each combination are useable together, and modifying the section of software code with at least two of the software code optimisations belonging to a selected combination of the set of combinations in order to modify the resource usage of the hardware executing the section of software code.

    Technologies for native code invocation using binary analysis

    公开(公告)号:US09910646B2

    公开(公告)日:2018-03-06

    申请号:US14998274

    申请日:2015-12-26

    CPC classification number: G06F8/433 G06F8/53

    Abstract: Technologies for native code invocation using binary analysis are described. A computing device for invoking native code from managed code using binary analysis receives a call from a thread executing a managed code segment to execute a native code segment. The computing device performs a binary analysis of the native code segment and generates, from the binary analysis, a complexity indicator that indicates a level of complexity of the native code segment by comparing the native code segment to at least one predefined complexity rule. Additionally, the computing device stores a status of the thread based on the complexity indicator and executes the native code segment. Other embodiments are described and claimed.

    CODE RELATIVES DETECTION
    75.
    发明申请

    公开(公告)号:US20180046441A1

    公开(公告)日:2018-02-15

    申请号:US15549785

    申请日:2016-02-09

    CPC classification number: G06F8/433

    Abstract: Disclosed are devices, systems, apparatus, methods, products, media, and other implementations, including a method that includes generating for a code segment of a first process an instruction dependency graph representative of behavior of the first process, obtaining respective one or more instruction dependency graphs representative of behaviors of code segments for one or more other processes, and determining, based on the first instruction dependency graph for the first process and the respective one or more instruction dependency graphs for the one or more other processes, a level of similarity between the first process and at least one of the one or more other processes.

    FLOW CONTROL FOR LANGUAGE-EMBEDDED PROGRAMMING IN GENERAL PURPOSE COMPUTING ON GRAPHICS PROCESSING UNITS

    公开(公告)号:US20180046440A1

    公开(公告)日:2018-02-15

    申请号:US15555643

    申请日:2016-03-03

    Applicant: Ingo Josopait

    Inventor: Ingo Josopait

    CPC classification number: G06F8/423 G06F8/314 G06F8/433 G06F8/434 G06F9/4494

    Abstract: The present invention discloses a method of flow control in a computing device, for processing of flow control statements to adapt a data structure of a program running on the computing device and a computer program product storing the method. The invention thereby allows the integration of the kernels into the main program when compiling. The whole parsing of the CPU program parts and the kernels is done by 10 one single standard compiler. The actual compiler for the device can be linked as a library and does not need to do any parsing. The invention further allows loops and if-clauses to be used in language-embedded GPGPU programming, enabling full general-purpose programming of the device in a way that is fully embedded in an ordinary programming language. The device can be a highly parallel computing 15 device, such as a video card, or some other computing device.

    Induction variable identification
    77.
    发明授权

    公开(公告)号:US09875101B1

    公开(公告)日:2018-01-23

    申请号:US15238879

    申请日:2016-08-17

    CPC classification number: G06F8/433

    Abstract: Aspects of the disclosure provide a method for identifying an induction variable in a loop during a compiling process. The method includes searching for a phi-function that includes a first operand and a second operand and defines a candidate basic induction variable (BIV), searching for an add/sub instruction that has a first register and a second register wherein the first register is the second operand of the phi-function, or the value in the first register is subsequently stored to the second operand of the phi-function through one or more move instructions, and determining the candidate BIV is a BIV when the second register of the add/sub instruction is the candidate BIV or stores a value that is passed from the candidate BIV through one or more move instructions.

    Interface definition language compiler with version reconciliation

    公开(公告)号:US09804829B2

    公开(公告)日:2017-10-31

    申请号:US15087116

    申请日:2016-03-31

    Applicant: CA, Inc.

    CPC classification number: G06F8/436 G06F8/40 G06F8/41 G06F8/42 G06F8/433 G06F8/71

    Abstract: An interface definition language compiler can be designed to generate different versions of stubs or library files from a same IDL source code. A developer can maintain a single IDL file with code for various versions by using version directives. As part of front end compiling, the IDL compiler will determine which sections of IDL code are compatible with a specified version and compile those determined sections of IDL code. When performing semantic analysis, the IDL compiler will determine whether changes across versions create semantic issues that can be resolved in the target program language by the backend of the compiler. For those changes that cannot be resolved in the target program language, the IDL compiler can generate error notifications.

    Partial vectorization compilation system

    公开(公告)号:US09753727B2

    公开(公告)日:2017-09-05

    申请号:US13995721

    申请日:2012-10-25

    CPC classification number: G06F9/30036 G06F8/433 G06F8/4441 G06F8/452

    Abstract: Generally, this disclosure provides technologies for generating and executing partially vectorized code that may include backward dependencies within a loop body of the code to be vectorized. The method may include identifying backward dependencies within a loop body of the code; selecting one or more ranges of iterations within the loop body, wherein the selected ranges exclude the identified backward dependencies; and vectorizing the selected ranges. The system may include a vector processor configured to provide predicated vector instruction execution, loop iteration range enabling, and dynamic loop dependence checking.

Patent Agency Ranking