Loop execution with predicate computing for dataflow machines

    公开(公告)号:US10346145B2

    公开(公告)日:2019-07-09

    申请号:US15632123

    申请日:2017-06-23

    申请人: INTEL CORPORATION

    摘要: Compilers for compiling computer programs and apparatuses including compilers are disclosed herein. A compiler may include one or more analyzers to parse and analyze source instructions of a computer program including identification of nested loops of the computer program. The compiler may also include a code generator coupled to the one or more analyzers to generate and output executable code for the computer program that executes on a data flow machine, including a data flow graph, based at least in part on results of the analysis. In embodiments, the executable code may include executable code that recursively computes predicates of identified nested loops for use to generate control signal for the data flow graph to allow execution of each loop to start when the loop's predicate is available, independent of whether any other loop is in execution or not. Other embodiments may be disclosed or claimed.

    Methods and apparatus to compile code to generate data flow code

    公开(公告)号:US10402176B2

    公开(公告)日:2019-09-03

    申请号:US15855964

    申请日:2017-12-27

    申请人: Intel Corporation

    IPC分类号: G06F9/44 G06F8/41

    摘要: Methods, apparatus, systems and articles of manufacture to compiler compile code to generate dataflow code are described. An example compiler apparatus includes an intermediate representation transformer to transform input software code to intermediate representation code; an instruction selector to insert machine instructions of a target execution platform in the intermediate representation code to generate machine intermediate representation code; and a target machine transformer to: convert a portion of the machine intermediate representation code to dataflow code to generate dataflow intermediate representation code; and allocate registers within the dataflow intermediate representation code.

    Technology To Use Control Dependency Graphs To Convert Control Flow Programs Into Data Flow Programs

    公开(公告)号:US20180349115A1

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

    申请号:US15609583

    申请日:2017-05-31

    申请人: Intel Corporation

    发明人: Yongzhi Zhang

    IPC分类号: G06F9/45 G06F9/44

    CPC分类号: G06F8/433 G06F8/20 G06F15/825

    摘要: An apparatus for automatically converting a control flow program into a data flow program comprises a non-transitory machine-readable medium and a translator stored in the machine-readable medium. The translator, when executed by a data processing system, enables the data processing system to (a) automatically generate a control dependency graph for a control flow program, (b) automatically generate a data flow graph based at least in part on the control dependency graph, and (c) automatically generate a data flow program based at least in part on the data flow graph. In one embodiment or scenario, the translator may also automatically insert a switch instruction into the data flow program, in response to a determination that a variable of the control flow program is defined in one control dependency region and used in a different control dependency region. Other embodiments are described and claimed.

    Sequence optimizations in a high-performance computing environment

    公开(公告)号:US10776087B2

    公开(公告)日:2020-09-15

    申请号:US16017000

    申请日:2018-06-25

    申请人: INTEL CORPORATION

    发明人: Yongzhi Zhang

    IPC分类号: G06F8/41 G06F8/30

    摘要: Embodiments are directed to techniques to determine dataflow graph instructions comprising one or more pick/switch instruction pairs and generate a reverse static single assignment graph based on the dataflow graph instructions, the reverse static single assignment graph comprising strongly connected components, each of the strongly connected components associated with at least one of the one or more pick/switch instruction pairs. Embodiments also include traversing the reverse static single assignment graph depth-first, and replace pick/switch instructions associated with strongly connected components having configuration values with compound instructions.

    Methods and apparatus to map single static assignment instructions onto a data flow graph in a data flow architecture

    公开(公告)号:US10346144B2

    公开(公告)日:2019-07-09

    申请号:US15721454

    申请日:2017-09-29

    申请人: Intel Corporation

    IPC分类号: G06F9/44 G06F8/41 G06F15/82

    摘要: Methods, apparatus, systems and articles of manufacture to map a set of instructions onto a data flow graph are disclosed herein. An example apparatus includes a variable handler to modify a variable in the set of instructions. The variable is used multiple times in the set of instructions and the set of instructions are in a static single assignment form. The apparatus also includes a PHI handler to replace a PHI instruction contained in the set of instructions with a set of control data flow instructions and a data flow graph generator to map the set of instructions modified by the variable handler and the PHI handler onto a data flow graph without transforming the instructions out of the static single assignment form.

    Technology to use control dependency graphs to convert control flow programs into data flow programs

    公开(公告)号:US10318259B2

    公开(公告)日:2019-06-11

    申请号:US15609583

    申请日:2017-05-31

    申请人: Intel Corporation

    发明人: Yongzhi Zhang

    摘要: An apparatus for automatically converting a control flow program into a data flow program comprises a non-transitory machine-readable medium and a translator stored in the machine-readable medium. The translator, when executed by a data processing system, enables the data processing system to (a) automatically generate a control dependency graph for a control flow program, (b) automatically generate a data flow graph based at least in part on the control dependency graph, and (c) automatically generate a data flow program based at least in part on the data flow graph. In one embodiment or scenario, the translator may also automatically insert a switch instruction into the data flow program, in response to a determination that a variable of the control flow program is defined in one control dependency region and used in a different control dependency region. Other embodiments are described and claimed.

    SEQUENCE OPTIMIZATIONS IN A HIGH-PERFORMANCE COMPUTING ENVIRONMENT

    公开(公告)号:US20190042218A1

    公开(公告)日:2019-02-07

    申请号:US16017000

    申请日:2018-06-25

    申请人: INTEL CORPORATION

    发明人: Yongzhi Zhang

    IPC分类号: G06F8/41 G06F8/30

    摘要: Embodiments are directed to techniques to determine dataflow graph instructions comprising one or more pick/switch instruction pairs and generate a reverse static single assignment graph based on the dataflow graph instructions, the reverse static single assignment graph comprising strongly connected components, each of the strongly connected components associated with at least one of the one or more pick/switch instruction pairs. Embodiments also include traversing the reverse static single assignment graph depth-first, and replace pick/switch instructions associated with strongly connected components having configuration values with compound instructions.