Форум программистов, компьютерный форум, киберфорум
Наши страницы

CUDA

Войти
Регистрация
Восстановить пароль
 
Левиафам
33 / 28 / 9
Регистрация: 31.05.2012
Сообщений: 535
#1

CUDA компиляция и запуск - CUDA

24.04.2016, 15:39. Просмотров 1134. Ответов 11
Метки нет (Все метки)

Всем привет! Ребят я начал изучать технологию cuda (параллельные вычисления). Картина заключается в том, что мне нужно настроить данную технологию на своем компутере, и попытаться запустить пару примеров на выполнение. Посмотреть как они работают и работают ли они у меня вообще.
Первым делом мне нужно было убедиться что моя карточка поддерживает технологию cuda. В итоге я залез на сайт и убедился в том, что моя карта действительно её поддерживает http://video-nvidia.com/series_200m/nvidia-geforce-gt-240m.html
После я выяснил, что мне нужно скачать инструментарий на официальном сайте NVIDIA
https://developer.nvidia.com/cuda-downloads.
После скачивания я произвел установку и так же установил драйвер для карты. Но для работы технологии так же нужен сишный компилятор "cl" ,который поставляется вместе с visual studio (в моем случае поставил visual studio 2013).

Теперь я хочу откомпилировать и запустить такой пример:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
#include <iostream>
#include <stdio.h>
 
 
 
int main(int argc, char *  argv[])
{
    int            deviceCount;
    cudaDeviceProp devProp;
 
    cudaGetDeviceCount(&deviceCount);
 
    printf("Found %d devices\n", deviceCount);
 
    for (int device = 0; device < deviceCount; device++)
    {
        cudaGetDeviceProperties(&devProp, device);
 
        printf("Device %d\n", device);
        printf("Compute capability     : %d.%d\n", devProp.major, devProp.minor);
        printf("Name                   : %s\n", devProp.name);
        printf("Total Global Memory    : %d\n", devProp.totalGlobalMem);
        printf("Shared memory per block: %d\n", devProp.sharedMemPerBlock);
        printf("Registers per block    : %d\n", devProp.regsPerBlock);
        printf("Warp size              : %d\n", devProp.warpSize);
        printf("Max threads per block  : %d\n", devProp.maxThreadsPerBlock);
        printf("Total constant memory  : %d\n", devProp.totalConstMem);
 
    }
    int j; std::cin >> j;
 
    return 0;
}
Пример я скачал на сайте http://www.ksmlab.ru/page/cuda-osnovy-primery. Собственно там несколько примеров.
Для компиляции файла я зашел в командную строку разработчика и ввел такую строчку "nvcc info.cu"
В итоге у меня получился результат где появилось 3 файла в том числе и сам exe-шник и запустил его
0
Миниатюры
CUDA компиляция и запуск  
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
24.04.2016, 15:39
Здравствуйте! Я подобрал для вас темы с ответами на вопрос CUDA компиляция и запуск (CUDA):

Компиляция программ CUDA - CUDA
Задам возможно ряд глупых для кого-то, но для меня не простых вопросов.Начал читать книгу &quot;Технология CUDA в примерах&quot;. Там даны ряд...

CUDA запуск на ноутбуке - CUDA
дубль http://www.cyberforum.ru/cpp-beginners/thread1452446.html Всем здравствуйте! Вопрос простой, как 5 копеек: Как...

Не запускается приложение под Cuda (CUDA directory not found) - CUDA
Здравствуйте, пытаюсь скомпилировать приложение под Cuda но вылазит ошибка, что CUDA directory not found. В чем может быть проблема? Cuda...

Cuda - CUDA
У меня на ноутбуке видеокарта ATI Mobility Radeon HD 4300 Series я хочу работать с CUDA какую видеокарту мне надо поставить подскажите? ...

CUDA C/C++ - CUDA
Всем доброго времени суток, кто нибудь объясните новичку в чем здесь ошибка, в ниже приведенной функции, в строке 25-ой, выдает...

CUDA - CUDA
Здравствуйте. Я мучаюсь с установкой куды на visual studio 2010. Сделал так, чтобы текст в файлах с расширением cu подсвечивался в C стиле,...

11
Левиафам
33 / 28 / 9
Регистрация: 31.05.2012
Сообщений: 535
24.04.2016, 15:41  [ТС] #2
Я не силен компиляцией из командной строки и линковки. Поэтому прошу извинить за тупость. Но печаль в том что программа мне говорит что нашла 0 устройств. не могу понять почему так??
0
Левиафам
33 / 28 / 9
Регистрация: 31.05.2012
Сообщений: 535
24.04.2016, 15:48  [ТС] #3
Так как в командной строке потерпел неудачу. Решил выполнить пример в visual studio 2013. Я долго думал как интегрировать его туда. Смотрел видеоролики и всё такое. Потом выяснил что там уже всё готово и оказывается при установки тулкита среда подтягивает все зависимости сам а мне остается лишь только создать проект Nvidia который отображается при создании проекта.
Я создал проект, вставил код туда и запустил на выполнение. В итоге он мне вывел космическое число устройств причем в отрицательной форме
0
Миниатюры
CUDA компиляция и запуск  
Левиафам
33 / 28 / 9
Регистрация: 31.05.2012
Сообщений: 535
24.04.2016, 15:54  [ТС] #4
У меня на картинке видны красные пердупреждения. Они пропадут если я откаментирую библиотеки сверху. Но интересно то что и без них программа откомпилица и выведет такой же результат.

в общем ребят прошу помочь мне. Не знаю что делать. Наверно я не умею гуглить и не нашел компиляции cuda в командной строке. Так же прошу помочь мне разобраться что за глюк такой в ide по поводу красноты. Огромнейшее спасибо заранее......... и еще я пробовал выполнить перемножение матриц исходя из примеров которые скачал, в результате при различных размерах матрицы выдает время выполнения 0 секунда (походу не выполняется на карте). Эти примеры почти такие же что и в книге по cuda
0
Evg
Эксперт CАвтор FAQ
18259 / 6384 / 440
Регистрация: 30.03.2009
Сообщений: 17,666
Записей в блоге: 28
24.04.2016, 16:17 #5
В своё время базовые примеры запускал по книге "Сандерс Дж., Кэндрот Э. - Технология CUDA в примерах - 2011". Всё запустилось, насколько помню, геморрой был только с тем, чтобы запустить cl из консоли

Конкретно в моём случае был установлен 32-битный cuda toolkit
http://developer.download.nvidia.com....17_win_32.msi
и MSVS-2008
1
Левиафам
33 / 28 / 9
Регистрация: 31.05.2012
Сообщений: 535
25.04.2016, 08:56  [ТС] #6
А у меня книга боресков и харламов 2011 год......Но книга устарела и тулкит не тот. Интересно то что в моей версии тулкит нет SDK примеров, а ведь везде толкуют про то что я могу проверить и запустить примеры из SDK. На официальном сайте документация стремная, где не описывается компиляция из командно строки, а лишь только есть не большое описание интеграции в студию и то с ошибками.
Мне бы сейчас главное чтобы в командной сроке всё работало и будет счастье.)))
Я посмотрю вашу книгу и еще интересно какие проблемы у вас были с "cl" и как решили?
0
Evg
Эксперт CАвтор FAQ
18259 / 6384 / 440
Регистрация: 30.03.2009
Сообщений: 17,666
Записей в блоге: 28
25.04.2016, 12:59 #7
Цитата Сообщение от Левиафам Посмотреть сообщение
Я посмотрю вашу книгу и еще интересно какие проблемы у вас были с "cl" и как решили?
Проблемы стандартные - как его (cl) вообще запускать из командной строки. Там был какой-то геморрой со скриптом vcvars32.bat (или что-то типа такого в названии), который нужно запустить, чтобы можно было работать с cl. Соответственно, nvcc должен уметь из-под себя запускать этот скрипт. Насколько помню, всё решилось тем, что в глобальных настройках надо было в %PATH% прописать путь (если надо, вечером могу посмотреть конкретно, я все ходы записал)
1
Левиафам
33 / 28 / 9
Регистрация: 31.05.2012
Сообщений: 535
25.04.2016, 14:14  [ТС] #8
Цитата Сообщение от Evg Посмотреть сообщение
Соответственно, nvcc должен уметь из-под себя запускать этот скрипт.
ну у меня на ноуте nvcc подтягивает его уже, иначе не откомпилил бы))) но зато на рабочем компьютере как раз какая-то проблема с батником была (я тольком не читал что там нужно было) , но видимо та беда которая у вас.
Я думаю было бы не плохо если бы описали бы ходы. Я думаю смысла нет ставить 32-х битную версию. Просто посмотрю в книге, которую посоветовали, ибо может какую-то мелочь упустил))) И еще посмотрю ваши ходы))) Спасибо вам)
0
Evg
Эксперт CАвтор FAQ
18259 / 6384 / 440
Регистрация: 30.03.2009
Сообщений: 17,666
Записей в блоге: 28
25.04.2016, 15:58 #9
Цитата Сообщение от Левиафам Посмотреть сообщение
Я думаю смысла нет ставить 32-х битную версию
У меня была какая-то проблема с 64-битной версией, возможно, что из-за MSVS-2008
0
Левиафам
33 / 28 / 9
Регистрация: 31.05.2012
Сообщений: 535
25.04.2016, 19:06  [ТС] #10
ну у меня завтра время будет, я по вашей книге потыкаюсь и возможно на виртуалку 32-битную поставлю и попробую откомпилить(просто у меня 64 битная ОС)
0
Evg
Эксперт CАвтор FAQ
18259 / 6384 / 440
Регистрация: 30.03.2009
Сообщений: 17,666
Записей в блоге: 28
25.04.2016, 20:37 #11
На 64-битной оси 32-битные библиотеки нормально работают, виртуалка тут точно не нужна. Да и вряд ли на виртуалке оно заработает, там же виртуальная видеокарта, не факт, что CUDA с ней взлетит

Добавлено через 44 минуты
Ссылку на тулкит написал в посте #5

У меня записано:
- Использовал MSVS-2008 (хотя по идее можно было бы и 2005)
- Для 2008 надо устанавливать 32-биный cuda-toolkit, т.к. он будет искать 32-битный cl.exe
- В переменную PATH надо прописать путь до cl.exe (компилятора)
D:\Program Files (x86)\Microsoft Visual Studio 9.0\VC\bin
Прописывается через: "Мой компьютер" - ПКМ - "Свойства" - "Дополнительные параметры системы" (слева) - вкладка "Дополнительно" - кнопка "Переменные среды"
- Для запуска в консоли компилятора cl.exe надо предварительно запустить скрипт vcvars32.bat (находится в том же каталоге, что и cl.exe). Из-под cygwin'а не работает

Последнее предложение не совсем понимаю, к чему написано, из-под cygwin'а у меня nvcc нормально работает
1
Левиафам
33 / 28 / 9
Регистрация: 31.05.2012
Сообщений: 535
25.04.2016, 22:49  [ТС] #12
кстати, немного обманул себя.... автоматической интеграции тулкита в vs нету. Просто когда я создавал проект с++ я в нем прописывал пути к либам и заголовычным файлам тулкита (в попытке откомпилить кудовский файл), и еще что-то прописал точно не помню.....В итоге я думал у меня проект заработает, но на самом деле нужно было перезапустить vs и в меню появилося пункт создания проекта nvidia...... ладно завтра буду пробовать ваш вариант,спасибо
0
25.04.2016, 22:49
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
25.04.2016, 22:49
Привет! Вот еще темы с ответами:

CUDA - CUDA
Добрый день! Не знал куда отнести эту тему, поэтому решил создать данную тему на ветке &quot;С#.NET&quot;, так как CUDA будет использоваться...

C# + CUDA - CUDA
Слышал, о полезной штуковине – CUDA. Есть смысл изучить данный сабж, или это на много усложнит программу? Хочется использовать С# , а не С....

CUDA - CUDA
Сталкивался кто-нибудь с этой технологией? Хотелось бы прочитать хотя бы пару предложений доступным языком. Или пару абзацев. Ну или ссылку...

MATLAB и CUDA - CUDA
Здравствуйте, форумчане! Подскажите книги (желательно на русском) по вычислению в MATLAB на графических процессорах CUDA. То что нашёл...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
12
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru