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...

Full description

Bibliographic Details
Main Authors: Weng-Long Chang, 張雲龍
Other Authors: Chih-Ping Chu
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