• DocumentCode
    125505
  • Title

    A hybrid implementation of Hamming weight

  • Author

    Morancho Llena, Enric

  • Author_Institution
    Dept. d´Arquitectura de Computadors, Univ. Politec. de Catalunya, Barcelona, Spain
  • fYear
    2014
  • fDate
    12-14 Feb. 2014
  • Firstpage
    84
  • Lastpage
    92
  • Abstract
    The hamming weight (also known as population count) of a bitstring is the number of 1´s in the bitstring. It has applications in scopes like cryptography, chemical informatics and information theory. Typical bitstring lengths range from the processor´s word length to several thousands of bits. A plethora of hamming weight algorithms have been pro- posed. While some implementations expose just scalar par- allelism, others expose vector parallelism. Moreover, some implementations use special machine instructions that compute the hamming weight of a processor´s word. This paper presents a new hybrid scalar-vector hamming weight implementation that exposes both scalar and vector parallelism. This implementation will be useful on platforms that can exploit both kinds of parallelism simultaneously. On a Sandy Bridge platform, our hybrid implementation outperforms by up to 1.23X and 1.6X the, to the best of our knowledge, best scalar and vector implementations respectively.
  • Keywords
    parallel algorithms; Sandy Bridge platform; bitstring lengths; hamming weight algorithm; hamming weight computation; hybrid scalar-vector hamming weight implementation; machine instructions; scalar parallelism; vector parallelism; word length; Bridges; Hamming weight; Hardware; Parallel processing; Prefetching; Registers; Vectors; hamming weight; hybrid parallelism; population count;
  • fLanguage
    English
  • Publisher
    ieee
  • Conference_Titel
    Parallel, Distributed and Network-Based Processing (PDP), 2014 22nd Euromicro International Conference on
  • Conference_Location
    Torino
  • ISSN
    1066-6192
  • Type

    conf

  • DOI
    10.1109/PDP.2014.26
  • Filename
    6787256