Those are Fortran BLAS functions that are missing (ztrsm_, zgemm_, etc.). It should be getting those from ATLAS. Examine the ATLAS libf77blas.a with nm. It should have BLAS functions with a T before it (if I understand nm's cryptic output correctly), like this:
0000000000000000 T zgemm_
The order of libraries makes a difference, because the linker processes them in the order given. For instance,
lapack has to be before BLAS, since it uses BLAS. Here's the order I use on one project:
-llapack -lcblas -lf77blas -latlas -lifcore -ldl
You may not have or need the last two, -lifcore -ldl.
-mark
problem MAGMA-1.2.0 ATLAS-3.10.0 Lapack-3.4.1..help !!!
Re: problem MAGMA-1.2.0 ATLAS-3.10.0 Lapack-3.4.1..help !!!
Thanks for help
I modified my make.inc like you sugested
What's the problem now ???
Thanks in advance !!!
I modified my make.inc like you sugested
And appear that error#//////////////////////////////////////////////////////////////////////////////
# -- MAGMA (version 1.3.0) --
# Univ. of Tennessee, Knoxville
# Univ. of California, Berkeley
# Univ. of Colorado, Denver
# November 2012
#//////////////////////////////////////////////////////////////////////////////
#
# GPU_TARGET specifies for which GPU you want to compile MAGMA:
# "Tesla" (NVIDIA compute capability 1.x cards)
# "Fermi" (NVIDIA compute capability 2.x cards)
# See http://developer.nvidia.com/cuda-gpus
GPU_TARGET = Fermi
CC = /usr/bin/gcc
NVCC = /usr/local/cuda/bin/nvcc
FORT = /usr/bin/gfortran
ARCH = ar
ARCHFLAGS = cr
RANLIB = ranlib
OPTS = -O3 -DADD_
F77OPTS = -O3 -DADD_
FOPTS = -O3 -DADD_ -x f95-cpp-input
NVOPTS = -O3 -DADD_ --compiler-options -fno-strict-aliasing -DUNIX
LDOPTS = -fPIC -Xlinker -zmuldefs
LIB = -L/home/ronald/lapack-3.4.2 \
-L/home/ronald/ATLAS/include \
-llapack -lcblas -lf77blas -lcublas -latlas -lf2c -lgfortran -lstdc++ -lpthread -lcudart -lm
CUDADIR = /usr/local/cuda
LIBDIR = -L/home/ronald/lapack-3.4.2 -L/usr/local/atlas/lib -L/usr/lib64 -L/usr/local/lib64 -L/home/ronald/magma-1.3.0/lib -L$(CUDADIR)/lib64
INC = -I$(CUDADIR)/include -I/usr/local/atlas/include/ -I/usr/local/cuda/include
Only compiled some testing_...testing_dgeev.o: In function `main':
testing_dgeev.cpp:(.text+0x997): undefined reference to `cblas_dnrm2(int, double const*, int)'
testing_dgeev.cpp:(.text+0x9cf): undefined reference to `cblas_dnrm2(int, double const*, int)'
testing_dgeev.cpp:(.text+0xd42): undefined reference to `cblas_dnrm2(int, double const*, int)'
testing_dgeev.cpp:(.text+0xe4d): undefined reference to `cblas_dnrm2(int, double const*, int)'
testing_dgeev.cpp:(.text+0xe85): undefined reference to `cblas_dnrm2(int, double const*, int)'
testing_dgeev.o:testing_dgeev.cpp:(.text+0x11d2): more undefined references to `cblas_dnrm2(int, double const*, int)' follow
collect2: ld returned 1 exit status
make[1]: *** [testing_dgeev] Error 1
make[1]: Leaving directory `/home/ronald/magma-1.3.0/testing'
make: *** [test] Error 2
What's the problem now ???
Thanks in advance !!!
Re: problem MAGMA-1.2.0 ATLAS-3.10.0 Lapack-3.4.1..help !!!
Add -lcblas.
-mark
-mark