CUDA CUDPP. Так здание - PullRequest
       4

CUDA CUDPP. Так здание

3 голосов
/ 29 ноября 2010

Я хочу использовать библиотеку CUDPP в моем проекте. Я скачал источники со страницы проекта . К сожалению, когда я запустил «make», была только статическая сборка библиотеки. Я просмотрел файлы Makefile и не нашел никакой динамической конфигурации lib. Я не хочу хранить статическую библиотеку вместе с проектом - это абсолютно непереносимый способ.

Мой вопрос: как я могу создать .so динамическую библиотеку CUDPP, не написав свой собственный Makefile / не скомпилировав его вручную? Может, кто-то уже это сделал?

РЕДАКТИРОВАТЬ : Я заменил «g ++» на «g ++ -fPIC», «gcc» на «gcc -fPIC» и «nvcc» на «nvcc -Xcompiler -fpic». Когда я распаковываю файлы obj из архива и связываю их с разделяемой библиотекой, у меня не возникает ошибок. Тем не менее, мое приложение падает при запуске, когда связано с этой библиотекой.

Ответы [ 2 ]

3 голосов
/ 01 декабря 2010

при компиляции передайте флаг -Xcompiler -fpic в nvcc. Если вы ссылаетесь на какие-либо библиотеки cuda, убедитесь, что вы связались с общими библиотеками, иначе вы не сможете связать это. Надеюсь, это все, что вам нужно.

0 голосов
/ 02 декабря 2010

Вы также используете -shared для создания библиотеки? Вам не нужно ничего извлекать из архива, если он работает правильно.

Если вы запустите ldd в своем исполняемом файле, он покажет вам, какое динамическое связывание требуется приложению, и вы можете проверить, что -fPIC и т. Д. Работает правильно. Также убедитесь, что на вашем LD_LIBRARY_PATH находится библиотека .so (извините, если это очевидно, проверка не повредит).

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...