EXPLOITATION OF SYMBOLIC INFORMATION IN INTERPROCEDURAL DEPENDENCE ANALYSIS

Citation
Sp. Johnson et al., EXPLOITATION OF SYMBOLIC INFORMATION IN INTERPROCEDURAL DEPENDENCE ANALYSIS, Parallel computing, 22(2), 1996, pp. 197-226
Citations number
35
Categorie Soggetti
Computer Sciences","Computer Science Theory & Methods
Journal title
ISSN journal
01678191
Volume
22
Issue
2
Year of publication
1996
Pages
197 - 226
Database
ISI
SICI code
0167-8191(1996)22:2<197:EOSIII>2.0.ZU;2-C
Abstract
The requirement for a very accurate dependence analysis to underpin so ftware tools to aid the generation of efficient parallel implementatio ns of scalar code is argued. The current status of dependence analysis is shown to be inadequate for the generation of efficient parallel co de, causing too many conservative assumptions to be made. This paper s ummarises the limitations of conventional dependence analysis techniqu es, and then describes a series of extensions which enable the product ion of a much more accurate dependence graph. The extensions include a nalysis of symbolic variables, the development of a symbolic inequalit y disproof algorithm and its exploitation in a symbolic Banerjee inequ ality test; the use of inference engine proofs; the exploitation of ex act dependence and dependence pre-domination attributes; interprocedur al array analysis; conditional variable definition tracing; integer ar ray tracing and division calculations. Analysis case studies on typica l numerical code is shown to reduce the total dependencies estimated f rom conventional analysis by up to 50%. The techniques described in th is paper have been embedded within a suite of tools, CAPTools, which c ombines analysis with user knowledge to produce efficient parallel imp lementations of numerical mesh based codes.