LINUX.ORG.RU
ФорумAdmin

установка pycuda

 


0

1

Пытаюсь установить PyCUDA по вот этой инструкции http://wiki.tiker.net/PyCuda/Installation/Linux/Ubuntu. Подскажите, что можно сделать:

$ ./configure.py --cuda-root=/usr/local/cuda --cudadrv-lib-dir=/usr/lib --boost-inc-dir=/usr/include --boost-lib-dir=/usr/lib --boost-python-libname=boost_python-mt --boost-thread-libname=boost_thread-mt --no-use-shipped-boost
*** CUDA_ROOT not set, and nvcc not in path. Giving up.

$ sudo ./configure.py --cuda-root=/usr/local/cuda --cudadrv-lib-dir=/usr/lib --boost-inc-dir=/usr/include --boost-lib-dir=/usr/lib --boost-python-libname=boost_python-mt --boost-thread-libname=boost_thread-mt --no-use-shipped-boost
*** CUDA_ROOT not set, and nvcc not in path. Giving up.

$ echo $PATH
/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/cuda/lib64:/usr/local/cuda/lib

$ export CUDA_ROOT=/usr/local/cude

$ echo $CUDA_ROOT 
/usr/local/cude

$ sudo ./configure.py --cuda-root=/usr/local/cuda --cudadrv-lib-dir=/usr/lib --boost-inc-dir=/usr/include --boost-lib-dir=/usr/lib --boost-python-libname=boost_python-mt --boost-thread-libname=boost_thread-mt --no-use-shipped-boost
*** CUDA_ROOT not set, and nvcc not in path. Giving up.

$ ls /usr/local/cuda/
bin  doc  extras  include  lib  lib64  libnvvp  nvvm  open64  src  tools

Ответ на: комментарий от deterok

вообще, пробовал --cuda-path

$ sudo -E ./configure.py --cuda-root=/usr/local/cuda --cudadrv-lib-dir=/usr/lib --boost-inc-dir=/usr/include --boost-lib-dir=/usr/lib --boost-python-libname=boost_python-mt --boost-thread-libname=boost_thread-mt --no-use-shipped-boost --cuda-path=/usr/local/cuda/bin/
*** CUDA_ROOT not set, and nvcc not in path. Giving up.
причем nvcc существует
$ ls /usr/local/cuda/bin/
bin2c  cudafe  cudafe++  cuda-gdb  cuda-memcheck  cuobjdump  fatbin  fatbinary  filehash  nvcc  nvcc.profile  nvvp  ptxas

т.ж. пробовал запустить configure без sudo, когда nvcc точно доступно

$ nvcc -V
nvcc: NVIDIA (R) Cuda compiler driver
Copyright (c) 2005-2011 NVIDIA Corporation
Built on Thu_Jan_12_14:41:45_PST_2012
Cuda compilation tools, release 4.1, V0.2.1221

dmitry-d67
() автор топика
Ответ на: комментарий от deterok

ненормально , но что-то получилось

$ sudo -E sh -c 'export PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/cuda/lib64:/usr/local/cuda/lib:/usr/local/cuda/bin;./configure.py --cuda-root=/usr/local/cuda --cudadrv-lib-dir=/usr/lib --boost-inc-dir=/usr/include --boost-lib-dir=/usr/lib --boost-python-libname=boost_python-mt --boost-thread-libname=boost_thread-mt --no-use-shipped-boost'

dmitry-d67
() автор топика

Попробуй:

CFLAGS=-I/usr/local/cuda/include LDFLAGS=-L/usr/lib64/nvidia ./configure.py

Каталог с библиотеками проверь чтобы существовал - у меня, например, он другой: /usr/local/cuda/lib64.

ZenitharChampion ★★★★★
()
Ответ на: комментарий от ZenitharChampion

С командой установки пути и через ";" configure.py, и make -j 4 , и python setup.py install отработали без ошибок.

Но, тесты из каталога pycuda-2011.2.2/test не проходят:

$ python test_driver.py 
Traceback (most recent call last):
  File "test_driver.py", line 4, in <module>
    from pycuda.tools import mark_cuda_test
  File "/usr/local/lib/python2.7/dist-packages/pycuda-2011.2.2-py2.7-linux-x86_64.egg/pycuda/tools.py", line 30, in <module>
    import pycuda.driver as cuda
  File "/usr/local/lib/python2.7/dist-packages/pycuda-2011.2.2-py2.7-linux-x86_64.egg/pycuda/driver.py", line 2, in <module>
    from pycuda._driver import *
ImportError: /usr/local/lib/python2.7/dist-packages/pycuda-2011.2.2-py2.7-linux-x86_64.egg/pycuda/_driver.so: undefined symbol: cuIpcGetMemHandle

dmitry-d67
() автор топика
Ответ на: комментарий от dmitry-d67

Когда ты сделал configure и начал компиляцию, она прервалась из-за ошибки, и ты сделал другой configure, надо делать make clean. Если в этом проекте он не предусмотрен (как в pyopencl), то распаковать исходный код заново.

ZenitharChampion ★★★★★
()
Ответ на: комментарий от ZenitharChampion

ok

провел инсталяцию заново, test удалил.

$ sudo make clean
rm -Rf build
rm -f tags

$ sudo rm ./siteconf.py 

$  sudo -E sh -c 'export PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/cuda/lib64:/usr/local/cuda/lib:/usr/local/cuda/bin;./configure.py --cuda-root=/usr/local/cuda --cudadrv-lib-dir=/usr/lib --boost-inc-dir=/usr/include --boost-lib-dir=/usr/lib --boost-python-libname=boost_python-mt --boost-thread-libname=boost_thread-mt --no-use-shipped-boost'

$ sudo -E sh -c 'export PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/cuda/lib64:/usr/local/cuda/lib:/usr/local/cuda/bin; make -j 4'
ctags -R src || true
ctags: skipping src: it is not a regular file.
/usr/bin/python setup.py build
running build
...
g++ -pthread -shared -Wl,-Bsymbolic-functions -Wl,-Bsymbolic-functions build/temp.linux-x86_64-2.7/src/wrapper/_pycuda_struct.o -o build/lib.linux-x86_64-2.7/pycuda/_pvt_struct.so

$  sudo -E sh -c 'export PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/cuda/lib64:/usr/local/cuda/lib:/usr/local/cuda/bin; python setup.py install'
running install
Checking .pth file support in /usr/local/lib/python2.7/dist-packages/
...
Using /usr/local/lib/python2.7/dist-packages/pytools-2011.5-py2.7.egg
Searching for py==1.4.7
Best match: py 1.4.7
Processing py-1.4.7-py2.7.egg
py 1.4.7 is already the active version in easy-install.pth

Using /usr/local/lib/python2.7/dist-packages/py-1.4.7-py2.7.egg
Finished processing dependencies for pycuda==2011.2.2

но, по прежднему

/test$ python test_driver.py 
Traceback (most recent call last):
  File "test_driver.py", line 4, in <module>
    from pycuda.tools import mark_cuda_test
  File "/usr/local/lib/python2.7/dist-packages/pycuda-2011.2.2-py2.7-linux-x86_64.egg/pycuda/tools.py", line 30, in <module>
    import pycuda.driver as cuda
  File "/usr/local/lib/python2.7/dist-packages/pycuda-2011.2.2-py2.7-linux-x86_64.egg/pycuda/driver.py", line 2, in <module>
    from pycuda._driver import *
ImportError: /usr/local/lib/python2.7/dist-packages/pycuda-2011.2.2-py2.7-linux-x86_64.egg/pycuda/_driver.so: undefined symbol: cuIpcGetMemHandle

dmitry-d67
() автор топика
Ответ на: комментарий от ZenitharChampion
$ sudo CFLAGS=-I/usr/local/cuda/include LDFLAGS=-L/usr/lib64/nvidia ./configure.py
*** CUDA_ROOT not set, and nvcc not in path. Giving up.

ну а вот так собирается, но проблема таже при тестировании:

sudo -E sh -c 'export PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/cuda/lib64:/usr/local/cuda/lib:/usr/local/cuda/bin;CFLAGS=-I/usr/local/cuda/include LDFLAGS=-L/usr/lib64/nvidia ./configure.py '

dmitry-d67
() автор топика
Ответ на: комментарий от dmitry-d67

Просит задать переменную CUDA_ROOT. Подозреваю что /usr/local/cuda, либо /usr/ocal/cuda/bin. Каталог /usr/lib64/nvidia существует? У меня например нет, у меня /usr/ocal/cuda/lib.

А ещё, говорят, у NVIDIA CUDA проблема с новым компилятором GCC 4.6.

ZenitharChampion ★★★★★
()
Ответ на: комментарий от ZenitharChampion
$ gcc -v
Using built-in specs.
COLLECT_GCC=gcc
COLLECT_LTO_WRAPPER=/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/lto-wrapper
Target: x86_64-linux-gnu
Configured with: ../src/configure -v --with-pkgversion='Ubuntu/Linaro 4.5.2-8ubuntu4' --with-bugurl=file:///usr/share/doc/gcc-4.5/README.Bugs --enable-languages=c,c++,fortran,objc,obj-c++ --prefix=/usr --program-suffix=-4.5 --enable-shared --enable-multiarch --with-multiarch-defaults=x86_64-linux-gnu --enable-linker-build-id --with-system-zlib --libexecdir=/usr/lib/x86_64-linux-gnu --without-included-gettext --enable-threads=posix --with-gxx-include-dir=/usr/include/c++/4.5 --libdir=/usr/lib/x86_64-linux-gnu --enable-nls --with-sysroot=/ --enable-clocale=gnu --enable-libstdcxx-debug --enable-libstdcxx-time=yes --enable-plugin --enable-gold --enable-ld=default --with-plugin-ld=ld.gold --enable-objc-gc --disable-werror --with-arch-32=i686 --with-tune=generic --enable-checking=release --build=x86_64-linux-gnu --host=x86_64-linux-gnu --target=x86_64-linux-gnu
Thread model: posix
gcc version 4.5.2 (Ubuntu/Linaro 4.5.2-8ubuntu4) 
dmitry-d67
() автор топика
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.