cublasDtrmv
6 posts
• Page 1 of 1
cublasDtrmv
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
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
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
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
Thanks! That's what I get for not doing my homework. :)
- bucknerj
- Posts: 5
- Joined: Wed Aug 19, 2009 3:03 am
Re:cublasDtrmv
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
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
**** 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@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
Glad that 1.1 fixed the problem :)
- kyle
- Administrator
- Posts: 301
- Joined: Fri Jun 12, 2009 7:47 pm
6 posts
• Page 1 of 1
Who is online
Users browsing this forum: No registered users and 2 guests