parallel meme speed 4.10.0 evidently much slower than 4.9.1 -- is this a known issue ?

54 views
Skip to first unread message

Walter Vogel

unread,
Aug 18, 2014, 6:00:31 PM8/18/14
to meme-...@googlegroups.com
System: Dual X5650 procs/CentOS 6.2/openmpi/sge

data: 16146 sequences center cut to 100 bp, 1st order Markov model, 

Commands & time:
/usr/lib64/openmpi/bin/mpirun -np 12 --mca mpi_paffinity_alone 1 <path>/meme-4.9.1p2/bin/meme_p \
  seqs-centered -oc meme_out  -dna -mod zoops -nmotifs 8 -minw 6 -maxw 20 -bfile <path>/markov -maxsize 4220000 -revcomp -nostatus

time to first motif: 20 hr

/usr/lib64/openmpi/bin/mpirun -np 12 --mca mpi_paffinity_alone 1 <path>/meme-4.10.0p1/bin/meme \
  seqs-centered -oc meme_out  -dna -mod zoops -nmotifs 8 -minw 6 -maxw 20 -bfile <path>/markov -maxsize 4220000 -revcomp -nostatus

time to first motif: nothing by 114 hr

Note: both are running as expected on 12 physical cores.


Compile matters:
gcc version 4.4.7 20120313 (Red Hat 4.4.7-4) (GCC) 


--from my compiler script---nothing unusual here.

module load openmpi-x86_64

./configure \
    --prefix=$INSTALL_prefix/${PROGRAM_short}-${PROGRAM_ver}p${PATCH_LEVEL} \
    --with-url=http://meme.nbcr.net/meme \
    --with-db=$DBdir \
    --enable-build-libxml2 \
    --enable-build-libxslt \
 1>config_out

James Johnson

unread,
Aug 24, 2014, 9:53:51 PM8/24/14
to meme-...@googlegroups.com
This was resolved with Walter over email but for those coming across this post this is what we discovered:

Some where between the development of 4.9.1 and 4.10.0 the setting of some variables in the configure script was reorganized and this had the unintentional result that no optimization flags were passed to the compiler.

We intend to release a patch which fixes this issue but until then you can add flags to the make process using the CFLAGS variable.

For example on a Linux Mint install using gcc the flags should be:
make CFLAGS="-Wall -Wno-unused -DUNIX -D__USE_FIXED_PROTOTYPES__ -O3"

If you run configure as you normally would for the MEME Suite you'll notice that right at the end it prints a summary of the settings. You can take the flags specified after "C compiler flags:" and add "-O3" (or whatever your compiler uses for optimization) to them.
Reply all
Reply to author
Forward
0 new messages