摘要:
A method and system is provided for constructing sparse evaluation graphs for forward or backward monotone data flow problems. The sparse graph combines information as early as possible, yet directly connects nodes that generate and use information. This allows problems from the large, general class of monotone data flow problems to enjoy the advantages of solutions based on Static Single Assignment (SSA) form.The present invention includes a compiler configured to transform a source program into optimized executable code. The compiler contains an optimizer which is configured to optimize the source program, in which the source program and optimization program are represented by a data flow framework. The optimizer includes a sparse evaluation graph generator which generates a sparse evaluation graph and an evaluator connected to evaluate the sparse evaluation graph in relation to the data flow framework.
摘要:
A method and apparatus designed to expose the power of manipulating data transfer and ownership to the compiler has been given. The key ideas behind the XDP methodology are its separation of data transfer from local computation, its non-blocking semantics to allow overlapping of communication with computation, and its unified treatment of data and ownership transfer. In addition, XDP offers the compiler a convenient platform for doing optimizations involving data movement by providing mechanisms for delayed communication binding and generating generalized compute rules. Compile-time data and data ownership transfers are accomplished independent of the target machine architecture. The run-time symbol table given here to support XDP is implementable as an extension to most high-level compiler intermediate languages. The applicability of XDP is quite general, and is not restricted to the optimization of communication for distributed memory machines. For instance, it can be used to optimize data transfers across different levels of a memory hierarchy.