Форум программистов, компьютерный форум CyberForum.ru

CUDA: Как учитывать ограничение в памяти видухи? Дайте совет по идеологии вычислений! - C++

Восстановить пароль Регистрация
 
dqrest
2 / 2 / 0
Регистрация: 06.01.2012
Сообщений: 114
07.06.2013, 14:55     CUDA: Как учитывать ограничение в памяти видухи? Дайте совет по идеологии вычислений! #1
Вопрос 1:
Опишу простую задачу и способ ее решения. Я мануал конечно читал, но мне нужен совет по реализации вычислений на CUDA. Допустим, есть N штук ядер на видухе, есть матрица A, где n-количество строк матрицы(четное количество), а m-количество столбцов матрицы. Нужно сложить попарно строки матрицы А. Предполагается, что N<n.Т.е. на выходе получаем матрицу B, где n/2 - количество строк, m - количество столбцов. Допустим, разделим N штук ядер на несколько групп, например, на 2. Далее видухе поступают первые четыре строки матрицы А, а именно, a[1],а[2] первой группе, a[3],а[4] второй группе. Они складываются, получаем с[1], c[2]. Вот как будут действовать 2 группы ядер. Они будут выполняться параллельно, или сначала отработает первая группа, а затем вторая? Далее аналогично, a[5],a[6] первой группе, a[7],a[8] второй группе. Получаем c[3],c[4]. И т.д.

Вопрос 2:
Какой запас свободной памяти нужно резервировать на видухе для вычислений, 10%, 20%???

Добавлено через 4 часа 19 минут
На первый вопрос я нашел ответы прочитав книгу по CUDA. Оказывается можно. Вычисление сумм будет проводиться параллельно. Каждую пару векторов для вычисления суммы мы отправляем в блоки. Там уже блоки делятся на параллельные нити. И вуаля все ок. Книгу читаю дальше, нужно найти ответ на второй вопрос.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
07.06.2013, 14:55     CUDA: Как учитывать ограничение в памяти видухи? Дайте совет по идеологии вычислений!
Посмотрите здесь:

C++ Дайте совет :)
C++ Дайте совет по изучению программирования
Дайте совет по оптимизации C++
Разрженные матрицы дайте совет C++
Среда разработки. Дайте совет C++
C++ Профессионалы программирования дайте совет
Дайте совет C++
Дайте совет по продолжению обучения C++

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
alexanderks
Сообщений: n/a
17.06.2013, 22:13     CUDA: Как учитывать ограничение в памяти видухи? Дайте совет по идеологии вычислений! #2
собственно зачем что то резервировать? ты просто загружаешь то, что нужно посчитать и запускаешь на счет. Если памяти хватает, то все ок. Узнать сколько памяти можно через cudaDevProp (как то так). Я уже давно это изучил, так что можешь спрашивать что хочешь). А в первом вопросе - не нужно думать о том. что параллельно, а что нет, просто запускаешь столько блоков, сколько нужно и оно считается. В данном случае нужно будет запустить двухмерную сетку блоков, чтобы сложить всю матрицу сразу.
Yandex
Объявления
17.06.2013, 22:13     CUDA: Как учитывать ограничение в памяти видухи? Дайте совет по идеологии вычислений!
Ответ Создать тему
Опции темы

Текущее время: 23:18. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru