[Top][All Lists]
[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