soedinglab / hh-suite

Remote protein homology detection suite.
https://bmcbioinformatics.biomedcentral.com/articles/10.1186/s12859-019-3019-7
GNU General Public License v3.0
538 stars 134 forks source link

IBM-HPC support missing again #186

Closed kWeissenow closed 4 years ago

kWeissenow commented 4 years ago

Since 3342110adccb02f87b6c6122b40cd9ef3e0d58b3 and related commits, the support for ppc64le architectures, which was originally added by 73296626995dd15d2a97ce14235563adddc99ee9, is no longer present. We were trying to build the latest hh-suite on an IBM AC922, which fails because of missing SSE2. The architecture-specific definitions in src/simd.h are still there, so perhaps this is just an issue of removed cmake instructions.

We are now using v3.0-beta.3 on our IBM machine, which works, but e.g. doesn't provide the convenient -maxseq parameter.

milot-mirdita commented 4 years ago

I think I fixed the build again. Could you test the latest git version?

No guarantees for the power architecture though since we don't have any capability for it locally. I did try to get travis to compile a ppc64le build through qemu though, so it won't break in the future again.

asedova commented 4 years ago

Hi I also just built this on ppc64Ie on our IBM AC922 (Summit supercomputer at Oak Ridge National Lab USA), the build went incredibly smoothly, of course I'm sure there were no vector instructions applied as you seem to only support x86 instructions. What do you think my performance loss is without SIMD, and is there any chance you folks will add Power9 support in the future?

martin-steinegger commented 4 years ago

@asedova hhsuite compiles with vector instructions on PowerPC. The simd.h header wraps the instructions. But we never compared the performance since we do not have access to a PowerPC.

asedova commented 4 years ago

oh that's great, so you added the VSX instructions, not just the new "ignore SSE flags" functionality in IBM Advanced Toolchain GCC?

asedova commented 4 years ago

Oh yes, I see them. If there's a way to build with no simd I can check the impact it makes for you by comparing.

kWeissenow commented 4 years ago

Just to confirm as well: The latest version builds without error on our IBM machine, thanks a lot! A quick run with hhfilter on a large alignment completed without errors.

milot-mirdita commented 4 years ago

@asedova We only have vectorized code, there is no scalar fallback.