Daniel-Liu-c0deb0t / block-aligner

SIMD-accelerated library for computing global and X-drop affine gap penalty sequence-to-sequence or sequence-to-profile alignments using an adaptive block-based algorithm.
https://crates.io/crates/block_aligner
MIT License
124 stars 7 forks source link

aarch64 neon support for block-aligner #17

Closed milot-mirdita closed 1 year ago

milot-mirdita commented 1 year ago

This PR introduces neon support. There is still something weird going on with the blend instruction. However it doesn't seem to be causing issues in the alignment.

I lifted many of the instructions from SIMDe. Not sure where SIMDe should be credited.

Daniel-Liu-c0deb0t commented 1 year ago

Thanks for your contribution! I'm reviewing your changes and I'll probably push more changes to your branch. Let me know if that's not ok with you.

milot-mirdita commented 1 year ago

Sure, feel free to do anything with this :)

Daniel-Liu-c0deb0t commented 1 year ago

I went through and simplified/fixed a lot of the code! I'll give it another pass later and merge it!

Daniel-Liu-c0deb0t commented 1 year ago

Once again, thanks for your contribution!