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

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

Описание:
Задание 1. Дана спецификация графического процессора:
1. Максимальное число варпов на мультипроцессор: 32
2. Максимальное число блоков на мультипроцессор: 16
3. Максимальное количество 32-х битных регистров на мультипроцессор: 65536
4. Максимальное количество 32-х битных регистров на блок: 65536
5. Максимальное количество 32-х битных регистров на нить: 255
6. Размер разделяемой памяти мультипроцессора (байт): 65536
7. Размер разделяемой памяти блока (байт): 49152
Параметры запускаемой программы:
1. Размер блока: 256
2. Разделяемая память на блок (байт): 20000
1. 32-х битных регистров на нить: 64
Рассчитайте теоретическую заполняемость? Чем она ограничена?

Размер блока: 256 нитей (= 256 / 32 = 8 варпов)
Задание 2. Пусть разделяемая память мультипроцессора поделена на 4-х байтовые слова, и каждое слово по порядку пронумеровано от 1 до N. К словам обращаются нити одного варпа. Нити варпа пронумерованы от 0 до 31. В таблице ниже указано какая нить к какому 4-х байтовому слову обращается.
Номер нити Номер слова
0 32
1 64
2 128
3 256
4 32
5 64
6 128
7 256
8 32
9 64
10 128
11 256
12 32
13 64
14 128
15 256
16 32
17 64
18 128
19 256
20 32
21 64
22 128
23 256
24 32
25 64
26 128
27 256
28 32
29 64
30 128
31 256
Рассчитайте степень конфликта банков данных в данном доступе к разделяемой памяти?
Задание 3. Реализуйте параллельный алгоритм умножения матриц с использованием технологии CUDA с использованием разделяемой памяти. Примените к решению задачи потоки. Реализуйте последовательный алгоритм умножения матриц. Сравните скорость выполнения алгоритмов на данных разных размеров, рассчитайте коэффициент ускорения.

Код программы

#include"cuda_runtime.h"
#include"device_launch_parameters.h"
#ifndefCUDACC
#defineCUDACC
#endif
#include<device_functions.h>

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

Рейтинг@Mail.ru