Часовой пояс: UTC + 3 часа




Начать новую тему Новая тема / Ответить на тему Ответить  Сообщений: 11 
  Пред. тема | След. тема 
В случае проблем с отображением форума, отключите блокировщик рекламы
Автор Сообщение
 

Member
Статус: Не в сети
Регистрация: 17.10.2006
Откуда: old school
Фото: 14
Проникаюсь документацией nvidia, но не могу понять главное - как под виндой компилировать написанный под CUDA код. Есть комилятор nvcc для компилирования частей под видео, но ему требуется обычный для обычных частей кода. Как это вместе работает? Кто-нибудь пробовал?


Последний раз редактировалось anwjl 16.04.2009 21:51, всего редактировалось 1 раз.


Партнер
 

Member
Статус: Не в сети
Регистрация: 17.10.2006
Откуда: old school
Фото: 14
18 просмотров темы за неделю. Это больше похоже на монолог. Итак, код для CUDA представляет собой простой код на C++, который компилируется как обычно (у меня в Visual Studio 2008), в этот обычный код (host code) включены или из него вызваны функции, написанные под GPU (device code). Часть под device компилируется nvcc. VS сам подхватывает nvcc и компилирует все чем надо, так что, если не нужны расширенные возможности nvcc , то на его существование можно до поры вообще не обращать внимания. А еще в CUDA SDK есть пригодный для модернизации темплейт проекта, так что пока у nvidia все user-friendly.


 

Member
Статус: Не в сети
Регистрация: 14.08.2008
Всё правильно говоришь, я тоже просто скачал SDK и Toolkit и открыл готовый сэмпл проекта 2008 студией и стал его модифицировать. Всё прекрасно компилируется и работает.


 

Member
Статус: Не в сети
Регистрация: 17.10.2005
А у меня компилиться ничего стало, всегда получается вот что:
Код:
1>"C:\Program Files\CUDA\Toolkit\bin\nvcc.exe"   -arch sm_10 -ccbin "C:\Program Files (x86)\Microsoft Visual Studio 9.0\VC\bin" -deviceemu -D_DEVICEEMU   -Xcompiler "/EHsc /W3 /nologo /Od /Zi   /MTd  " -IC:\Program Files\CUDA\Toolkit\include -I../../common/inc -maxrregcount=32  --compile -o x64\EmuDebug\clock.cu.obj clock.cu
1>nvcc fatal   : A single input file is required for a non-link phase when an outputfile is specified
1>Linking...
1>LINK : fatal error LNK1181: cannot open input file '.\x64\EmuDebug\clock.cu.obj'

кто-нибудь знает решение проблемы?
------------------------
а вот и решение - для тех у кого в пути к SDK есть пробелы: http://notonlyzeroesandones.site40.net/tag/pythonpath/


 

Member
Статус: Не в сети
Регистрация: 14.08.2008
Delin писал(а):
Microsoft Visual Studio 9.0

Delin писал(а):
--compile -o x64\EmuDebug\clock.cu.obj clock.cu


Я так понимаю что у Вас девятая студия и 64 битная ОС ? У меня восьмая и 32 битная ХР. Так что воспроизвести ситуацию у себя не могу.

Delin писал(а):
x64\EmuDebug\clock.cu.obj clock.cu


Конфигурация EmuDebug(как и EmuRelease) компилится под центральный процессор.

Попробуйте скомпилировать конфигурацию Release(или Debug), она будет компилиться под GPU.

_________________
Разработчик бенчмарка CUDA Factorial Benchmark.


 

Member
Статус: Не в сети
Регистрация: 17.10.2006
Откуда: old school
Фото: 14
Узнал, что ВМК МГУ совместно с nvidia проводит сейчас цикл открытых лекций по CUDA. Правда, он почти закончился, всего 3 лекции осталось. Зато пускают всех, подробности - http://groups.google.ru/group/cudacsmsusu?lnk=srg&hl=ru


 

Member
Статус: Не в сети
Регистрация: 14.08.2008
Только вот мне там никак не побывать, я вобщем-то и по мануалам более менее освоил азы. Щас хочу небольшой бенчмарк сделать и выложить, чтобы люди погоняли и статистика результатов накопилась.

А кто что пробовал запрограммировать на CUDA ?
Добавлено спустя 21 минуту, 56 секунд
Кстати там по ссылке звукозаписи лекций есть и прочая полезная инфа.

_________________
Разработчик бенчмарка CUDA Factorial Benchmark.


 

Member
Статус: Не в сети
Регистрация: 17.10.2005
Цитата:
А кто что пробовал запрограммировать на CUDA ?

ну как и все: сложение векторов и перемножение матриц. Насчет правильности перемножения на gpu не уверен, разбираться будут завтра уже. время выполнения 3,69s на cpu и 0,39s на gpu (конфа из профиля). Распаллелил достаточно просто, думаю можно увеличить размерность блоков и гридов (как в примере из SDK) - тогда должно получиться быстрее.


 

Member
Статус: Не в сети
Регистрация: 14.08.2008
Ясно, а я вчера доделал бенч, выложил, вот ссылка http://cp.people.overclockers.ru/cgi-bi ... torial.zip

Программулина считает факториал в 16-ричном виде, сначала делает это используя один поток CPU, потом делает расчет особо тяжеловесных операций на GPU.
Сравнивает полученные скорости и расчитывает получившееся ускорение расчета. Затем предлагает задампить расчитанный факториальчик в файл.

На профильной конфигурации прирост скорости становится заметным начиная примерно с 5000! .

Сделал топик в разделе Бенчмаркинг http://forums.overclockers.ru/viewtopic.php?p=6094961

_________________
Разработчик бенчмарка CUDA Factorial Benchmark.


 

Member
Статус: Не в сети
Регистрация: 17.10.2006
Откуда: old school
Фото: 14
Мы хотим решать на сетках уравнения Эйлера и Навье-Стокса. Пока вожусь с предпроцессором.


 

Member
Статус: Не в сети
Регистрация: 14.08.2008
anwjl писал(а):
Мы хотим решать на сетках уравнения Эйлера и Навье-Стокса. Пока вожусь с предпроцессором.


Мне это мало о чем говорит, у меня другое направление, в основном то, что связано с дискретной математикой, теорией сложности алгоритмов(кафедра информатики).


Показать сообщения за:  Поле сортировки  
Начать новую тему Новая тема / Ответить на тему Ответить  Сообщений: 11 
-

Часовой пояс: UTC + 3 часа


Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 2


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Перейти:  
Создано на основе phpBB® Forum Software © phpBB Group
Русская поддержка phpBB | Kolobok smiles © Aiwan