Acceleration of Murmur3 and Lookup3 Hash - 2023.2 English

Vitis Libraries

Release Date
2023-12-20
Version
2023.2 English

Murmur3 and Lookup3 have 32bit, 64bit, 128bit and other bit width algorithm cores for X86 and X64. Murmur3 uses cyclic shift and multiplication operations, while Lookup3 uses circular shift and addition. On the FPGA, it is suitable for concurrent processing in large amounts of data and maintain high throughput as well. Therefore, within the ensurement of consistency (limited by the working frequency, initiation interval), Murmur3 and Lookup3 hash can process a larger bit width of input.

Therefore, the results of the development with different input bit widths are shown in the following tables. The 512-bit input is optimal when the operating frequency of 300 MHz is satisfied. After running Vivado synthesis/implementation, the comparison tables are as follows:

  1. Murmur3:

      1024i-32o 512i-32o 256i-32o 128i-32o 64i-32o 32i-32o
    CLB 1070 654 285 139 78 45
    LUT 3824 1887 917 461 263 156
    FF 5472 2832 1512 788 458 308
    DSP 294 150 78 42 24 15
    II 1 1 1 1 1 1
    Lantency 31 23 19 17 16 15
  2. Lookup3:

      1024i-32o 512i-32o 256i-32o 128i-32o 64i-32o 32i-32o
    CLB 1080 515 227 128 56 33
    LUT 7351 3501 1536 824 267 206
    FF 6136 3152 1464 816 328 232
    DSP 0 0 0 0 0 0
    II 1 1 1 1 1 1
    Lantency 44 24 12 8 4 4