mengyao / Complete-Striped-Smith-Waterman-Library

298 stars 112 forks source link

Compiling on POWER7 #34

Closed IvantheDugtrio closed 2 years ago

IvantheDugtrio commented 8 years ago

I have a POWER7 server and currently I cannot compile this due to the dependency on SSE2 instructions with emmintrin.h

I've seen a similar issue with klibs implementation but there's currently a pull request to add AltiVec support: https://github.com/lh3/bwa/pull/71

jeffdaily commented 8 years ago

Is there a similar header file for AltiVec support? How similar are the two intrinsic interfaces? Where can we find documentation on the AltiVec interface?

On Jul 11, 2016, at 6:42 PM, Ivan De Dios notifications@github.com wrote:

I have a POWER7 server and currently I cannot compile this due to the dependency on SSE2 instructions with emmintrin.h

I've seen a similar issue with klibs implementation but there's currently a pull request to add AltiVec support: lh3/bwa#71

— You are receiving this because you are subscribed to this thread. Reply to this email directly, view it on GitHub, or mute the thread.

mengyao commented 8 years ago

Hi,

Would you mind to try to revise ssw in the way of the "pull request to add AltiVec support: lh3/bwa#71" and test it on your POWER7?

Please let me know your result, if you try this.

I find this doc for AltiVec: http://www.nxp.com/files/32bit/doc/ref_manual/ALTIVECPIM.pdf

Hope it is helpful.

Many thanks,

Mengyao

IvantheDugtrio commented 8 years ago

Sure thing I'll let you know how it goes

Thanks, Ivan

IvantheDugtrio commented 8 years ago

Here's what I've got so far https://github.com/mengyao/Complete-Striped-Smith-Waterman-Library/pull/35

MEllis-github commented 8 years ago

I'm hoping to try SSW on a PowerPC A2. Thanks for this port and the linked ones! Where is the best place to pull the most ready-to-use PPC64 version? I see multiple hubs.

mengyao commented 8 years ago

This is Ivan's latest update: https://github.com/mengyao/Complete-Striped-Smith-Waterman-Library/pull/35/commits/40a9fd0dd5f6756543199a251aa933a2123850d4

If you try this, please let me know how it goes.

Many thanks,

Mengyao

MEllis-github commented 8 years ago

Thanks, will do.

jeffdaily commented 6 years ago

Although this issue is a bit old by now, I wanted to point out that I have implemented POWER8 version of striped smith waterman over at https://github.com/jeffdaily/parasail. As of this writing, it's only in the develop branch. I don't have access to a POWER7 machine but I did test this successfully on a POWER8 machine. I hope this helps.

mr-c commented 4 years ago

See also https://github.com/mengyao/Complete-Striped-Smith-Waterman-Library/pull/69 for a more general solution. It has both NEON (arm) and a pure source fallback for the SSE2 SIMD intrinsics. If the POWER7 / POWER8 intrinsics were contributed to https://github.com/nemequ/simde then those would flow to more projects as well.