发明名称 Method and system for automated improvement of parallelism in program compilation
摘要 A method of program compilation to improve parallelism during the linking of the program by a compiler. The method includes converting statements of the program to canonical form, constructing abstract syntax tree (AST) for each procedure in the program, and traversing the program to construct a graph by making each non-control flow statement and each control structure into at least one node of the graph.
申请公布号 US9182957(B2) 申请公布日期 2015.11.10
申请号 US201313929649 申请日期 2013.06.27
申请人 发明人 Craymer Loring
分类号 G06F9/44;G06F9/45 主分类号 G06F9/44
代理机构 Nicholson De Vos Webster & Elliott, LLP 代理人 Nicholson De Vos Webster & Elliott, LLP
主权项 1. A computer implemented method of program compilation to improve parallelism during the linking of the program by a compiler, the method comprising: converting statements of the program to canonical form; constructing abstract syntax tree (AST) for each procedure in the program; traversing the program to construct a functional dataflow graph, in which an assignment statement or function call is represented as a node, a control flow decision is represented by a first set of nodes, or an array or set is represented as a second set of nodes and in which edges of the functional dataflow graph represent typed data; identifying at least one loop in the functional dataflow graph that can be executed in parallel; transforming the at least one loop to a set operation by retyping connections between nodes of the functional dataflow graph; parsing code of the program to identify control structures that govern alternative statements; and converting each control structure into a sub-graph with conditioning function and with alternative statements represented as separate paths in the graph that later merge and loop.
地址