Установить cuda-модуль не удается найти библиотеку драйверов cuda

Я пытаюсь установить модуль ускорения Мануэля Чакраварти, но имею некоторые проблемы с зависимостью cuda. ​​

Я установил драйвер разработчика CUDA и набор инструментов CUDA из nvidia. К остроумию:

ludflu@beefy ~/Downloads $ nvcc --version
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

установка модуля cuda cabal завершается следующим образом:

cabal install cuda
Resolving dependencies...
[1 of 1] Compiling Main ( /tmp/cuda-0.4.1.07892/cuda-0.4.1.0/Setup.hs, /tmp/cuda-0.4.1.07892/cuda-0.4.1.0/dist/setup/Main.o )
Linking /tmp/cuda-0.4.1.07892/cuda-0.4.1.0/dist/setup/setup ...
Configuring cuda-0.4.1.0...
...
checking for library containing cuDriverGetVersion... no
configure: error: could not find CUDA driver library
********************************************************************************
The configuration process failed to locate your CUDA installation. Ensure that
you have installed the driver and developer toolkit, available from:
 http://developer.nvidia.com/cuda-downloads
Then make sure that "nvcc" is available in your PATH, or set the appropriate
directories with --extra-include-dirs and --extra-lib-dirs.
********************************************************************************
cabal: Error: some packages failed to install:
cuda-0.4.1.0 failed during the configure step. The exception was:
ExitFailure 1

Итак, я попробовал указать путь:

cabal --extra-include-dirs=/usr/local/cuda/include --extra-lib-dirs=/usr/local/cuda/lib install cuda

Но это не так.

Любые предложения о том, что я должен попробовать дальше?

3 ответа

Эта ошибка обычно указывает, что configure не смог найти объекты библиотеки CUDA. В частности, вы, вероятно, должны установить LD_LIBRARY_PATH в дополнение к использованию --extra-include_dirs и --extra-lib-dirs. Попробуйте следующее:

env LD_LIBRARY_PATH=/usr/local/cuda/lib cabal --extra-include-dirs=/usr/local/cuda/include --extra-lib-dirs=/usr/local/cuda/lib install cuda

Вы не указали, какую систему вы используете. Если вы находитесь в 64-разрядной системе Linux, вам может понадобиться /usr/local/cuda/lib64 вместо /usr/local/cuda/lib.


Ответ не работал у меня на Ubuntu 13.10, но следующее (похоже, сильно зависит от того, как был установлен драйвер nvidia, в моем случае через пакет nvidia-319)

env LD_LIBRARY_PATH=/usr/lib/nvidia-319 cabal --extra-include-dirs=/usr/local/cuda/include --extra-lib-dirs=/usr/lib/nvidia-319/ install accelerate-cuda

конечно, YMMV, и в идеале установщик будет модифицирован, чтобы искать в местах, где должны быть библиотеки cuda. ​​


Построить как libary

Щелкните правой кнопкой мыши- > Свойства- > Сборка- > Установка-сборка артефакта- > Выпадающее меню для выбора общей/статической библиотеки

Разница между общей/статической библиотекой

Теперь, чтобы включить эту библиотеку, скопируйте библиотеку в проект, который вы хотите, и поместите ее в папку libs на том же уровне, что и уровень src. Заметьте, я предполагаю, что у вас есть папка src.

В этом проекте

Щелкните правой кнопкой мыши- > Свойства- > Строка- > Настройка- > Библиотеки →

  • в области -l добавить имя библиотеки без префикса lib и без суффикса .so

  • в области -l добавьте ../libs, запомните его 2 точки, так как текущая папка src, не корень проекта:) YEAH, я пробовал ./libs в течение 1 часа, прежде чем попробовать ../libs

licensed under cc by-sa 3.0 with attribution.