MMseqs2 icon indicating copy to clipboard operation
MMseqs2 copied to clipboard

Added AVX512 intrinsics-based Ungapped SW alignent kernel

Open gsc74 opened this issue 9 months ago • 0 comments

Summary

This PR adds support for an AVX512 intrinsics-based ungapped Smith-Waterman (SW) alignment kernel to MMseqs2, enabling higher performance on supported hardware.


Changes

  • Implemented ungapped SW alignment kernel using AVX512 intrinsics.
  • Added build-time flag -DHAVE_AVX512=1 to enable AVX512 kernel.

Performance

  • On 2 socket Intel® Xeon® Platinum 8592+ CPU, the AVX512 kernel shows an end-to-end speedup of ~1.25× for easy-search compared to the AVX2 version.

  • Benchmarking was performed using the dataset from:

    Steinegger M and Söding J.
    MMseqs2 enables sensitive protein sequence searching for the analysis of massive data sets.
    Nature Biotechnology, doi: 10.1038/nbt.3988 (2017).

  • The dataset contains 6370 query sequences and ~30M database sequences.

  • A batch size of 1 was used for both AVX2 and AVX512 runs to ensure fair comparison.


Build Instructions

To build the MMseqs2 binary with AVX512 support:

mkdir build && cd build
cmake -DCMAKE_BUILD_TYPE=Release -DHAVE_TESTS=0 -DHAVE_MPI=0 -DHAVE_AVX512=1 ..
make -j

gsc74 avatar Apr 14 '25 06:04 gsc74