engineerklub | Дата: Четверг, 20.04.2023, 11:50 | Сообщение # 1 |
 Генералиссимус
Группа: Администраторы
Сообщений: 34196
Статус: 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. Реализуйте параллельный алгоритм транспонирования матриц и параллельный алгоритм умножения матриц, который подразумевает, что вторая матрица хранится в транспонированном виде без использования разделяемой памяти. Реализуйте последовательный алгоритм умножения матриц. Сравните время работы умножения по схеме (параллельное транспонирование + параллельное умножение) и время работы последовательного умножения матриц. Рассчитайте коэффициент ускорения.
СКАЧАТЬ
|
|
| |