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

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
dqrest
2 / 2 / 0
Регистрация: 06.01.2012
Сообщений: 114
#1

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

07.06.2013, 14:55. Просмотров 372. Ответов 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++
(в задании нужно было посчитать сумму ряда) #include &lt;iostream&gt; #include &lt;cmath&gt; #include &lt;iomanip&gt; #include &lt;locale&gt; ...

Дайте совет по оптимизации - C++
Необходимо оптимизировать реализацию морского боя. Изначально поле представлял в виде символьного массива, естественно длинной 10х10 ...

Нужен совет по производительности параллельных вычислений - C++
Добрый день. См картинку. В общем, есть два контейнера памяти, это могут быть как простые массивы, так и std::vector/list и пр, не имеет...

Профессионалы программирования дайте совет - C++
Хочу стать отличным программистом. Если честно в школе до 9-го класса учился плохо в 10-11 поднажал чтобы поступить в институт,как бы...

Дайте совет по изучению программирования - C++
читал пару книжек по С++ но не до конца.Сейчас читаю Прата, вроде понимаю все что пишут, но есть упражнения после 11 глав которые зделать...

Дайте совет по продолжению обучения - C++
Сейчас учусь на первом курсе комп.инженерии.Уже прошли делфи- сечас группа учит С++, а мне этот язык показался очень интересным и я усердно...

Разрженные матрицы дайте совет - C++
Здравствуйте, есть вот задание на курсовую: 1. Разреженная матрица С(пxп) хранится по схеме Кнута. Написать программу, которая создает...

Среда разработки. Дайте совет - C++
Подскажите пожалуйста такой момент: я только изучаю ооп, так что пишу под консоль. Сейчас пользуюсь MVS.Все хорошо, но напрягает количество...

Цветной рисунок в С++ консоль, Дайте совет!! - C++
Доброго времени суток! Я новичок в программировании, посему не обессудьте. Вопрос состоит в следующем, создается рисунок в данной...

Дайте совет, куда двигаться дальше - C++
В общем хочу начать с того что 3 года назад я начинал совсем чайником который ничего не понимал в ЭВМ, я очень хотел стать программистом...


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

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

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru