A Virtual Node Approach to Checking Link Conflicts in the Mapping of Dependence Graphs into Processor Arrays

碩士 === 國立交通大學 === 資訊工程系 === 89 === Uniform dependence algorithms are algorithms whose computation domains are sets of integral points and whose data dependence relations can be characterized by constant dependence vectors. This type of algorithms can be represented by dependenc...

Full description

Bibliographic Details
Main Authors: Wei-Lin Huang, 黃為霖
Other Authors: Jong-Chuang Tsay
Format: Others
Language:en_US
Published: 2001
Online Access:http://ndltd.ncl.edu.tw/handle/61626449587663745685
Description
Summary:碩士 === 國立交通大學 === 資訊工程系 === 89 === Uniform dependence algorithms are algorithms whose computation domains are sets of integral points and whose data dependence relations can be characterized by constant dependence vectors. This type of algorithms can be represented by dependence graphs with regular dependence structures. When space-time mapping a uniform dependence algorithm into a lower-dimensional processor array, link conflicts should be checked to ensure the validity of the mapping. Most existing methods of checking link conflicts are restricted to array models that only allow neighboring communications between processors. In this thesis, these array models are generalized so that non-neighboring communications between processors are allowed. We introduce the notion of virtual nodes to unify the problem of checking link conflicts on the different array models. Based on the notion of virtual nodes, necessary and sufficient conditions for checking link conflicts are derived and are further formulated into integer programs. A procedure is proposed to systematically enumerate the integer solutions of the integer programs in order to check link conflicts efficiently. We show that the time complexity of the proposed procedure is less than that of previous methods. In addition, relations between our method and previous methods for checking link conflicts are also studied. We show that all previous methods are special cases of our method.