Algorithms for Automatic Alignment of Arrays
โ Scribed by Siddhartha Chatterjee; John R. Gilbert; Leonid Oliker; Robert Schreiber; Thomas J. Sheffler
- Publisher
- Elsevier Science
- Year
- 1996
- Tongue
- English
- Weight
- 355 KB
- Volume
- 38
- Category
- Article
- ISSN
- 0743-7315
No coin nor oath required. For personal study only.
โฆ Synopsis
Aggregate data objects (such as arrays) are distributed across the processor memories when compiling a data-parallel language for a distributed-memory machine. The mapping determines the amount of communication needed to bring operands of parallel operations into alignment with each other. A common approach is to break the mapping into two stages: an alignment that maps all the objects to an abstract template, followed by a distribution that maps the template to the processors. This paper describes algorithms for solving the various facets of the alignment problem: axis and stride alignment, static and mobile offset alignment, and replication labeling. We show that optimal axis and stride alignment is NP-complete for general program graphs and give a heuristic method that can explore the space of possible solutions in a number of ways. We show that some of these strategies can give better solutions than a simple greedy approach proposed earlier. We also show how local graph contractions can reduce the size of the problem significantly without changing the best solution. This allows more complex and effective heuristics to be used. We show how to model the static offset alignment problem using linear programming, and we show that loop-dependent mobile offset alignment is sometimes necessary for optimum performance. We describe an algorithm with for determining mobile alignments for objects within do loops. We also identify situations in which replicated alignment is either required by the program itself or can be used to improve performance. We describe an algorithm based on network flow that replicates objects so as to minimize the total amount of broadcast communication in replication.
๐ SIMILAR VOLUMES
Efficiency of matrix applications in parallel processing environments relies on two factors: speed of primitive matrix operations and layout of distributed arrays. Good array layout improves locality and reduces communication overheads. Array alignment is especially important, being a minimum requir
Multiple sequence alignment is a task at the heart of much of current computaw x tional biology 4 . Several different objective functions have been proposed to formalize the task of multiple sequence alignment, but efficient algorithms are lacking in each case. Thus multiple sequence alignment is on
Automatic identi"cation of sub-structures in multi-aligned sequences is of great importance for e!ective and objective structural/functional domain annotation, phylogenetic treeing and other molecular analyses. We present a segmentation algorithm that optimally partitions a given multi-alignment int
vortices, as quantum objects, can interfere constructively or destructively after following two different paths enclosing a We develop fast algorithms for the numerical study of two-dimensional triangular Josephson junction arrays. The Dirac bra-ket for-charge placed at the center of the hexagon [2
## Abstract In this paper we discuss the data structure and algorithms for the direct application of generalized Leibnitz rules to the numerical computation of partial derivatives in forward mode. The proposed data structure provides constant time access to the partial derivatives, which accelerate