Почему я получаю & quot; неопределенную ссылку на `__cudaRegisterLinkedBinary_60 _….` & quot; ошибки в этом примере libcufft_static?

Я на Ubuntu 16.04 с использованием CUDA 7.5 SDK, установленный через nvidia-cuda-toolkit пакет. Я пытаюсь скомпилировать простую тестовую программу, используя функцию обратного вызова cuFFT; исходный код к примеру доступно на GitHub.

Следуя инструкциям по компиляции с функцией обратного вызова, Я собираю исходный код как перемещаемый код устройства и связываю libcufft_static.a:

nvcc -ccbin g++ -dc -m64 -o cufft_callbacks.o -c cufft_callbacks.cu
nvcc -ccbin g++ -m64 -o cufft_callbacks cufft_callbacks.o  -lcufft_static -lculibos

В приведенной выше последовательности последняя команда завершается ошибкой с рядом ошибок, похожих на эту:

/usr/lib/gcc/x86_64-linux-gnu/5/../../../x86_64-linux-gnu/libcufft_static.a(set_callback.o): In function `__sti____cudaRegisterAll_47_tmpxft_00003a6a_00000000_7_set_callback_cpp1_ii_b7e0d86d()':
tmpxft_00003a6a_00000000-4_set_callback.cudafe1.cpp:(.text+0x6fd): undefined reference to `__cudaRegisterLinkedBinary_47_tmpxft_00003a6a_00000000_7_set_callback_cpp1_ii_b7e0d86d'

Он жалуется на множество пропущенных символов, все начинаются с __cudaRegisterLinkedBinary_, Я не думаю, что я делаю что-то не так, поскольку та же последовательность команд работает на компьютере с CentOS 7, который у меня под рукой.

Возможно ли, что мой SDK неправильно настроен? Все упоминания о похожих проблемах, которые я видел в SO и других местах, были неспособны выполнить отдельные шаги компиляции, показанные выше; Я не думаю, что это так.

0

Решение

Мне удалось решить эту проблему путем обновления до CUDA 8.0 RC, как @RobertCrovella предложила в комментарии выше. Должна быть проблема с пакетом 7.5 Ubuntu.

1

Другие решения

Других решений пока нет …

По вопросам рекламы ammmcru@yandex.ru
Adblock
detector