help-gsl
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Help-gsl] Help linking gsl with Intel MKL (Optimized BLAS)


From: David Eric Miller
Subject: [Help-gsl] Help linking gsl with Intel MKL (Optimized BLAS)
Date: Wed, 04 Jan 2006 17:48:48 -0600
User-agent: Opera M2/8.50 (Linux, build 1358)

Hi all.

I'm trying to g++ compile a gsl based program and
link with Intel's Math Kernel Library (Optimized
BLAS).


This is on an Intel Xeon based Linux cluster.

The command shell is tcsh.

I have the following environment variables defined:

PATH=/usr/gapps/cern/gsl.1.6.Linux/bin:$PATH
LD_LIBRARY_PATH=/usr/local/intel/mkl80/lib/em64t:/usr/gapps/cern/gsl.1.6.Linux/lib:$LD_LIBRARY_PATH
INCLUDE=/usr/local/intel/mkl80/include


If my g++ command is the following:

g++ -o GammaTest -L/usr/gapps/cern/gsl.1.6.Linux/lib -L/usr/local/intel/mkl80/lib -L/usr/local/intel/mkl80/lib/em64t -I/usr/local/intel/mkl80/include -I/usr/gapps/cern/gsl.1.6.Linux/include -lgsl -lmkl_em64t -lm -DHAVE_INLINE TPCRFitFunctions.cxx TPCFitLogGammaTest.cc

I get this error:
/usr/local/intel/mkl80/lib/em64t/libmkl_em64t.a: could not read symbols: File format not recognized
 collect2: ld returned 1 exit status


If my g++ command includes -lcblas:

g++ -o GammaTest -L/usr/gapps/cern/gsl.1.6.Linux/lib -L/usr/local/intel/mkl80/lib -L/usr/local/intel/mkl80/lib/em64t -I/usr/local/intel/mkl80/include -I/usr/gapps/cern/gsl.1.6.Linux/include -lgsl -lcblas -lmkl_em64t -lm -DHAVE_INLINE TPCRFitFunctions.cxx TPCFitLogGammaTest.cc

I get this error:
/usr/local/lib/libcblas.a(cblas_dgemm.o)(.text+0x366): In function `cblas_dgemm':
 : undefined reference to `ATL_dgemm'
/usr/local/lib/libcblas.a(cblas_dsymm.o)(.text+0x2fa): In function `cblas_dsymm':
 : undefined reference to `ATL_dsymm'
/usr/local/lib/libcblas.a(cblas_dsyr2k.o)(.text+0x310): In function `cblas_dsyr2k':
 : undefined reference to `ATL_dsyr2k'
/usr/local/lib/libcblas.a(cblas_dsyrk.o)(.text+0x245): In function `cblas_dsyrk':
 : undefined reference to `ATL_dsyrk'
 .
 .
 .


If I compile without the MKL:

g++ -o GammaTest -L/usr/gapps/cern/gsl.1.6.Linux/lib -I/usr/gapps/cern/gsl.1.6.Linux/include -lgsl -lgslcblas -DHAVE_INLINE TPCRFitFunctions.cxx TPCFitLogGammaTest.cc


Then, I get a properly compiled executable without the Intel's optimized BLAS routines.


Does anyone know the correct incantation to use the better BLAS?

Thanks!

-David Miller




reply via email to

[Prev in Thread] Current Thread [Next in Thread]