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

Neon and related #4

Closed jianshu93 closed 1 year ago

jianshu93 commented 2 years ago

Hello Daniel,

Can you please show some example on how to support Neon on MacOS M1 and M1 Pro/Max with this? Another question is related: the simdeez library only supports avx2 and sse2. How to allow support for neon, which library?

THanks,

Jianshu

Daniel-Liu-c0deb0t commented 2 years ago

It would require a bit of work to support Neon with the library as it is currently. My implementation directly uses my own wrapper for SIMD instructions, so a separate wrapper needs to be made for Neon. Do you need this feature?

I'm not sure how simdeez works in detail, since I did not use it in this library.

tfenne commented 2 years ago

Just chiming in to say that I'm actively using block-aligner, and have moved to an M1* laptop recently, and would also really like neon support. I have several reasons for keeping an older x86 laptop around, but they are dwindling fast, and this is one of them.

Daniel-Liu-c0deb0t commented 1 year ago

Neon support should be added in the latest commit (PR #17)!

jianshu93 commented 1 year ago

Tests showed that it works on my m1 pro.

Many thanks!

Jianshu