Включите проблемы с путями для библиотеки 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"

Поэтому все, что я сделал, это явно включил путь к библиотеке.

Другие вопросы по тегам