FW: FW: GPU VSIPL++

Loe, Brian J brian.j.loe at lmco.com
Thu Oct 15 22:16:05 UTC 2009


I am trying to configure VSIPL++ with CUDA tools.  We have already tried the GPU-VSIPL code from GTRI, but wanted to use CodeSourcery's VSIPL++.  I had installed version 2.3 of the CUDA toolkit and a beta version of a video driver from NVIDIA for the GTRI GPU-VSIPL code. The attached e-mail was from an exchange that I had with Stefan Seefield in which he tried to help me troubleshoot a VSIPL++ installation with CUDA version 2.3.  

Since I was having no luck troubleshooting the configuration of VSIPL++ with version 2.3 CUDA toolkit, I removed it and the beta video driver and installed version 2.2 and Nvidia driver 185.18.14.  (I also installed Atlas 8.3.)  Following that I was able to configure VSIPL++ with the invocation

        $ ./configure --with-cuda --enable-fft=cuda

I am also able to build and install the VSIPL++ library and build the code in the examples directory.  

However, when  I try to execute example1, I get 

        $  ./example1 
        FATAL: Module nvidia not found.
        NVIDIA: failed to load the NVIDIA kernel module.
        CUBLAS problem encountered (error 1)
        example1: src/vsip/opt/cuda/bindings.cpp:45: void vsip::impl::cuda::initialize(int&, char**&): Assertion `status == 0' failed. 
        Aborted

I get similar messages from the other example programs.  I don't understand why example1 does not seem to find the video driver.  Any ideas?
--
Brian J. Loe, PhD
Lockheed Martin
Eagan, MN
651-456-2986


________________________________________
From: Stefan Seefeld [stefan at codesourcery.com]
Sent: Friday, October 09, 2009 2:49 PM
To: Loe, Brian J; VSIPL++ Internal List
Subject: Re: FW: GPU VSIPL++

On 10/09/2009 02:38 PM, Loe, Brian J wrote:
> Could is be that this is a 64-bit system
>
>       $ ls /usr/local/cuda/
>       bin  cudaprof  doc  include  lib  lib64  man  open64  src
>
> The config.log says
>
>       configure:11999: checking for cublas.h
>       configure:12020: g++ -c -g -O2   -I/usr/local/cuda/include conftest.cpp>&5
>       configure:12027: $? = 0
>       configure:12042: result: yes
>       configure:12059: checking for library containing cublasGetError
>       configure:12100: g++ -o conftest -g -O2   -I/usr/local/cuda/include  -L/usr/local/cuda/lib conftest.cpp>&5
>       /tmp/ccM1Wsvy.o: In function `main':
>       /opt/sourceryvsipl++-2.1/src/conftest.cpp:53: undefined reference to `cublasGetError'
>       collect2: ld returned 1 exit status
>       configure:12107: $? = 1
>
> Wondering do I need a way to get the configure script to use -L/usr/local/cuda/lib64.  Can it be as simple as renaming the directories?  E.g. 'mv lib lib32;  mv lib64 lib'?

Ah. Yes, if your compiler builds 64-bit versions by default, and if your
64-bit CUDA libs are in lib64, renaming this to lib (or setting up a
link) should solve it. (Make sure your LD_LIRBARY_PATH reflects that
change.)

Out of curiosity, how did you get /usr/local/cuda/lib64 ? Did you
install CUDA manually there yourself ? I'm asking because if this is a
location that other users may see, too, we should adjust our
configuration to allow the CUDA library path to be set individually,
instead of just offer a common 'CUDA prefix'.

Thanks,

        Stefan

--
Stefan Seefeld
CodeSourcery
stefan at codesourcery.com
(650) 331-3385 x718



More information about the vsipl++ mailing list