Unresolved zlag* when compiling without MKL

Open forum for general discussions relating to PLASMA.

Unresolved zlag* when compiling without MKL

Postby mmarc » Mon Feb 07, 2011 8:03 pm

Hi again,

Here's what I'm getting when trying to compile with atlas instead of MKL:

Code: Select all
make[1]: Entering directory `~/Programming/plasma/testing'
gfortran  testing_zmain.o testing_zgesv.o testing_zgels.o testing_zposv.o testing_zgemm.o testing_zsyrk.o testing_zsyr2k.o testing_zsymm.o testing_ztrsm.o testing_ztrmm.o testing_zlange.o testing_zherk.o testing_zher2k.o testing_zhemm.o testing_zgecfi.o testing_zgetmi.o testing_zcposv.o testing_zcgesv.o testing_zcungesv.o -o ztesting -L../lib -lplasma -lcoreblas -L../quark -lquark   -L../../lapacke -llapacke -L/usr/lib64/atlas -lclapack -llapack -lcblas -lclapack  -lblas -lpthread -lm
testing_zposv.o: In function `testing_zposv':
~/Programming/plasma/testing/testing_zposv.c:205: undefined reference to `zlaghe'
~/Programming/plasma/testing/testing_zposv.c:254: undefined reference to `zlaghe'
~/Programming/plasma/testing/testing_zposv.c:304: undefined reference to `zlaghe'
testing_zsyrk.o: In function `testing_zsyrk':
~/Programming/plasma/testing/testing_zsyrk.c:94: undefined reference to `zlagsy'
testing_zsyr2k.o: In function `testing_zsyr2k':
~/Programming/plasma/testing/testing_zsyr2k.c:100: undefined reference to `zlaghe'
testing_zsymm.o: In function `testing_zsymm':
~/Programming/plasma/testing/testing_zsymm.c:95: undefined reference to `zlaghe'
testing_zherk.o: In function `testing_zherk':
~/Programming/plasma/testing/testing_zherk.c:94: undefined reference to `zlaghe'
testing_zher2k.o: In function `testing_zher2k':
~/Programming/plasma/testing/testing_zher2k.c:100: undefined reference to `zlaghe'
testing_zhemm.o: In function `testing_zhemm':
~/Programming/plasma/testing/testing_zhemm.c:95: undefined reference to `zlaghe'
testing_zcposv.o:~/Programming/plasma/testing/testing_zcposv.c:78: more undefined references to `zlaghe' follow
collect2: ld returned 1 exit status


To my understanding, this does not happen in case of MKL because it defines both underscored (according to fortran convention) and non-underscored versions of blas/lapack routines. And here atlas seem to have only underscored versions. I see some workarounds, but first need to ensure: is it an expected issue, or am I mistaking somewhere?

Thanks!
mmarc
 
Posts: 5
Joined: Sat Feb 05, 2011 2:34 pm

Re: Unresolved zlag* when compiling without MKL

Postby mmarc » Mon Feb 07, 2011 8:41 pm

Sorry, to get it clearer, here is what we have in lapack 3.3.0:

Code: Select all
nm ../lapack/tmglib_LINUX.a | grep zlag
                 U zlagge_
                 U zlaghe_
                 U zlagsy_
                 U zlagge_
                 U zlaghe_
                 U zlagsy_
zlagge.o:
0000000000000000 T zlagge_
zlaghe.o:
0000000000000000 T zlaghe_
zlagsy.o:
0000000000000000 T zlagsy_


So, my point is unresolved symbols have to be underscored.
mmarc
 
Posts: 5
Joined: Sat Feb 05, 2011 2:34 pm

Re: Unresolved zlag* when compiling without MKL

Postby julie » Mon Feb 07, 2011 8:47 pm

Hi,
indeed, the ALTAS library does not contain the full implementation of the LAPACK library.
You should link with the netlib LAPACK or MKL to get a full LAPACK implementation.
ATLAS is mainly a BLAS library, but it should work to use the LAPACK from MKL and the BLAS from ATLAS.
Hope it helps.
Julie
julie
 
Posts: 1
Joined: Mon Feb 07, 2011 8:44 pm

[SOLVED] Unresolved zlag* when compiling without MKL

Postby mmarc » Mon Feb 07, 2011 10:02 pm

Oh, yeah, I was wrong. The only thing I forgot in command line is -DADD_. Everything is fine with it now.
mmarc
 
Posts: 5
Joined: Sat Feb 05, 2011 2:34 pm


Return to User discussion

Who is online

Users browsing this forum: Baidu [Spider] and 1 guest

cron