A practical array dependence analysis for anoptimizingparallelizing C compiler
Accurate and efficient array dependence analysis is a crucial phase of optimizing/parallelizing compilers. The results of array dependence analysis are required for many automatic parallelism detection analyses and transformations. === This thesis is concerned with the development of a dependence an...
Main Author: | |
---|---|
Other Authors: | |
Format: | Others |
Language: | en |
Published: |
McGill University
1995
|
Subjects: | |
Online Access: | http://digitool.Library.McGill.CA:80/R/?func=dbin-jump-full&object_id=23277 |
id |
ndltd-LACETR-oai-collectionscanada.gc.ca-QMM.23277 |
---|---|
record_format |
oai_dc |
spelling |
ndltd-LACETR-oai-collectionscanada.gc.ca-QMM.232772014-02-13T03:53:32ZA practical array dependence analysis for anoptimizingparallelizing C compilerJustiani, J., 1962-Computer Science.Accurate and efficient array dependence analysis is a crucial phase of optimizing/parallelizing compilers. The results of array dependence analysis are required for many automatic parallelism detection analyses and transformations.This thesis is concerned with the development of a dependence analysis for a certain class of loopnests in the imperative programming language C. In particular, this thesis addresses the problems of incorporating such a framework in a language that supports pointers. We propose a practical and efficient dependence testing framework built upon previously existing methods.To perform any dependence testing, a support analysis is required in order to establish a suitable environment. This support analysis has three major functions. First, it filters certain loopnests that are amenable for analysis. Second, it exposes array subscripts in terms of affine functions of loop indices. The last function is the collection of array subscript pairs in loopnests. The support analysis incorporates analysis information such as points-to information, constant propagation information and reaching definition information to yield more accurate dependence tests.An important contribution of this thesis is a statistical profiler which is used to collect information for experiments. The statistical profiler has several flags that an be set "ON" or "OFF" to support different research scenarios. Different flag settings are used for observing the effects of loop normalization, points-to analysis, constant propagation, nonperfect loopnests, delinearization and linearization on the results of the dependence testing. This thesis includes experimental results from running some benchmarks under five different scenarios.This work has been integrated into the McCAT optimizing/parallelizing C compiler. The tool is called McADT (The McCAT-Array Dependence Tester).McGill UniversityHendren, Laurie J. (advisor)1995Electronic Thesis or Dissertationapplication/pdfenalephsysno: 001475177proquestno: MM08019Theses scanned by UMI/ProQuest.All items in eScholarship@McGill are protected by copyright with all rights reserved unless otherwise indicated.Master of Science (School of Computer Science.) http://digitool.Library.McGill.CA:80/R/?func=dbin-jump-full&object_id=23277 |
collection |
NDLTD |
language |
en |
format |
Others
|
sources |
NDLTD |
topic |
Computer Science. |
spellingShingle |
Computer Science. Justiani, J., 1962- A practical array dependence analysis for anoptimizingparallelizing C compiler |
description |
Accurate and efficient array dependence analysis is a crucial phase of optimizing/parallelizing compilers. The results of array dependence analysis are required for many automatic parallelism detection analyses and transformations. === This thesis is concerned with the development of a dependence analysis for a certain class of loopnests in the imperative programming language C. In particular, this thesis addresses the problems of incorporating such a framework in a language that supports pointers. We propose a practical and efficient dependence testing framework built upon previously existing methods. === To perform any dependence testing, a support analysis is required in order to establish a suitable environment. This support analysis has three major functions. First, it filters certain loopnests that are amenable for analysis. Second, it exposes array subscripts in terms of affine functions of loop indices. The last function is the collection of array subscript pairs in loopnests. The support analysis incorporates analysis information such as points-to information, constant propagation information and reaching definition information to yield more accurate dependence tests. === An important contribution of this thesis is a statistical profiler which is used to collect information for experiments. The statistical profiler has several flags that an be set "ON" or "OFF" to support different research scenarios. Different flag settings are used for observing the effects of loop normalization, points-to analysis, constant propagation, nonperfect loopnests, delinearization and linearization on the results of the dependence testing. This thesis includes experimental results from running some benchmarks under five different scenarios. === This work has been integrated into the McCAT optimizing/parallelizing C compiler. The tool is called McADT (The McCAT-Array Dependence Tester). |
author2 |
Hendren, Laurie J. (advisor) |
author_facet |
Hendren, Laurie J. (advisor) Justiani, J., 1962- |
author |
Justiani, J., 1962- |
author_sort |
Justiani, J., 1962- |
title |
A practical array dependence analysis for anoptimizingparallelizing C compiler |
title_short |
A practical array dependence analysis for anoptimizingparallelizing C compiler |
title_full |
A practical array dependence analysis for anoptimizingparallelizing C compiler |
title_fullStr |
A practical array dependence analysis for anoptimizingparallelizing C compiler |
title_full_unstemmed |
A practical array dependence analysis for anoptimizingparallelizing C compiler |
title_sort |
practical array dependence analysis for anoptimizingparallelizing c compiler |
publisher |
McGill University |
publishDate |
1995 |
url |
http://digitool.Library.McGill.CA:80/R/?func=dbin-jump-full&object_id=23277 |
work_keys_str_mv |
AT justianij1962 apracticalarraydependenceanalysisforanoptimizingparallelizingccompiler AT justianij1962 practicalarraydependenceanalysisforanoptimizingparallelizingccompiler |
_version_ |
1716640867055304704 |