Improvements of Data Dependence Testing and Data Alignment Methods in Parallel Compilers
博士 === 國立成功大學 === 資訊工程研究所 === 87 === Improvements of Data Dependence Testing and Data Alignment Methods in Parallel Compilers Abstract The major task of a parallel compiler is to perform data dependence analysis and detect...
Main Authors: | , |
---|---|
Other Authors: | |
Format: | Others |
Language: | en_US |
Published: |
1999
|
Online Access: | http://ndltd.ncl.edu.tw/handle/79139629463793607072 |
id |
ndltd-TW-087NCKU0392024 |
---|---|
record_format |
oai_dc |
collection |
NDLTD |
language |
en_US |
format |
Others
|
sources |
NDLTD |
description |
博士 === 國立成功大學 === 資訊工程研究所 === 87 === Improvements of Data Dependence Testing and Data Alignment Methods in Parallel Compilers
Abstract
The major task of a parallel compiler is to perform data dependence analysis and detect the segments of the code that can be executed concurrently. This means performing an analysis of the memory access pattern, parallelism exploitation and optimization of parallelizable codes, through inspection of the array subscript expressions, loop constructs and program features.
In data dependence testing technique, there exist many methods that include the GCD test, the Banerjee test, the I test, the Lambda test, the Power test, the Omega test and so on. Every method has its advantage, disadvantage and application range. The I test is applied to determine whether there exist integer solutions for one-dimensional arrays with constant loop bounds. The Lambda test is used towards ascertaining whether there exist real solutions for multi-dimensional arrays with constant loop bounds.
In this dissertation, we first extend the applicabilities of the I test and the Lambda test. We propose four dependence testing methods - the extended version of the I test, the generalized direction vector I test, the generalized Lambda test, and the infinity Lambda test, each is associated with its theoretical aspect and computing complexity. The extended version of the I test can be applied towards determining whether integer solutions exist for one-dimensional arrays with either variable or constant limits. Experiments with benchmark cited from EISPACK, LINPACK, Parallel loops, Livermore loops and Vector loops showed that among 1189 pairs of one-dimensional arrays tested, 183 had their data dependence analysis amended by the extended version of I test. The improved rate to the I test is about 15.4%.
The generalized direction vector I test, extended from the original direction vector I test, can be applied towards determining whether integer solutions exist for one-dimensional arrays with both constant and variable limits under any given direction vectors. Experiments with benchmark showed that among 12152 pairs of tested one-dimensional arrays consisting of the same pair of array references with different direction vectors, 2124 had their data dependence analysis amended by the generalized direction vector I test. The improved rate to the original direction vector I test is about 17.5%.
The generalized Lambda test can be applied towards determining whether there exist data dependences for coupled arrays with both variable limits and constant bounds under any given direction vectors. Experiments with benchmark showed that among 17433 pairs of multi-dimensional arrays tested, 3826 had their data dependence analysis amended by the generalized Lambda test. The improved rate for the Lambda test is about 21.9%.
The infinity Lambda test can be applied to deal with data dependence of coupled arrays with symbolic (unknown at compile time) bounds. Experiments with benchmark showed that among 17433 pairs of multi-dimensional arrays tested, 2092 had their data dependence analysis amended by the infinity Lambda test. The improved rate for the Lambda test is about 12%.
In distributed multiprocessor systems, in addition to data dependence analysis, another important task of a parallel compiler is to align and distribute data. Through proper data alignment and data distribution, the time of data communication in program execution can be reduced and the efficiency can thus be improved. In one chapter of the thesis, we present one new data alignment method. The alignment functions proposed can be applied towards determining whether there is communication-free alignment of array reference function with linear subscripts in two loop index variables or quadric subscripts. Experiments with benchmark cited from SPEC77, DYFESM, TRACK, QCD and Vector loop showed that to 14 nested loops tested, all of them had their data alignment improved by the method proposed.
|
author2 |
Chih-Ping Chu |
author_facet |
Chih-Ping Chu Weng-Long Chang 張雲龍 |
author |
Weng-Long Chang 張雲龍 |
spellingShingle |
Weng-Long Chang 張雲龍 Improvements of Data Dependence Testing and Data Alignment Methods in Parallel Compilers |
author_sort |
Weng-Long Chang |
title |
Improvements of Data Dependence Testing and Data Alignment Methods in Parallel Compilers |
title_short |
Improvements of Data Dependence Testing and Data Alignment Methods in Parallel Compilers |
title_full |
Improvements of Data Dependence Testing and Data Alignment Methods in Parallel Compilers |
title_fullStr |
Improvements of Data Dependence Testing and Data Alignment Methods in Parallel Compilers |
title_full_unstemmed |
Improvements of Data Dependence Testing and Data Alignment Methods in Parallel Compilers |
title_sort |
improvements of data dependence testing and data alignment methods in parallel compilers |
publishDate |
1999 |
url |
http://ndltd.ncl.edu.tw/handle/79139629463793607072 |
work_keys_str_mv |
AT wenglongchang improvementsofdatadependencetestinganddataalignmentmethodsinparallelcompilers AT zhāngyúnlóng improvementsofdatadependencetestinganddataalignmentmethodsinparallelcompilers AT wenglongchang píngxíngbiānyìqìzhōngzīliàoyīlàixìngfēnxījízīliàoduìqífāngfǎdegǎiliáng AT zhāngyúnlóng píngxíngbiānyìqìzhōngzīliàoyīlàixìngfēnxījízīliàoduìqífāngfǎdegǎiliáng |
_version_ |
1717786360746606592 |
spelling |
ndltd-TW-087NCKU03920242015-10-13T17:54:35Z http://ndltd.ncl.edu.tw/handle/79139629463793607072 Improvements of Data Dependence Testing and Data Alignment Methods in Parallel Compilers 平行編譯器中資料依賴性分析及資料對齊方法的改良 Weng-Long Chang 張雲龍 博士 國立成功大學 資訊工程研究所 87 Improvements of Data Dependence Testing and Data Alignment Methods in Parallel Compilers Abstract The major task of a parallel compiler is to perform data dependence analysis and detect the segments of the code that can be executed concurrently. This means performing an analysis of the memory access pattern, parallelism exploitation and optimization of parallelizable codes, through inspection of the array subscript expressions, loop constructs and program features. In data dependence testing technique, there exist many methods that include the GCD test, the Banerjee test, the I test, the Lambda test, the Power test, the Omega test and so on. Every method has its advantage, disadvantage and application range. The I test is applied to determine whether there exist integer solutions for one-dimensional arrays with constant loop bounds. The Lambda test is used towards ascertaining whether there exist real solutions for multi-dimensional arrays with constant loop bounds. In this dissertation, we first extend the applicabilities of the I test and the Lambda test. We propose four dependence testing methods - the extended version of the I test, the generalized direction vector I test, the generalized Lambda test, and the infinity Lambda test, each is associated with its theoretical aspect and computing complexity. The extended version of the I test can be applied towards determining whether integer solutions exist for one-dimensional arrays with either variable or constant limits. Experiments with benchmark cited from EISPACK, LINPACK, Parallel loops, Livermore loops and Vector loops showed that among 1189 pairs of one-dimensional arrays tested, 183 had their data dependence analysis amended by the extended version of I test. The improved rate to the I test is about 15.4%. The generalized direction vector I test, extended from the original direction vector I test, can be applied towards determining whether integer solutions exist for one-dimensional arrays with both constant and variable limits under any given direction vectors. Experiments with benchmark showed that among 12152 pairs of tested one-dimensional arrays consisting of the same pair of array references with different direction vectors, 2124 had their data dependence analysis amended by the generalized direction vector I test. The improved rate to the original direction vector I test is about 17.5%. The generalized Lambda test can be applied towards determining whether there exist data dependences for coupled arrays with both variable limits and constant bounds under any given direction vectors. Experiments with benchmark showed that among 17433 pairs of multi-dimensional arrays tested, 3826 had their data dependence analysis amended by the generalized Lambda test. The improved rate for the Lambda test is about 21.9%. The infinity Lambda test can be applied to deal with data dependence of coupled arrays with symbolic (unknown at compile time) bounds. Experiments with benchmark showed that among 17433 pairs of multi-dimensional arrays tested, 2092 had their data dependence analysis amended by the infinity Lambda test. The improved rate for the Lambda test is about 12%. In distributed multiprocessor systems, in addition to data dependence analysis, another important task of a parallel compiler is to align and distribute data. Through proper data alignment and data distribution, the time of data communication in program execution can be reduced and the efficiency can thus be improved. In one chapter of the thesis, we present one new data alignment method. The alignment functions proposed can be applied towards determining whether there is communication-free alignment of array reference function with linear subscripts in two loop index variables or quadric subscripts. Experiments with benchmark cited from SPEC77, DYFESM, TRACK, QCD and Vector loop showed that to 14 nested loops tested, all of them had their data alignment improved by the method proposed. Chih-Ping Chu Jesse Wu 朱治平 吳政勳 1999 學位論文 ; thesis 116 en_US |