Неопределенная ошибка ссылки при использовании mexcuda ubuntu - PullRequest
0 голосов
/ 08 января 2019

Я установил на Ubuntu инструментарий Matlab, GCC и CUDA. Для использования Mexcuda.

но когда я компилирую, я получаю следующие ошибки и не могу найти ссылки на них где-либо.

Error using mex
/tmp/mex_42185702054896_15548/testmem04.o: In function `mexFunction':
tmpxft_00003e3a_00000000-5_testmem04.compute_70.cudafe1.cpp:(.text+0x152): undefined reference
to `__cudaPushCallConfiguration'
/tmp/mex_42185702054896_15548/testmem04.o: In function `__device_stub__Z9MulKernelPhPi(unsigned
char*, int*)':
tmpxft_00003e3a_00000000-5_testmem04.compute_70.cudafe1.cpp:(.text+0x35e): undefined reference
to `__cudaPopCallConfiguration'
collect2: error: ld returned 1 exit status

обратите внимание, что когда я впервые установил matlab, cuda 10 (моя текущая версия) не поддерживалась им, я столкнулся с тем же самым, когда я установил matlab в windows, и исправил это, комментируя строку в файле "nvcc_g ++. Xml. "и это работает. когда я сделал это в Ubuntu Matlab, Matlab теперь обнаруживает компилятор nvcc, но я получаю предыдущую ошибку.

Я понимаю, что "неопределенные ошибки ссылок" являются ошибками компоновщика, что мне здесь делать? Я попытался связаться с библиотекой CUDA, но это не сработало.

1 Ответ

0 голосов
/ 10 января 2019

Для mexcuda крайне важно, чтобы вы соответствовали инструментарию CUDA версии, поставляемой с вашей установкой MATLAB (и Parallel Computing Toolbox). Это связано с тем, что Parallel Computing Toolbox поставляет набор библиотек из набора инструментов CUDA и ожидает, что сможет связываться с ними. Если вы используете неправильную версию инструментария CUDA, все может пойти не так.

Чтобы проверить соответствующую версию инструментария CUDA, посмотрите на версию CUDA ToolkitVersion, отображаемую в выходных данных gpuDevice.

(Обратите внимание, что только версия toolkit должна соответствовать MATLAB и PCT - почти всегда хорошо получить последнюю версию драйвера).

Для получения более подробной информации, смотрите мой ответ https://uk.mathworks.com/matlabcentral/answers/432360-after-uninstalling-cuda-toolkit-still-matlab-responds-for-gpudevice там, на Ответах MATLAB.

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