LINUX.ORG.RU

QT + CUDA


0

1

Всем доброго время суток...
Ну вот начал изучать...

Подключил так:

QT += core

QT -= gui

TARGET = TEST_CUDA
CONFIG += console
CONFIG -= app_bundle

TEMPLATE = app


SOURCES += main.cpp

INCLUDEPATH += '/usr/local/cuda/include'
LIBS += -L/usr/local/cuda/lib64 -lcudart

Вот текст программы:
#include <QtCore/QCoreApplication>
#include <stdio.h>

#include <cuda.h>
#include <cuda_runtime_api.h>
#include <cuda_runtime.h>

#include <QDebug>

int main(int argc, char *argv[])
{
int devCount;
cudaDeviceProp devProp;

cudaGetDeviceCount(&devCount);

printf(«Pound %d devices\n», devCount);

for(int device = 0; device < devCount; device++){
cudaGetDeviceProperties(&devProp, device);
printf(«Device %d\n», device);
printf(«Compute cepebility :%d. %d\n», devProp.major, devProp.minor);
}

return 0;
//return a.exec();
}

И вот результат :(

Запускается /home/.../Project/TEST_CUDA-build-desktop/TEST_CUDA...
/home/.../Project/TEST_CUDA-build-desktop/TEST_CUDA: error while loading shared libraries: libcudart.so.3: cannot open shared object file: No such file or directory
/home/.../Project/TEST_CUDA-build-desktop/TEST_CUDA завершился с кодом 127

Кстати где то вычитал, что надо сделать так:
Выполнил это в консоли:
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/cuda/lib64
не помогло, а не подскажете это не чему не повредило???


★★

а libcudart.so.3 то у Вас есть в системе вообще?;-) И если есть, то где он лежит?

Я этих мантр в начале не понял нифига. Команды сборки (пусть и Qt сформированная) как выглядят? Там

g++ ...

AIv ★★★★★
()

в консоли выполни эту строчку с export и в этой же консоли потом запусти собранный файл

note173 ★★★★★
()
Ответ на: комментарий от AIv

Запускается /home/.../Project/TEST_CUDA-build-desktop/TEST_CUDA...
/home/.../Project/TEST_CUDA-build-desktop/TEST_CUDA: error while loading shared libraries

Запускается

note173 ★★★★★
()
Ответ на: комментарий от note173

Ок, понял, тогда Вы правы.

Чудны дела твои, Господи... ох уж эти системы сборки с бантиками.

Тогда export ... лучше всего в ~/.bashrc сунуть.

AIv ★★★★★
()

Кстати, а что, nvcc на кути не матюгается?

Eddy_Em ☆☆☆☆☆
()
Ответ на: комментарий от note173

Да так запускается! Спасибо!

Спасибо вы натолкнули меня на мысль создать батничик для загрузки КЮТЕ :)

export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/cuda/lib64 /home/.../.QtSDK/QtCreator/bin/qtcreator Теперь все прекрасно работает!

А вот еще вопрос: Я просто скопировал эту библиотечку (и ссылку на нее libcudart.so.3 и libcudart.so.3.2.16) к бинарнику но он ее не видит, пока его явно не ткнуть носом: export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/home/.../Project/TEST_CUDA-build-desktop

Тоесть для запуска опять же надо создавать скрипт. Интересно, а можно как то чтобы сам бинарник это делал без лишних файлов???

DenisPA ★★
() автор топика
Ответ на: Да так запускается! Спасибо! от DenisPA

чтобы файл запустился по команде «ИМЯ_ФАЙЛА», он должен лежать в одном из каталогов, перечисленных в PATH, так же и с библиотеками. Можно и просто поставить cuda не в /usr/local, а в /usr

note173 ★★★★★
()
2 февраля 2012 г.

Раз уж пошла такая тема... решил тоже объединить cuda и qt.

Заголовки и библиотеки подключились нормально... тестовая программка (из поста топикстартера) отработала нормально.

Использую qt-creator.

В общем, всё, что есть в заголовках cuda.h и т.п. подхватывается нормально... Но! ядро запускается через такую конструкцию как kernel<<<параметры>>> вот в таких угловых скобках. А на такую конструкцию компилятор (g++ наверное) всё-таки ругается.

Что мне сделать... в настройках куте-креатора заменить g++ на nvcc (и не отвалится ли при этом сам qt?)

Или как-то по-другому?

На вопрос «зачем?» - отвечу, что числодробилка будет использовать куду, а интерфейс будет на qt ;)

BattleCoder ★★★★★
()

Qt, блеать, Qt!!!!1111

anonymous
()

QT
Ну вот начал изучать...

и как тебе QuickTime, нравится?

shty ★★★★★
()
Ответ на: комментарий от ymuv

вашу ж мать, я уже устал метаться туда сюда...

в планах написать и то, и другое... но cuda интересует больше.

BattleCoder ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.