|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
15.04.2014, 13:34 | #1 |
Регистрация: 10.04.2014
Сообщений: 4
|
ИСпользование CUDA
Товарищи, может кто-нибудь разбирается в технологии CUDA и может дать совет новичку вт этом деле. Пишу самую простую программу поэлементного перемножения 2-х комплексных векторов и сравниваю скорость работы кода.
Программа, в которой вычисление производится CPU: Код:
Код:
Снимок.JPG Подскажите должно ли так быть(или я что=то делаю неправильно?) и почему? Заранее спасибо за помошь!!! P.S. Видеокарта NDIVIA GeForse GTX 650 проц Intel Core™ 2 VS2012 CUDA Tollkit 5.5 |
15.04.2014, 21:17 | #2 |
C/C++, Asm
Участник клуба
Регистрация: 02.03.2010
Сообщений: 1,323
|
думаю результат правильный.
самая медленная операция - пересылка данных. значения N небольшие данные пересылаются два раза неудивительно, что CPU тут быстрее. я бы ожидал, что для таких объемов работ результат на видиокарте был одинаковым для всех N. Последний раз редактировалось f.hump; 15.04.2014 в 21:26. |
16.04.2014, 10:23 | #3 |
Регистрация: 10.04.2014
Сообщений: 4
|
Дополнил таблицу.
Получается увеличивая N мне не добиться повышения производительности? Все время съедает операция копирования в память GPU. Измерил время выполнения только ядра (без операции копирования, для N=8 388 608) получилось всего 12 мс!!! Может быть так, что я как-то неправильно(неоптимально) запускаю ядро? (неверно выбираю размер блоков и грида?) Снимок.JPG |
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
CUDA | Animal_juice | Visual C++ | 8 | 22.12.2011 20:12 |
[CUDA] параллельный метод бактерий на cuda | mamant1 | Фриланс | 4 | 13.12.2011 08:27 |
CUDA | Kukurudza | Свободное общение | 7 | 07.11.2011 17:53 |
MiniGW и Cuda | bondik | Общие вопросы C/C++ | 0 | 14.09.2011 23:09 |
CUDA | dxdy | Свободное общение | 3 | 29.10.2010 20:17 |