AMBER Archive (2009)

Subject: Re: [AMBER] Compiling AmberTools 1.2 with intel compilers for Mac Osx in 64 bits

From: David Watson (dewatson_at_olemiss.edu)
Date: Thu Jul 30 2009 - 14:10:39 CDT


On Jul 30, 2009, at 8:39 AM, Alan wrote:
>
> Starting always with fresh uncompressed ambertools folder.
>

I think the main thing is to perform a 'make -f Makefile_at clean' and
then rerun the ./configure_at line with the chosen options.
>
> I didn't try with gcc and MKL so far. That said, both 32 and 64 bits
> compilation with "configure_at icc" worked with MKL, however doing
> "make -f
> Makefile_at test" I had some surprises:
>
> 1) With 32 bits and MKL, almost everything worked fine, even the
> FAILURES
> (when I compared with my ambertools gcc without MKL and 32 bits)
> excepted
> for '1rrb_vac_mwcovarmat_evecs.dat.dif' in 'ptraj_matrix'. I got the
> absolute values identical to 1rrb_vac_distcovarmat_evecs.dat.save
> except for
> the sign where with MKL they were inverted (like a matrix multiplied
> by -1),
> e.g.:
>
> 537c537
> < 0.00237 -0.00485 0.00133 0.00259 -0.00563 0.00178
> 0.00236 (save)
>> -0.00237 0.00485 -0.00133 -0.00259 0.00563 -0.00178
> -0.00236 (mine)
>

This is my experience exactly.
As far as the other failures, they are within the absolute/relative
margins listed in the comments.

Another oddity is that use of MKL results in this:
=====================================================
Running test to do simple lmod optimization

1c1
< Glob. min. E = -122.793 kcal/mol

---
 > Glob. min. E         =     -127.803 kcal/mol
    FAILED (probably OK if energy is -115 to -125)

=====================================================

> Is it OK? >

I have no idea.

> The compilation with 32 bits with gcc and without MKL has not such a > diff. > > If compiled with icc and NO mkl I got no such a diff either. >

I get tons of pragma warnings with icc.

> > CONCLUSION 2: Intel MKL libs 64 bits doesn't work. >

Exactly my experience.

> >> >>> NOTE2: >>> I didn't find more documentation about './configure_at -h' for >>> options >>> '-mpi' or '-openmp'. It would enable some programmes in ambertools >>> to use >>> multi-cores? Which programmes could take advantage of these options? >>> >> > Any comments about NOTE2 above?

You could dig around in the source to find out which files use OPENMP defines.

You may compile with gcc-4.2/g++-4.2 if you use the './configure_at - openmp' step followed by a few edits to the resulting config.h:

FLIBS= $(LIBDIR)/libsym.a $(LIBDIR)/arpack.a $(LIBDIR)/f2c.a -L$ (MKL_HOME)/lib/32 $(MKL_HOME)/lib/32/libmkl_solver.a -lm kl_intel -lmkl_intel_thread -lmkl_core -fopenmp -lpthread CC=gcc-4.2 CXX=g++-4.2

Now the interesting thing is that the lmod test gets much worse: ===================================================== Running test to do simple lmod optimization

1c1 < Glob. min. E = -122.793 kcal/mol --- > Glob. min. E = -135.362 kcal/mol FAILED (probably OK if energy is -115 to -125)

=====================================================

Otherwise, the same test failures appear as without openmp.

_______________________________________________ AMBER mailing list AMBER_at_ambermd.org http://lists.ambermd.org/mailman/listinfo/amber