-
Notifications
You must be signed in to change notification settings - Fork 163
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
fix mmseqs, add foldseek #1143
fix mmseqs, add foldseek #1143
Conversation
The |
Well, the flag to not do native detection is not ignored, as setting it breaks all the others. CMake reports detection of several other hardware conditions without their own flags (SSE, SSE3, ...) as well. But so far as I can tell, there is no usage of these flags in code, only in the compiler flags. This means that one could bypass the CMake dysfunction through appropriate setting of CFLAGS, if one cared to. The build does reflect the CFLAGS. Upstream seems to have been busy with foldseek and other AlphaFold-related stuff, probably not on their critical path any more than it is on mine. |
Sorry I'm still a bit confused about what is broken. We set |
I just said something incorrect; there are indeed AVX and SSE2 ifdefs in the code, so you can't set the CFLAGS. What you said seems to be correct as per my (novice) understanding of the CMake output. If Perhaps the best solution for now would be to put a native use flag that is default? |
I'll see if I can investigate this and figure out which configuration produces which build. Might take a while until I can take a proper look at it though because I'm rather busy with real-life work stuff at the moment
Yes, if the |
After a bit more digging, it seems that the CPUFLAGS stuff you put in does work properly, and should go back in. But I'll have to test it to be sure. A generic-only build is pretty worthless as the boost from SSE2/AVX is big. |
You were right, the flag for avx2 works, but the sse2/sse4 flags aren't properly respected. I'll see if I can find a solution. |
gentoo/sci#1143 Signed-off-by: Andrew Ammerlaan <andrewammerlaan@gentoo.org>
Fix was easy luckily! CMakeLists.txt should use if instead of elsif. Upstream PR is open here: soedinglab/MMseqs2#533 I've pushed a fixed revision of this ebuild, could you rebase and adjust your changes on top of that please? |
Upstream PR is here: soedinglab/MMseqs2#533 See also: #1143 Package-Manager: Portage-3.0.30, Repoman-3.0.3 Signed-off-by: Andrew Ammerlaan <andrewammerlaan@gentoo.org>
gentoo/sci#1143 Signed-off-by: Andrew Ammerlaan <andrewammerlaan@gentoo.org>
gentoo/sci#1143 Signed-off-by: Andrew Ammerlaan <andrewammerlaan@gentoo.org>
gentoo/sci#1143 Signed-off-by: Andrew Ammerlaan <andrewammerlaan@gentoo.org>
Since the issue with the CPU flags is fixed I think we can close this. Please re-open this if it is still relevant. |
CPU flags aren't respected by the mmseqs cmake, and attempts to set them manually broke all optimizations, so I backed that out.
Version numbers reported by the binaries are now consistent with upstream.
I have added foldseek, a related code, which got released yesterday. I think it will be of broad interest.
I added live builds for mmseqs and foldseek. The repos are moving fast between releases for both.