hh-suite
hh-suite copied to clipboard
build problems on ppce with new version
Hi all-
Problems on Summit again. Latest clone won't build with gcc 6.4 at all, problems that look like this:
/ccs/home/adaa/HHSuite/hh-suite/lib/simde/simde/x86/sse2.h:4253:62: error: invalid parameter combination for AltiVec intrinsic
r_.altivec_i16 = vec_mul(a_.altivec_i16, b_.altivec_i16);
^
In file included from /ccs/home/adaa/HHSuite/hh-suite/lib/simd/simd.h:316:0,
from /ccs/home/adaa/HHSuite/hh-suite/src/util.h:23,
from /ccs/home/adaa/HHSuite/hh-suite/src/hhhmm.h:8,
from /ccs/home/adaa/HHSuite/hh-suite/src/hhhit.h:19,
from /ccs/home/adaa/HHSuite/hh-suite/src/hhviterbi.h:11,
from /ccs/home/adaa/HHSuite/hh-suite/src/hhviterbialgorithm.cpp:7:
/ccs/home/adaa/HHSuite/hh-suite/lib/simde/simde/x86/sse4.1.h: In function 'simde__m128i simde_mm_mullo_epi32(simde__m128i, simde__m128i)':
/ccs/home/adaa/HHSuite/hh-suite/lib/simde/simde/x86/sse4.1.h:1846:62: error: invalid parameter combination for AltiVec intrinsic
r_.altivec_i32 = vec_mul(a_.altivec_i32, b_.altivec_i32);
^
make[2]: *** [src/CMakeFiles/hhviterbialgorithm_with_celloff_and_ss.dir/hhviterbialgorithm.cpp.o] Error 1
With gcc 10.2 the code builds but these warnings appear:
[ 89%] Linking CXX executable hhblits_omp
/usr/bin/ld: libhhviterbialgorithm_and_ss.a(hhviterbialgorithm.cpp.o): In function `Viterbi::AlignWithOutCellOffAndSS(HMMSimd*, HMMSimd*, ViterbiMatrix*, int, Viterbi::ViterbiResult*, int)':
hhviterbialgorithm.cpp:(.text+0xa8): toc optimization is not supported for 0xe7a90003 instruction.
/usr/bin/ld: libhhviterbialgorithm_with_celloff_and_ss.a(hhviterbialgorithm.cpp.o): In function `Viterbi::AlignWithCellOffAndSS(HMMSimd*, HMMSimd*, ViterbiMatrix*, int, Viterbi::ViterbiResult*, int)':
hhviterbialgorithm.cpp:(.text+0xac): toc optimization is not supported for 0xe7a90003 instruction.
[ 89%] Built target hhblits_omp
and hhblits_omp is not working correctly. It seems to be mixing up the input args:
./hhblits_omp -cpu 4 -d uniclust30_2017_10/uniclust30_2017_10 -i ./hh_data/query.seq -oa3m stdout -n 1
- 19:50:04.370 ERROR: In /ccs/home/adaa/HHSuite/hh-suite/src/ffindexdatabase.cpp:11: FFindexDatabase:
- 19:50:04.370 ERROR: could not open file './hh_data/query.seq.ffdata'
while without openmp:
./hhblits -d uniclust30_2017_10/uniclust30_2017_10 -i ./hh_data/query.seq -oa3m stdout -n 1
- 19:50:32.867 INFO: Search results will be written to ./hh_data/query.hhr
- 19:50:45.304 INFO: Searching 13605227 column state sequences.
- 19:50:45.409 INFO: ./hh_data/query.seq is in A2M, A3M or FASTA format
- 19:50:45.410 INFO: Iteration 1
- 19:50:45.926 INFO: Prefiltering database
....and runs fine and exits.
I think we require at least GCC8 on powerpc, at least that's what we use everywhere (hh-suite, mmseqs, plass, etc compile with GCC8 in CI) for testing.
The optimization warning: no idea, but it doesn't seem very important (I guess?).
The hhblits_omp
issue is actually expected behavior. hhblits_omp
only takes databases as input, not single files. Basically it's meant for database vs. database searches.
Ah ok. I am still not getting the tests to all pass, but that may be because I butchered the file (trying to test on login node and don't have access to mpi here, so I removed the MPI parts).
This command is failing
../build/bin/hhblits -i query.a3m -d single -blasttab blits_app_res -n 1
With the following error:
- 22:13:52.082 INFO: HMMs passed 2nd prefilter and not found in previous iterations : 1
- 22:13:52.082 INFO: Scoring 1 HMMs using HMM-HMM Viterbi alignment
- 22:13:52.122 INFO: Alternative alignment: 0
- 22:13:52.122 ERROR: In /ccs/home/adaa/HHSuite/hh-suite/src/hhdatabase.cpp:443: getTemplateHMM:
- 22:13:52.122 ERROR: Unrecognized HMM file format in 'query.a3m'.
- 22:13:52.122 ERROR: Context:
'
- 22:13:52.122 ERROR:
- 22:13:52.122 ERROR: '
The ctranslate command before that seemed to work ok, or at least it didn't give errors, although now I am not sure if it exited cleanly:
../build/bin/cstranslate -i single -o single_cs219 -b -x 0.3 -c 4 -I a3m -f
Reading context library for pseudocounts from internal ...
Reading abstract state alphabet from internal ...
Processing entry: query.a3m
Adding cs-pseudocounts (admix=0.30) ...
[[email protected] data]$
Did you have any progress with this issue? I just tried it out on the ppc64le machine I have access to and it seems to work fine.
The latest version of the data/test.sh
script in git can also run without MPI.