Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > C/C++ программирование > Общие вопросы C/C++
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 18.06.2012, 23:50   #1
Glaciuse
Пользователь
 
Регистрация: 22.05.2011
Сообщений: 44
По умолчанию Знающие CUDA, как параллельно запустить несколько ядер?

Есть вопрос, мы запускаем ядро так:
Код:
kernel <<< numBlocks, numThreads>>> (args);
//(1)
при этом, когда CPU дойдет до точки (1) ядро еще не завершит свою работу, т.к. запуск ядра асинхронен, верно ли я понимаю?
Если да, то почему во всех примерах, что я встречал делается вот так:
Код:
kernel <<< numBlocks, numThreads>>> (args);

cudaMemcpy(dst, source, size, cudaMemcpyDeviceToHost);
Т.е. после вызова ядра сразу начинаем копировать данные?

Еще в литературе встречается такой способ:
Код:
kernel <<< numBlocks, numThreads>>> (args);

cudaEvent_t sync_event; 
cudaEventCreate(&sync_event); 
cudaEventRecord(sync_event, 0);       //(2)
cudaEventSynchronize(sync_event); 
// только теперь выполнение функции завершено 

cudaMemcpy(dst, source, size, cudaMemcpyDeviceToHost);
Опять же, sync_event срабатывает как только мы проходим через (2), а это происходит, в случае асинхронности, сразу после запуска ядра, какой в этом тогда смысл?

На случай если я чего-то не понимаю и вызвав ядро, CPU ждет его завершения, то как мне запустить несколько ядер параллельно:
Код:
kernel1 <<< numBlocks1, numThreads1>>> (args1);
kernel2 <<< numBlocks2, numThreads2>>> (args2);
Как это осуществить средствами CUDA ?
Спасибо.
Glaciuse вне форума Ответить с цитированием
Старый 19.06.2012, 19:13   #2
Glaciuse
Пользователь
 
Регистрация: 22.05.2011
Сообщений: 44
По умолчанию

Будьте добры, удалите тему, нашел литературу, со всем разобрался.
Glaciuse вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
[CUDA] параллельный метод бактерий на cuda mamant1 Фриланс 4 13.12.2011 08:27
Как запустить приложение несколько раз? Trip Помощь студентам 2 04.09.2011 18:28
Как запустить несколько копий одной и той же программы? murcot Помощь студентам 4 20.02.2009 11:28
Запустить несколько макросов в одним макросом Neo007 Microsoft Office Excel 2 16.01.2009 15:17