swarm icon indicating copy to clipboard operation
swarm copied to clipboard

Adapt to AVX2

Open torognes opened this issue 11 years ago • 10 comments

Adapt SWARM to AVX2 and the 256-bit registers available in the new Intel Haswell CPUs that became available in June 2013. Should allow 32-way SIMD parallellisation.

torognes avatar Feb 19 '13 23:02 torognes

Considering the relatively low number of computers in use with AVX2 and the rather limited time now spend on computing alignments, this performance improvement with AVX2 is currently rather limited.

torognes avatar Sep 29 '14 13:09 torognes

Or use https://github.com/RonnySoak/libssa

torognes avatar Mar 31 '15 14:03 torognes

Parasail implements SIMD parallelisation, including using AVX2. https://github.com/jeffdaily/parasail/

It's also very fast https://github.com/jeffdaily/parasail/blob/2967c065de02fc2dc7e44050b4fc6ecfa064b2dc/performance.md

colinbrislawn avatar Jul 15 '15 22:07 colinbrislawn

Thanks @colinbrislawn, I didn't know about parasail.

frederic-mahe avatar Jul 16 '15 08:07 frederic-mahe

Parasail looks interesting and flexible. A master student of mine have been working on another solution which I think is generally faster: https://github.com/RonnySoak/libssa His master thesis will soon be available. We hope to integrate his code in Swarm and VSEARCH.

torognes avatar Jul 22 '15 10:07 torognes

Edlib is a very fast Levenshtein distance library, suitable for long sequences (> 1 Mb).

frederic-mahe avatar Mar 12 '17 15:03 frederic-mahe

What are we going to do about this issue?

Considering the relatively low number of computers in use with AVX2 and the rather limited time now spend on computing alignments, this performance improvement with AVX2 is currently rather limited.

Now that AVX2 capable CPUs are more frequent, do you think it would be interesting to implement this? It is difficult for me to access the amount of work necessary, but I imagine that work could be re-used to speed-up vsearch's search function.

frederic-mahe avatar Mar 05 '19 14:03 frederic-mahe

Recent paper on pairwise alignment. This paper introduces Scrooge and compares it to Edlib and to GenASM.

frederic-mahe avatar Mar 27 '23 09:03 frederic-mahe

My first though was, 'How does this compare to the wavefront alignment algorithm (WFA2-lib)?' and they are already discussing that in this issue!

🌊 🚀🧬

colinbrislawn avatar Mar 27 '23 19:03 colinbrislawn

Indeed, Wavefront is a very interesting alternative. There is even a GPU version now: WFA-GPU (Aguado-Puig et al. 2023).

frederic-mahe avatar Nov 23 '23 14:11 frederic-mahe