Включите проблемы с путями для библиотеки GPU
Я пытаюсь использовать MAGMA (http://icl.cs.utk.edu/magma/) для выполнения некоторых матричных операций на графическом процессоре. Я могу успешно вызывать ядро CUDA, и с этим нет проблем. Но когда я пытаюсь использовать функцию magmablas_sgemm, я получаю ошибки.
Это команда компиляции, которую я использую:
nvcc -o msd msd.cu -I../../ include -I / util / magma / 1.1 -lmagma -lmagmablas -Xcompiler -I../../ include -I / util / magma / 1.1 "-O3 "
Это частичный вывод printenv:
LD_LIBRARY_PATH =/ Util / магма / 1.1 / Библиотека:/util/cuda/4.1.28/cuda/lib64:/util/cuda/4.1.28/cuda/lib МАГМА =/ Util / магма /1.1 PATH=/ Util / магма /1.1:/util/cuda/4.1.28/cuda/bin:/usr/lib64/qt-3.3/bin:/util/Modules/3.2.8/bin:/ USR / местные / бен: / бен: / USR / бен: / USR / местные / SBIN: / USR / SBIN: / SBIN: / USR / Керберос / бен _LMFILES_=/ Util / Модули /modulefiles/ нуль: / UTIL / Модули /modulefiles/ модули:/util/Modules/modulefiles/cuda/4.1.28:/util/Modules/modulefiles/magma/1.1 ModulePath =/ Util / Модули / версия: / UTIL / Модули /modulefiles LOADEDMODULES= NULL: модули: CUDA / 4.1.28: магма / 1.1
Как хорошо видно, библиотеки магмы включены в LD_LIBRARY_PATH, и все же я получаю эту ошибку:
/ usr / bin / ld: не могу найти -lmagma collect2: ld вернул 1 статус выхода make: *** [msd] Ошибка 1
Любая помощь / указатели будут с благодарностью! Спасибо!
PS: Если уместно, базовый компилятор C, используемый nvcc для хост-кода, это gcc.
PPS: я проверил путь "/util/magma/1.1/lib", и он содержит libmagma.a и libmagmablas.a
ОБНОВЛЕНИЕ: Вау.. Я ненавижу это.. но это заставило это работать
nvcc -o msd msd.cu -I../../include -I/util/magma/1.1 -L/util/cuda/4.0.17/cuda/lib64 -L/util/magma/1.1/lib -lcublas -lm -lmagma -lmagmablas -Xcompiler -I../../include -I/util/magma/1.1 "-O3"
Поэтому все, что я сделал, это явно включил путь к библиотеке. Но я думал, что LD_LIBRARY_PATH позаботится о таких вещах. Есть идеи, почему это не сработало?
1 ответ
Вау.. Я ненавижу это.. но это заставило его работать
nvcc -o msd msd.cu -I../../include -I/util/magma/1.1 -L/util/cuda/4.0.17/cuda/lib64 -L/util/magma/1.1/lib -lcublas -lm -lmagma -lmagmablas -Xcompiler -I../../include -I/util/magma/1.1 "-O3"
Поэтому все, что я сделал, это явно включил путь к библиотеке.