problem MAGMA-1.2.0 ATLAS-3.10.0 Lapack-3.4.1..help !!!

Open discussion for MAGMA

Re: problem MAGMA-1.2.0 ATLAS-3.10.0 Lapack-3.4.1..help !!!

Postby mgates3 » Fri Jun 07, 2013 8:32 pm

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
mgates3
 
Posts: 427
Joined: Fri Jan 06, 2012 2:13 pm

Re: problem MAGMA-1.2.0 ATLAS-3.10.0 Lapack-3.4.1..help !!!

Postby ronmarc97 » Mon Jun 10, 2013 5:07 pm

Thanks for help

I modified my make.inc like you sugested

#//////////////////////////////////////////////////////////////////////////////
# -- 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


And appear that error

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


Only compiled some testing_...

What's the problem now ???

Thanks in advance !!!
ronmarc97
 
Posts: 9
Joined: Wed May 15, 2013 5:35 pm

Re: problem MAGMA-1.2.0 ATLAS-3.10.0 Lapack-3.4.1..help !!!

Postby mgates3 » Fri Jun 14, 2013 1:20 pm

Add -lcblas.
-mark
mgates3
 
Posts: 427
Joined: Fri Jan 06, 2012 2:13 pm

Previous

Return to User discussion

Who is online

Users browsing this forum: Bing [Bot] and 1 guest