AMBER Archive (2009)

Subject: Re: [AMBER] MKL error ?

From: Marek Malý (maly_at_sci.ujep.cz)
Date: Thu Feb 05 2009 - 06:26:05 CST


Hi Ross,

#1
your solution "OMP_NUM_THREADS=1" is working !

When I wrote "OMP_NUM_THREADS=1" and ofcourse "export OMP_NUM_THREADS" on
the
commandline before starting amber tests, all four tests
"test.serial,test.serial.QMMM,
test.parallel, test.parallel.QMMM" passed without any problems !

It seems to me that the MKL problem is probably mainly in connection with
sander when igb=1,
because I have compilled NAB with -openmp flag and I can use it without
any problems for example
with OMP_NUM_THREADS=8. I just tested it on the common normal mode
analysis program:

---------------
conjgrad()
newton()
nmode()
--------------

And I saw clearly that in the case of conjgrad() the application used
really 8 CPUs.
No problems appeard even if I turned gb=1 !

Can you say in very short why this your solution works and prevent
Amber/Sander from
the error ?

MLK func load error: /opt/intel/mkl/10.0.011/lib/em64t/libmkl_vml_mc.so:
undefined symbol: vmlGetErrorCallBack

#2

Of course that I also tried recommended static compilation since it seems
to me as a little
"cleaner" solution than #1. But unfortunately after I succesfully
compilled AmberTools and
Amber in serial with -static flag I finally got in troubles during static
compilation
of PARALLEL version of Amber - please see the errors below:

/opt/intel/impi/3.1/lib64/libmpiif.a(allgathervf.o): In function
`MPI_ALLGATHERV':
allgathervf.c:(.text+0x63): undefined reference to `PMPI_Allgatherv'
/opt/intel/impi/3.1/lib64/libmpiif.a(comm_freef.o): In function
`MPI_COMM_FREE':
comm_freef.c:(.text+0x6): undefined reference to `PMPI_Comm_free'
/opt/intel/impi/3.1/lib64/libmpiif.a(initf.o): In function `MPI_INIT':
initf.c:(.text+0x19): undefined reference to `PMPI_Init'
/opt/intel/impi/3.1/lib64/libmpiif.a(irecvf.o): In function `MPI_IRECV':
irecvf.c:(.text+0x1a): undefined reference to `PMPI_Irecv'
/opt/intel/impi/3.1/lib64/libmpiif.a(isendf.o): In function `MPI_ISEND':
isendf.c:(.text+0x1a): undefined reference to `PMPI_Isend'
/opt/intel/impi/3.1/lib64/libmpiif.a(recvf.o): In function `MPI_RECV':
recvf.c:(.text+0x59): undefined reference to `PMPI_Recv'
/opt/intel/impi/3.1/lib64/libmpiif.a(redscatf.o): In function
`MPI_REDUCE_SCATTER':
redscatf.c:(.text+0x50): undefined reference to `PMPI_Reduce_scatter'
/opt/intel/impi/3.1/lib64/libmpiif.a(register_datarepf.o): In function
`MPI_REGISTER_DATAREP':
register_datarepf.c:(.text+0xed): undefined reference to
`PMPI_Register_datarep'
/opt/intel/impi/3.1/lib64/libmpiif.a(sendf.o): In function `MPI_SEND':
sendf.c:(.text+0xe): undefined reference to `PMPI_Send'
/opt/intel/impi/3.1/lib64/libmpiif.a(sendrecvf.o): In function
`MPI_SENDRECV':
sendrecvf.c:(.text+0x81): undefined reference to `PMPI_Sendrecv'
/opt/intel/impi/3.1/lib64/libmpiif.a(typecontigf.o): In function
`MPI_TYPE_CONTIGUOUS':
typecontigf.c:(.text+0x9): undefined reference to `PMPI_Type_contiguous'
/opt/intel/impi/3.1/lib64/libmpiif.a(waitanyf.o): In function
`MPI_WAITANY':
waitanyf.c:(.text+0x42): undefined reference to `PMPI_Waitany'
make[1]: *** [sander.MPI] Error 1
make[1]: Leaving directory
`/home/mmaly/_applications/amber_static/src/sander'
make: *** [parallel] Error 2

of course that I tried "make clean" before this compilation but it simply
does'n work :((

But anyway since #1 works fine it is not a big problem for me although if
you have an idea how to solve
my problem with static+parallel compilation of Amber, of course that I
would appreciate this info much.

Thanks again !

    Marek

Dne Wed, 04 Feb 2009 06:22:48 +0100 Ross Walker <ross_at_rosswalker.co.uk>
napsal/-a:

> Hi Marek,
>
>> In the case of "make test.serial" and "make test.parallel" I obtained
>> error:
>>
>> --------------------------------------
>> MLK func load error: /opt/intel/mkl/10.0.011/lib/em64t/libmkl_vml_mc.so:
>> undefined symbol: vmlGetErrorCallBack
>> ./Run.circdna: Program error
>> make: *** [test.sander.GB] Error 1
>> ------------------------------------
>>
>> In the case of "make test.serial.QMMM" and "make test.parallel.QMMM" it
>> was similar error:
>>
>> ----------------------------------------
>> MLK func load error: /opt/intel/mkl/10.0.011/lib/em64t/libmkl_vml_mc.so:
>> undefined symbol: vmlGetErrorCallBack
>> ./Run.1NLN_internal: Program error
>> make: *** [test.sander.QMMM] Error 1
>> ----------------------------------------
>>
>
> I believe that this is a bug in MKL itself, essentially Intel has the
> symbol
> mapping incorrect (or we may be linking it wrong but I don't think so).
> There are two possible solutions for this. The first is to try to compile
> statically this 'should' make the problem go away.
>
> The second is to explicitly set the environment variable
> OMP_NUM_THREADS=1 -
> I haven't fully verified this second fix but I think it should solve the
> problem. Essentially make sure this gets set in /etc/bashrc or a similar
> location (run script etc) so that whatever shell runs the job inherits
> this
> environment variable.
>
> An alternative options is to try a different version of MKL. I currently
> use
> 10.0.018 and do not see this problem although I haven't extensively
> checked
> it since I normally compile statically.
>
> Good luck,
> Ross
>
>
> /\
> \/
> |\oss Walker
>
> | Assistant Research Professor |
> | San Diego Supercomputer Center |
> | Tel: +1 858 822 0854 | EMail:- ross_at_rosswalker.co.uk |
> | http://www.rosswalker.co.uk | PGP Key available on request |
>
> Note: Electronic Mail is not secure, has no guarantee of delivery, may
> not
> be read every day, and should not be used for urgent or sensitive issues.
>
>
>
>
> _______________________________________________
> AMBER mailing list
> AMBER_at_ambermd.org
> http://lists.ambermd.org/mailman/listinfo/amber
>
> __________ Informace od NOD32 3824 (20090204) __________
>
> Tato zprava byla proverena antivirovym systemem NOD32.
> http://www.nod32.cz
>
>

-- 
Tato zpráva byla vytvořena převratným poštovním klientem Opery:  
http://www.opera.com/mail/

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