• DocumentCode
    1126704
  • Title

    Generation of injective and reversible modular mappings

  • Author

    Lee, Hyuk Jae ; Fortes, José A B

  • Author_Institution
    Sch. of Electr. Eng. & Comput. Sci., Seoul Nat. Univ., South Korea
  • Volume
    14
  • Issue
    1
  • fYear
    2003
  • fDate
    1/1/2003 12:00:00 AM
  • Firstpage
    1
  • Lastpage
    12
  • Abstract
    A modular mapping consists of a linear transformation followed by modulo operations. It is characterized by a transformation matrix and a vector of moduli, called the modulus vector. Modular mappings are useful to derive parallel versions of algorithms with commutative operations and algorithms intended for execution on processor arrays with toroidal networks. In order to preserve algorithm correctness, modular mappings must be injective. Results of previous work characterize injective modular mappings of rectangular index sets. This paper provides a technique to generate modular mappings that satisfy these injective conditions and extends the results to general index sets. For an n-dimensional rectangular index set, the technique has O(n2n!) complexity. To facilitate generation of efficient code, modular mappings must also be reversible (i.e., have easily described inverses). An O(n2) method is provided to generate reversible modular mappings. This method reduces the search space by fixing entries of the modulus vector while attempting to minimize the number of entries to exclude few solutions. For general index sets defined by linear inequalities, injectivity can be checked by formulating and solving a set of linear inequalities. A modified Fourier-Motzkin elimination is proposed to solve these inequalities. To generate an injective modular mapping of an index set defined by linear inequalities, this paper proposes a technique that attempts to minimize the values of the entries of the modulus vector. Several examples are provided to illustrate the application of the above mentioned methods, including the case of BLAS routines.
  • Keywords
    computational complexity; linear algebra; parallel algorithms; BLAS routines; algorithm correctness; general index sets; injective modular mapping; injective modular mappings; linear inequalities; linear transformation; modified Fourier-Motzkin elimination; modular mappings; modulo operations; modulus vector; reversible modular mappings; transformation matrix; Computer networks; Concurrent computing; Control systems; Linear algebra; Parallel processing; Signal mapping; Signal processing algorithms; Systolic arrays; Testing; Vectors;
  • fLanguage
    English
  • Journal_Title
    Parallel and Distributed Systems, IEEE Transactions on
  • Publisher
    ieee
  • ISSN
    1045-9219
  • Type

    jour

  • DOI
    10.1109/TPDS.2003.1167366
  • Filename
    1167366