Abstract
This thesis describes techniques for the design of parallel programs that solve well-structured problems with inherent symmetry.Part I demonstrates the reduction of such problems to generalized matrix multiplication by a group-equivariant matrix. Fast techniques for this multiplication are described, including factorization, orbit decomposition, and Fourier transforms over finite groups. Our algorithms entail interaction between two symmetry groups, one arising at the software level from the problem's symmetry and the other arising at the hardware level from the processors' communication network.Part II illustrates the applicability of our symmetry-exploitation techniques by presenting a series of case studies of the design and implementation of parallel programs.First, a parallel program that solves chess endgames by factorization of an associated dihedral group-equivariant matrix is described. This code runs faster than previous serial programs, and discovered a number of results.Second, parallel algorithms for Fourier transforms for finite groups are developed, and preliminary parallel implementations for group transforms of dihedral and of symmetric groups are described. Applications in learning, vision, pattern recognition and statistics are proposed.Third, parallel implementations solving several computational science problems are described, including the direct n-body problem, convolutions arising from molecular biology, and some communication primitives such as broadcast and reduce. Some of our implementations ran orders of magnitude faster than previous techniques, and were used in the investigation of various physical phenomena.
Cite
CITATION STYLE
Stiller, L. B. (2018). Exploiting Symmetry on Parallel Architectures. ICGA Journal, 18(2), 87–87. https://doi.org/10.3233/icg-1995-18206
Register to see more suggestions
Mendeley helps you to discover research relevant for your work.