Predicate-based automatic parallel optimizing method

An optimization method and predicate technology, applied in the field of program compilation, can solve problems such as inability to optimize in parallel, inaccurate loop information, etc.

Inactive Publication Date: 2011-01-12
FUDAN UNIV
View PDF0 Cites 11 Cited by
  • Summary
  • Abstract
  • Description
  • Claims
  • Application Information

AI Technical Summary

Problems solved by technology

The inaccuracy of the cycle information makes the dependency analysis conservatively

Method used

the structure of the environmentally friendly knitted fabric provided by the present invention; figure 2 Flow chart of the yarn wrapping machine for environmentally friendly knitted fabrics and storage devices; image 3 Is the parameter map of the yarn covering machine
View more

Image

Smart Image Click on the blue labels to locate them in the text.
Viewing Examples
Smart Image
  • Predicate-based automatic parallel optimizing method
  • Predicate-based automatic parallel optimizing method

Examples

Experimental program
Comparison scheme
Effect test

Embodiment Construction

[0013] Further introduce the specific operation steps of the inventive method below:

[0014] First, convert the source program into a compiler intermediate representation

[0015] In the process of parallelization, the source program is first converted into an intermediate representation. The intermediate representation of the program describes the abstract syntax tree structure of the program in a structured form, and records various information collected and generated during the program analysis and optimization process, which provides the required program information for each stage of program analysis, transformation and optimization support.

[0016] Second, the dependency test of the array data flow

[0017] Using the traditional array data flow analysis method, the analysis process of the data dependence that may exist in the two-layer nested loop:

[0018] a. Construct the equation of loop boundary and array subscript

[0019] First find out the definition of data ...

the structure of the environmentally friendly knitted fabric provided by the present invention; figure 2 Flow chart of the yarn wrapping machine for environmentally friendly knitted fabrics and storage devices; image 3 Is the parameter map of the yarn covering machine
Login to view more

PUM

No PUM Login to view more

Abstract

The invention belongs to the technical field of program compilation, in particular to a predicate-based automatic parallel optimizing method. The method mainly comprises the following: (1) a step of predicate establishment, which is to establish a parallel predicate of a program by using different kinds of known information of a user program, and remove simple dependence of the program; and (2) a step of parallel loop structure establishment, which is to perform subsequent parallel analysis and judge whether to use the parallel predicate or not under the restriction of a predicate condition. The parallel predicate establishment is based on the traditional array data flow analysis and loop dependence test. The loop simple dependence caused by imprecise loop information is eliminated through predicate establishment, so that the analysis range and the parallel optimization effect of the traditional automatic parallel optimization are widened and improved respectively. In the actual execution of the program, if the predicate is not satisfactory, the program executes the original serial version and the increased judgment operation and skip operation hardly influence the overall performance of the program; and if the predicate is satisfactory, the parallel version of the loop structure is executed, thus the program performance is obviously improved.

Description

technical field [0001] The invention belongs to the technical field of program compilation, and in particular relates to an automatic parallel optimization method. Background technique [0002] Loop is the structure with the richest parallelism in the program, and it is often the most time-consuming part of program execution. The essence of parallel optimization for serial programs is the parallel analysis of the loop body. The purpose of parallelism analysis is to find out the loop body suitable for parallel optimization in the serial program, and to ensure that the modified parallel program maintains the same semantics as the original serial program. Parallelism analysis explores as much parallelism as possible in the program according to the results of data dependency analysis, so that the parallel optimization work can make trade-offs and obtain a globally better parallel optimization scheme. [0003] Data dependency analysis is an integer linear programming problem, s...

Claims

the structure of the environmentally friendly knitted fabric provided by the present invention; figure 2 Flow chart of the yarn wrapping machine for environmentally friendly knitted fabrics and storage devices; image 3 Is the parameter map of the yarn covering machine
Login to view more

Application Information

Patent Timeline
no application Login to view more
IPC IPC(8): G06F9/45
Inventor 杨克峤李弋臧斌宇
Owner FUDAN UNIV
Who we serve
  • R&D Engineer
  • R&D Manager
  • IP Professional
Why Eureka
  • Industry Leading Data Capabilities
  • Powerful AI technology
  • Patent DNA Extraction
Social media
Try Eureka
PatSnap group products