Форум: "Прочее";
Текущий архив: 2010.08.27;
Скачать: [xml.tar.bz2];
ВнизФорумы по CUDA на русском Найти похожие ветки
← →
Vitalii_____ (2010-05-29 20:30) [0]Доброе время суток!
Может кто CUDA занимался?
Прежде чем штурмовать английские форумы, хотелось бы на родном пообщаться.
Есть проблема, не могу разобраться с отладочным режимом - он почему-то в функцию ядра не попадает а в нормальном режиме она подвисает. Вроде как в режиме эмуляции программа должна становиться обычной многопоточной, но он как бы игнорирует строчку с вызовом кернела.
Посоветуйте, где лучше поподробнее раскрыть проблему?
← →
xayam © (2010-05-29 22:18) [1]http://rutracker.org/forum/viewtopic.php?t=2836681
http://biblio-globus.ru/description.aspx?product_no=9529809
Не?
← →
Виталий____ (2010-05-31 11:09) [2]
> xayam
Лекции обязательно гляну, как домой приду а вот книжку не знаю, что-то мне подсказывает, что это их programming guide, только переведенный.
Думаю, что-то прояснится, когда посмотрю что в МГУ читали.
Вообще, моя задача не раз поднималась - хорошо всем знакомые нейросети и трудность тут в том, что мы должны разложить на наш "видео-кластер" задачу функции от вектора и умножение вектора на матрицу. Вот было бы матрицу на матрицу и (ура!) на их же sdk получаем 30-ти-60-ти кратную производительность по сравнению с процом, но с вектором не проходит (толком не кешируем в shared память и т.д.). А задачу из-за синхронизаций между слоями тяжело массивно распараллелить.
Поэтому была мысль вспомнить что сеть состоит не из слоев а из нейронов, пожертвовать памятью (800Мб общей памяти видеокарты должно хватить вполне) и реорганизовать структуру вычислений, "утяжелив" нагрузку на потоки при этом сделав "хитрую" синхронизацию.
В этом слове "хитрая" кроется то, что мы тут давно обсуждали и коротко "отладка любого объекта синхронизации очень геморройное дело". На себе испытал, когда распараллеливал алгоритм обучения на проце. Подробнее хотя бы тут:
http://delphimaster.net/view/1-1246595056/
В итоге имеем, если просто выкинуть на видеокарту вычисление функции от вектора и умножение вектора на матрицу - прироста производительности нет (точнее, есть, где-то 2.5 раза на моих тестовых данных, но если учесть что сравнение с однопоточным вариантом, а на моем i530 многопоточный должен дать где-то 2.3 раза от тактовой частоты при 8 потоках, это несерьезно).
Когда же я хочу синхронизировать "своим методом" - кернел просто подвисает и разобраться в этом без отладки весьма не просто :)
К чему все это пишу? А может единомышленников найду :)
← →
MBo © (2010-05-31 13:57) [3]про книжку здесь отзывы есть:
http://rsdn.ru/forum/media/3784630.all.aspx
← →
@!!ex © (2010-05-31 16:06) [4]gamedev.ru
Там есть немного людей занимающихся CUDA.
А почему не OCL, кстати?
← →
@!!ex © (2010-05-31 16:06) [5]gamedev.ru
Там есть немного людей занимающихся CUDA.
А почему не OCL, кстати?
← →
Pavia © (2010-05-31 19:04) [6]А почему не взять готовую реализацию нейронный сетей. помниться на dxdy.ru кто-то писал об успешным использовании.
http://www.gpgpu.ru/forum
← →
Vitalii_____ (2010-05-31 19:16) [7]
> http://rutracker.org/forum/viewtopic.php?t=2836681
Вот, посмотрел, 8-я лекция - это то что надо!
Кстати, книга похоже совсем не то, что я подумал, по описанию
http://www.gpgpu.ru/node/202
совсем другое в ней, и это хорошо.
> А почему не взять готовую реализацию нейронный сетей
Иногда полезно самому разобраться. 1) Необходимо будет адаптировать к своим обучающим данным, гую. 2) Тут нет ничего сложного, как только приходит понимание - приходит и код :)
Вот например в лекциях нашел то, что мне не приходило в голову, 22 слайд если быть точным в 8-й лекции.
Обучение персептрона. Что бы такого распараллелить… Что-то протупил я, есть там умножение матрицы на матрицу, только если обучающие образы не по одному подавать. Так что на ближайшее время (когда оно появится) есть чем заняться. Спасибо за советы!
Страницы: 1 вся ветка
Форум: "Прочее";
Текущий архив: 2010.08.27;
Скачать: [xml.tar.bz2];
Память: 0.48 MB
Время: 0.081 c