Announcing MPI-HMMER

The MPI-HMMER team announced the release of MPI-HMMER. MPI-HMMER is a multiple-level optimization of the original HMMER 2.3.2 code by Sean Eddy of the HHMI Janelia Farms facility. Their implementation consists of two distinct optimizations: a portably tuned P7Viterbi function as well as an MPI implementation. Their MPI implementation is based on the original PVM HMMER code, with enhancements to improve the scalability and I/O of both hmmpfam and hmmsearch. Both optimizations are independent of one another, allowing future enhancements to be easily added and tested. The MPI implementation exhibits excellent speedups over the base PVM implementation. Further, they provide a verification mode in both hmmpfam and hmmsearch that ensures (at a cost of speed) results are returned in exactly the same order as the serial version. Their code has been tested for stability up to 256 nodes, but should scale to as many nodes as the master node's memory allows. For 16 and 20 nodes they see timings of: Hmmsearch rrm.hmm against uniref100.fasta, base - 3627 seconds Hmmsearch rrm.hmm against uniref100.fasta, 20 nodes - 192 seconds Hmmsearch rrm.hmm against uniref100.fasta, 16 nodes - 243 seconds Hmmpfam Pfam_fs against Artemia.fa, base – 356 seconds Hmmpfam Pfam_fs against Artemia.fa, 20 nodes – 25 seconds Hmmpfam Pfam_fs against Artemia.fa, 16 nodes – 30 seconds Compiling/Installing Obtain the source from http://code.google.com/p/mpihmmer/ compile with CC=mpicc ./configure Usage: assuming mpirun is a part of your path and your MPI takes a -machinefile argument: mpirun -np -machinefile ./hmmsearch --mpi mpirun -np -machinefile ./hmmpfam --mpi Bug reports and comments may be sent to jwalters@wayne.edu John Paul Walters Joseph Landman Vipin Chaudhary