Воскресенье, 20.07.2025, 23:00
Приветствую Вас, Гость
[ Новые сообщения · Участники · Правила форума · Поиск · RSS ]
  • Страница 1 из 1
  • 1
Программирование графических процессоров.
engineerklubДата: Четверг, 20.04.2023, 11:50 | Сообщение # 1
Генералиссимус
Группа: Администраторы
Сообщений: 34196
Репутация: 0
Статус: Offline
Программирование графических процессоров. 

Тип работы: Работа Лабораторная
Сдано в учебном заведении: ДО СИБГУТИ

Описание:
Лаб 1:
1. Реализуйте параллельный алгоритм умножения AxV, где A – матрица, V – вектор.
2. Реализуйте параллельный алгоритм умножения VxA, где A – матрица, V – вектор.
3. Постройте графики зависимости времени выполнения алгоритма от размера матрицы и вектора (Размеры матрицы 1000x500, 1000x1000, 1500x1000, 2000x1000, 2000x1500, 2500x1500, 2500x2000).
4. Проанализируйте, реализованные алгоритмы, при помощи утилиты nvprof на эффективность доступа к глобальной памяти.

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

Лаб 3:
1. Примените потоки для алгоритмов реализованные в лабораторной работе №1.
2. Определите оптимальное количество потоков для матрицы размером 2500x2500 элементов и вектора размером 2500 элементов.

Контрольная
Задание 1. Дана спецификация графического процессора:
1. Максимальное число варпов на мультипроцессор: 64
2. Максимальное число блоков на мультипроцессор: 16
3. Максимальное количество 32-х битных регистров на мультипроцессор: 65536
4. Максимальное количество 32-х битных регистров на блок: 65536
5. Максимальное количество 32-х битных регистров на нить: 255
6. Размер разделяемой памяти мультипроцессора (байт): 32768
7. Размер разделяемой памяти блока (байт): 24576
Параметры запускаемой программы:
1. Размер блока: 200
2. Разделяемая память на блок (байт): 5500
1. 32-х битных регистров на нить: 23
Рассчитайте теоретическую заполняемость? Чем она ограничена?
Задание 2. Пусть разделяемая память мультипроцессора поделена на 4-х байтовые слова, и каждое слово по порядку пронумеровано от 1 до N. К словам обращаются нити одного варпа. Нити варпа пронумерованы от 0 до 31. В таблице ниже указано какая нить к какому 4-х байтовому слову обращается.
Номер нити Номер слова
0 19
1 55
2 116
3 245
4 1
5 24
6 52
7 85
8 117
9 150
10 179
11 215
12 19
13 53
14 116
15 245
16 19
17 54
18 115
19 245
20 500
21 1013
22 2035
23 4086
24 244
25 278
26 309
27 342
28 372
29 407
30 436
31 470
Рассчитайте степень конфликта банков данных в данном доступе к разделяемой памяти?
Задание 3. Реализуйте параллельный алгоритм транспонирования матриц и параллельный алгоритм умножения матриц, который подразумевает, что вторая матрица хранится в транспонированном виде без использования разделяемой памяти. Реализуйте последовательный алгоритм умножения матриц. Сравните время работы умножения по схеме (параллельное транспонирование + параллельное умножение) и время работы последовательного умножения матриц. Рассчитайте коэффициент ускорения.

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

Рейтинг@Mail.ru