HMMER includes support for two kinds of parallelization: POSIX threads and PVM (Parallel Virtual Machine). Threads support is built in by default; PVM is not.
If you have a multi-processor UNIX machine, odds are that you have a POSIX threads library. This kind of parallelization is easy from the standpoint of a HMMER user. HMMER will happily use all your processors (fewer, if you wish). The binary distributions of HMMER all come with multithreading capability built in.
To disable threads support, add -disable-threads to the command line for ./configure before you compile a source distribution. Multithreading is completely optional, and the software will work fine without it.
Like multithreaded BLAST, a multithreaded HMMER search will use all the available CPUs. Sometimes this is not desired; you may want HMMER searches to leave some spare processing power for other work. The environment variable HMMER_NCPU sets the maximum number of CPUs that any HMMER job will use. You can also set a limit on an individual process using the -cpu <n> option.