cublasDtrmv

Support for issues specific to the Linux operating systems.

cublasDtrmv

Postby bucknerj » Wed Oct 07, 2009 1:09 pm

OS : Ubuntu 9.10 Beta 64 bit
Synopsis:
CULA Basic wants a cublas function that doesn't exist: cublasDtrmv

Detailed description:

unable to load shared library '/home/bucknerj/Projects/rgpu/gputools.Rcheck/gputools/libs/gputools.so':
/usr/local/cula/lib64/libcula.so: undefined symbol: cublasDtrmv

bucknerj@meng1127:include$ grep trmv *.h
cublas.h: * cublasStrmv (char uplo, char trans, char diag, int n, const float *A,
cublas.h: * Reference: http://www.netlib.org/blas/strmv.f
cublas.h:void CUBLASAPI cublasStrmv (char uplo, char trans, char diag, int n,
cublas.h:void CUBLASAPI cublasCtrmv (char uplo, char trans, char diag, int n,
bucknerj@meng1127:include$ pwd
/usr/local/cuda/include

Cuda version: 2.3
GPU model: an old 8800
bucknerj
 
Posts: 5
Joined: Wed Aug 19, 2009 3:03 am

Re:cublasDtrmv

Postby dan » Wed Oct 07, 2009 1:35 pm

Hi bucknerj,

CULA ships with an advanced version of cublas, as discussed in this post:
http://www.culatools.com/forums/9-windo ... w-init#169

This version of the library has extra functions, including the 'cublasDtrmv' function that is missing from your build. It's likely that your project hasn't been configured to select the cublas distributed with CULA rather than the stock 2.3 one you're trying to find the trmv function in.

To fix this error, make sure that your project is referencing the CULA cublas.so (most likely by changing the order of library search paths).

Dan
dan
Administrator
 
Posts: 61
Joined: Thu Jul 23, 2009 2:29 pm

Re:cublasDtrmv

Postby bucknerj » Wed Oct 07, 2009 1:36 pm

Thanks! That's what I get for not doing my homework. :)
bucknerj
 
Posts: 5
Joined: Wed Aug 19, 2009 3:03 am

Re:cublasDtrmv

Postby tkaiser » Sat Nov 21, 2009 11:20 pm

Running Red Hat 4.1.2-44 64 bit
Cuda 2.3

I have a similar problem that I don't think will be solved by setting the LD_LIBRARY_PATH, which is by the way:

[tkaiser@cuda1 fortran]$ printenv LD_LIBRARY_PATH
/home/tkaiser/bin/mpi/openmpi-1.2.8a/lib:/opt/intel/Compiler/11.0/081/mkl/lib/em64t:/usr/local/cula/lib64:/usr/local/cuda/lib:/usr/local/cuda/cudaprof/bin:/usr/local/lib

And PATH is:
[tkaiser@cuda1 fortran]$ printenv PATH
/usr/kerberos/bin:/usr/local/bin:/bin:/usr/bin:/home/tkaiser/bin:/usr/local/cuda/bin:/home/tkaiser/cuda/bin/linux/release:/home/tkaiser/bin/g95/64/g95-install/bin:/home/tkaiser/bin/mpi/openmpi-1.2.8a/bin

Trying the Fortran example....

[tkaiser@cuda1 fortran]$ make build64
sh ../checkenvironment.sh
gfortran -o geqrf geqrf.f -DNDEBUG -O3 -I/usr/local/cula/include -L/usr/local/cula/lib64 -lcula -lcula_fortran -lcublas -lcudart
/usr/local/cula/lib64/libcula.so: undefined reference to `cublasDtrmv'
/usr/local/cula/lib64/libcula.so: undefined reference to `cublasZswap'
/usr/local/cula/lib64/libcula.so: undefined reference to `cublasZaxpy'
/usr/local/cula/lib64/libcula.so: undefined reference to `cublasCtrmv'
/usr/local/cula/lib64/libcula.so: undefined reference to `cublasZtrmv'
/usr/local/cula/lib64/libcula.so: undefined reference to `cublasZcopy'
/usr/local/cula/lib64/libcula.so: undefined reference to `cublasCgemv'
/usr/local/cula/lib64/libcula.so: undefined reference to `cublasCtrmm'
/usr/local/cula/lib64/libcula.so: undefined reference to `cublasCtrsm'
/usr/local/cula/lib64/libcula.so: undefined reference to `cublasZtrmm'
collect2: ld returned 1 exit status
make: *** [build64] Error 1
[tkaiser@cuda1 fortran]$

Going into the directory /usr/local/cula/lib64 and checking what is in the *so file we get

[tkaiser@cuda1 lib64]$ nm -D * | egrep "cublasCgemv|cublasCtrmm|cublasCtrmv|cublasCtrsm|cublasDtrmv|cublasZaxpy|cublasZcopy|cublasZswap|cublasZtrmm|cublasZtrmv" | sort
U cublasCgemv
U cublasCtrmm
U cublasCtrmv
U cublasCtrsm
U cublasDtrmv
U cublasZaxpy
U cublasZcopy
U cublasZswap
U cublasZtrmm
U cublasZtrmv
[tkaiser@cuda1 lib64]$


These routine are just not there, or at least my linker and nm can't find them.

Thoughts?

Tim
tkaiser
 
Posts: 2
Joined: Thu Nov 05, 2009 11:55 pm

Re:cublasDtrmv

Postby tkaiser » Sun Nov 22, 2009 5:15 pm

**** OK *** updated to 1.1 beta = problem solved

[tkaiser@cuda1 fortran]$ make build64
sh ../checkenvironment.sh
gfortran -o geqrf geqrf.f -DNDEBUG -O3 -I/usr/local/cula/beta/include -L/usr/local/cula/beta/lib64 -lcula -lcula_fortran -lcublas -lcudart
[tkaiser@cuda1 fortran]$

[tkaiser@cuda1 lib64]$ pwd
/usr/local/cula/beta/lib64
[tkaiser@cuda1 lib64]$ nm -D * | egrep "cublasCgemv|cublasCtrmm|cublasCtrmv|cublasCtrsm|cublasDtrmv|cublasZaxpy|cublasZcopy|cublasZswap|cublasZtrmm|cublasZtrmv" | grep "T" | sort -u
000000000003cda0 T cublasCtrmv
0000000000050960 T cublasCtrsm
0000000000056d10 T cublasCtrmm
0000000000059f30 T cublasZtrmm
000000000005f7a0 T cublasDtrmv
0000000000061d40 T cublasZcopy
0000000000067790 T cublasZswap
000000000006e7a0 T cublasZaxpy
000000000006f3d0 T cublasZtrmv
0000000000070430 T cublasCgemv
tkaiser
 
Posts: 2
Joined: Thu Nov 05, 2009 11:55 pm

Re:cublasDtrmv

Postby kyle » Sun Nov 22, 2009 5:34 pm

Glad that 1.1 fixed the problem :)
kyle
Administrator
 
Posts: 301
Joined: Fri Jun 12, 2009 7:47 pm


Return to Linux Support

Who is online

Users browsing this forum: No registered users and 1 guest

cron