Message-Passing Interface Hidden Markov Model ER* (MPI-HMMER*) v2.3

An open-source implementation of the HMMER* protein sequence analysis suite.

Performance Increased 1.56X1

No source code changes were required to build and run MPI-HMMER* on Intel® Xeon Phi™ coprocessors. The main search algorithms in this suite, hmmsearch*, and hmmpfam*, have been modified to use MPI in order to provide higher throughput HMMER searches on modern computational clusters. The key algorithm in hmmsearch is the Viterbi algorithm implemented as a contained double-nested loop that can be vectorized with no data accuracy penalties.

The hmmsearch executable can be compiled for and executed on Intel Xeon Phi coprocessors without changes. However, the code makes use of a number of pointer variables, which inhibit vectorization. To obtain better performance, relatively simple changes can be made to the source code and compiler command line to help the compiler vectorize the code.

Performance Results

The Intel® Xeon® processor E5-2670 and the Intel® Xeon Phi™ coprocessor symmetric process demonstrated up to 1.56X improved performance over the baseline Intel Xeon processor E5-2670.1

Download the code ›

Reproduce these results with this optimization recipe ›

Configuration Table

System Overview 2S Intel® Xeon® Processor E5-2670 with Intel® Xeon Phi™ Coprocessor
Platform Two-Socket Crown Pass Software Development Platform: 2X Intel® Xeon® processor E5 2670 (20M cache, 2.6 peak performance: 332.8 Gflops) 32 GB memory @ 1600 MHz
Coprocessor Pre-production Intel® Xeon Phi™ coprocessor: 61 cores, 1.1 GHz, 8 GB memory @ 5.5 GT/s, (B1 step)
Same Optimized Software Running in Each Scenario Gains are not based on un-optimized baseline
Software Stack Pre-production “Gold” Release Candidate Software Stack: Intel® Manycore Platform Software Stack (Intel® MPSS) 2.1.4346-16
(Flash*:; coprocessor OS:; driver: 4346-16)
Intel® Cluster Studio XE 2013 Update 1 (compiler: Composer_XE_2013.1.117; Intel® MKL: 11.0.1)

Product and Performance Information


Benchmark results were obtained prior to implementation of recent software patches and firmware updates intended to address exploits referred to as "Spectre" and "Meltdown". Implementation of these updates may make these results inapplicable to your device or system.

Software and workloads used in performance tests may have been optimized for performance only on Intel® microprocessors. Performance tests, such as SYSmark* and MobileMark*, are measured using specific computer systems, components, software, operations, and functions. Any change to any of those factors may cause the results to vary. You should consult other information and performance tests to assist you in fully evaluating your contemplated purchases, including the performance of that product when combined with other products. For more complete information visit