steineggerlab / conterminator

Detection of incorrectly labeled sequences across kingdoms
GNU General Public License v3.0
80 stars 7 forks source link

Use newer sse2neon? #3

Closed jserv closed 4 years ago

jserv commented 4 years ago

File conterminator/lib/mmseqs/lib/simd/sse2neon.h was taken from the unmaintained repository. However, another sse2neon bas been actively developed along with bug-fixing and enhancements. Would you consider to use?

martin-steinegger commented 4 years ago

@jserv thank you for the suggestions. This make sense! :)
Would it be possible for you to open an issue in the MMseqs2 repository? Unfortunately, I am not able to transfer it.

milot-mirdita commented 4 years ago

@jserv your work on SSE2NEON seems very promising.

With the changes of the open integer pull request (https://github.com/DLTcollab/sse2neon/pull/17) included, we are missing only the _mm_mulhi_epu16 intrinsic, which i hacked together the from existing _mm_mulhi_epi16 (hopefully correctly).

I managed to compile MMseqs2 (didn't try conterminator yet) successfully and was able to run the first integration test (very very slowly since its running single-core in Qemu).

jserv commented 4 years ago

Finally, DLTcollab/sse2neon#17 was merged, and almost SSE operations are complete in sse2neon.

milot-mirdita commented 4 years ago

We are still missing _mm_mulhi_epu16, I've hacked my own version together: https://github.com/soedinglab/MMseqs2/blob/master/lib/simd/sse2neon.h#L2290

I'd appreciate if you could review it and if possible add it to upstream sse2neon.

Thanks a lot btw :)

jserv commented 4 years ago

We are still missing _mm_mulhi_epu16, I've hacked my own version together: https://github.com/soedinglab/MMseqs2/blob/master/lib/simd/sse2neon.h#L2290 I'd appreciate if you could review it and if possible add it to upstream sse2neon.

It is my pleasure to collaborate with you. Please send pull request to sse2neon.