Вторник, 22.07.2025, 02:27
Приветствую Вас, Гость
[ Новые сообщения · Участники · Правила форума · Поиск · RSS ]
  • Страница 1 из 1
  • 1
Программирование графических процессоров. Вариант 15
engineerklubДата: Воскресенье, 15.05.2022, 11:09 | Сообщение # 1
Генералиссимус
Группа: Администраторы
Сообщений: 34225
Репутация: 0
Статус: Offline
Программирование графических процессоров. Вариант 15

Тип работы: Работа Контрольная
Форматы файлов: Microsoft Word
Сдано в учебном заведении: СибГУТИ

Описание:
Пояснения по выполнению заданий.
Контрольная работа состоит из трёх заданий.
В первом задании контрольной работы дана спецификация мультипроцессора и параметры запуска функции-ядра. Требуется рассчитать теоретическую заполняемость мультипроцессора и указать ограничивающий её фактор, если он есть. При сдаче работы в этом задании кроме ответа на вопрос нужно подробно описать ход решения задачи.
Во втором задании дана таблица, указывающая какая нить варпа к какому четырёхбайтовому слову обращается. Кроме ответа на вопрос, указанный в задании, нужно указать для каждого четырёхбайтового слова, в каком банке данных оно находится.
В третьем задании нужно реализовать один или два алгоритма и проанализировать их с точки зрения производительности или эффективности использования памяти. Все параллельные алгоритмы реализуются с применением технологии CUDA. Ответом на это задания является код рабочей программы/программ, результаты исследования (с указанием оборудования на котором проводились исследования и описанием данных). Если в задании нужно исследовать эффективность доступа к памяти при помощи утилиты nvprof, нужно подобрать подходящие для этого метрики профилирования. В том случае если эффективность доступа к памяти ниже 75%, нужно сформулировать причину низкой эффективности доступа к памяти. Если нужно сравнить производительность двух алгоритмов, следует указать абсолютное время выполнения каждого алгоритма и рассчитать коэффициент ускорения. Все исследования должны проводиться на данных размером не менее 4.500.000 четырёхбайтовых слов (или эквивалент для другого типа данных).

Для того чтобы контрольная работа была зачтена нужно выполнить самостоятельно все три задания, допускаются небольшие недочёты.
Задание 1. Дана спецификация графического процессора:
1. Максимальное число варпов на мультипроцессор: 64
2. Максимальное число блоков на мультипроцессор: 16
3. Максимальное количество 32-х битных регистров на мультипроцессор: 65536
4. Максимальное количество 32-х битных регистров на блок: 65536
5. Максимальное количество 32-х битных регистров на нить: 255
6. Размер разделяемой памяти мультипроцессора (байт): 32768
7. Размер разделяемой памяти блока (байт): 24576
Параметры запускаемой программы:
1. Размер блока: 312
2. Разделяемая память на блок (байт): 5500
1. 32-х битных регистров на нить: 60
Рассчитайте теоретическую заполняемость? Чем она ограничена?
Задание 2. Пусть разделяемая память мультипроцессора поделена на 4-х байтовые слова, и каждое слово по порядку пронумеровано от 1 до N. К словам обращаются нити одного варпа. Нити варпа пронумерованы от 0 до 31. В таблице ниже указано какая нить к какому 4-х байтовому слову обращается.
Номер нити Номер слова
0 28
1 62
2 125
3 252
4 1
5 31
6 61
7 92
8 126
9 157
10 189
11 222
12 28
13 60
14 125
15 252
16 28
17 61
18 124
19 252
20 509
21 1020
22 2044
23 4093
24 253
25 285
26 318
27 349
28 381
29 414
30 445
31 477
Рассчитайте степень конфликта банков данных в данном доступе к разделяемой памяти?

Задание 3. Реализуйте параллельный алгоритм умножения матриц с использованием разделяемой памяти, который подразумевает, что вторая матрица в глобальной памяти хранится в транспонированном виде. Реализуйте последовательный алгоритм умножения матриц. Сравните время выполнения алгоритмов, рассчитайте коэффициент ускорения.

СКАЧАТЬ
 
engineerklubДата: Воскресенье, 15.05.2022, 11:09 | Сообщение # 2
Генералиссимус
Группа: Администраторы
Сообщений: 34225
Репутация: 0
Статус: Offline
Тип работы: Работа Лабораторная
Форматы файлов: Microsoft Word
Сдано в учебном заведении: СибГУТИ

Описание:

Лабораторная работа №1

Задание

1. Прочитайте главы теоретического материала под названиями "Отличия GPU от CPU", "Первая программа на CUDAC", "Алгоритм сложения двух векторов на GPU", "Собы-тия, обработка ошибок и получение информации об устройстве", "Глобальная, локаль-ная и константная память". Ответьте на контрольные вопросы и выполните контроль-ные задания, предложенные в конце этих глав (ответы на контрольные вопросы не нужно включать в отчёт по лабораторной работе).
2. Реализуйте параллельный алгоритм умножения AxV, где A – матрица, V – вектор.
3. Реализуйте параллельный алгоритм умножения VxA, где A – матрица, V – вектор.
4. Постройте графики зависимости времени выполнения алгоритма от размера матрицы и вектора (Размеры матрицы 1000x500, 1000x1000, 1500x1000, 2000x1000, 2000x1500, 2500x1500, 2500x2000).
5. Прочитайте главу "Профилирование программ", ответьте на контрольные вопросы в конце главы (ответы на контрольные вопросы не нужно включать в отчёт по лаборатор-ной работе).
6. Проанализируйте, реализованные алгоритмы при помощи утилиты nvprof на эффек-тивность доступа к глобальной памяти.

Лабораторная работа №2

Задание

1. Прочитайте главу из теоретического материала "Разделяемая память" и ответьте на контрольные вопросы (ответы на контрольные вопросы не нужно включать в отчёт по лабораторной работе).
2. Оптимизируйте алгоритмы, реализованные в лабораторной работе №1 при помощи разделяемой памяти.
3. Постройте графики зависимости времени выполнения алгоритма от размера матрицы и вектора (Размеры матрицы 1000x500, 1000x1000, 1500x1000, 2000x1000, 2000x1500, 2500x1500, 2500x2000).
4. Проанализируйте, реализованные алгоритмы при помощи утилиты nvprof на эффективность доступа к глобальной памяти.

Лабораторная работа №3

Задание

1. Прочитайте главы теоретического материала под названиями "Pinnedmemory" и "Потоки (streams) в CUDA". Ответьте на контрольные вопросы в конце глав (ответы на контрольные вопросы не нужно включать в отчёт по лабораторной работе).
2. Примените потоки для алгоритмов реализованные в лабораторной работе №1.
3. Определите оптимальное количество потоков для матрицы размером 2500x2500 элементов и вектора размером 2500 элементов.

СКАЧАТЬ
 
  • Страница 1 из 1
  • 1
Поиск:

Рейтинг@Mail.ru