[Bioclusters] SSE2 HMMer

David Huen bioclusters@bioinformatics.org
Wed, 25 Jun 2003 23:07:41 +0100 (BST)


I did quite a bit of work of this in January.  I got a modest speedup but
nothing like the performance of the Apple version.  The reasons for this I
posted to this group earlier this year:-
http://bioinformatics.org/pipermail/biodevelopers/2003-January/000150.html

Anyway, I have put my sources up for download from here:-
http://gadfly.gen.cam.ac.uk/~davidh/hmmer-2.2g-cache.tgz
I hope this is the right version as i proliferated versions during
development :-).

Compile with the Intel compiler, not gcc.  The versions I have tried
seriously mangle SSE2 intrinsics and generate the weirdest code around
them (like elaborate register swaps with no conceivable purpose).

There are multiple versions of the key file as I was messing around with
trying to speed it up.  I think the G4/G5 is clearly the best HMMer
platform around (excepting FPGA implementations of course).

As for the Apple-Genentech Blast speedup - it is bunkum.  The improvements
are solely from a superior algorithm and I did port their version over to
x86 and it shows the same speedups too.  I am very disappointed that
they have repeated these claims for the G5 as I had spoken to one of their
bioinformatics support team about it early this year.  He adamantly denied
that there was anything in their claim that remotely implied it was down
to their hardware and that they had provided the algorithmic improvements
back to the community.  I left it as that.  I regret it will force me to
go back and repeat all those measurements and this time document it
publically with sources and all.

Actually their changes are not all that useful in that there is no effect
at the default wordlength and I think it is not sensible to use Blast at
large wordlengths - what would you achieve that other algorthms won't do
better (thinking SSAHA)?

Regards,
David Huen