Upload
maisie-nicholson
View
99
Download
13
Embed Size (px)
DESCRIPTION
Применение конвертируемых режимов адресации для повышения производительности сопроцессоров цифровой обработки сигналов в составе многоядерной СнК. Пантелеев Алексей Юрьевич Шагурин Игорь Иванович. Национальный исследовательский ядерный университет «МИФИ». Введение. - PowerPoint PPT Presentation
Citation preview
Применение конвертируемых режимов адресации для повышения
производительности сопроцессоров цифровой обработки сигналов в составе
многоядерной СнК
Пантелеев Алексей ЮрьевичШагурин Игорь Иванович
Национальный исследовательский ядерный университет «МИФИ»
2
• DSP-процессоры поддерживают специальные режимы адресации– Пост-инкремент (обработка массивов данных)– Адресация по модулю (кольцевой буфер)
• Такие режимы повышают производительность• В векторных процессорах не используются– Вектора заменяют циклы и пост-инкремент– Простые режимы адресации:
• С заданным шагом: VecA[N] = Mem[Base + N * Step]• Косвенная векторная: VecA[N] = Mem[VecB[N]]
Введение
3
• Простое БПФ по основанию 2:– Бит-реверсная перестановка отсчетов– Транспонирование в пространстве {0,1}N
• БПФ как двумерное разложение:– Бит-реверсная перестановка векторов– Транспонирование двумерной матрицы
• Свертка и корреляция:– Адресация векторов по некратному смещению
Адресация в алгоритмах DSP
4
• Формы доступа к данным в алгоритмах DSP плохо согласуются с тем, что поддерживается векторными процессорами:– Быстрое транспонирование требует поддержки
косвенной векторной адресации либо произвольной перестановки данных в регистрах
– Свертка требует загрузки векторных регистров на каждой итерации алгоритма
– Вычисление векторов адресов требует дополнительных ресурсов процессора
Проблема
5
• Векторная память с несколькими банками– Число банков соответствует числу вычислительных
конвейеров– По аналогии с разделяемой памятью в CUDA/OpenCL
• Один запрос, разные адреса для банков– Реализуются различные режимы доступа– Адреса генерируются аппаратно в соответствии с
режимом и настройками – нет необходимости тратить на это инструкции
– Конфликты банков невозможны
Решение
6
Схема блока памяти
SRAMБанк 0
AGU-R #0
AGU-W #0
Сдвиг
SRAMБанк 1
AGU-R #1
AGU-W #1
SRAMБанк N-1
AGU-R #N-1
AGU-W #N-1
Сдвиг
Запрос чтения
Запрос записиД
анны
е дл
я за
писи
Про
чита
нны
е да
нны
е
32
32
32
32
32
32
32
32
32
7
• Инструкции работают с векторами из чисел• Переменная длина вектора– От 1 до 256 векторных элементов– Векторный элемент – «квант» доступа в память
• Вектора называются «регистрами» и находятся в «сегментах»– Регистры размещаются в векторной памяти– Сегмент – независимая область памяти– В инструкциях указывается сегмент и регистр («C12»)– Каждый сегмент имеет свой режим адресации
Программная модель
8
• 5 режимов адресации:– Простой– Скалярный– Сверточный– Матричный прямой– Матричный транспонированный
• Переключение режима меняет представление данных– Не все режимы совместимы друг с другом
Режимы адресации
9
• Первая группа: простой, сверточный, скалярный– Загрузка и выгрузка – только в простом– Скалярный – только для чтения
• Вторая группа: матричные режимы– Загрузка и выгрузка – в любом из двух режимов– Размер матрицы – N * 2k, измерения независимы– «Бесплатное» транспонирование матриц
Режимы адресации
10
Режимы адресации
11
Размещение матриц в памяти
0 1 2 3 4 5 6 70 A0 A1 A2 A3 A4 A5 A6 A71 B7 B0 B1 B2 B3 B4 B5 B62 C6 C7 C0 C1 C2 C3 C4 C53 D5 D6 D7 D0 D1 D2 D3 D44 E4 E5 E6 E7 E0 E1 E2 E35 F3 F4 F5 F6 F7 F0 F1 F26 G2 G3 G4 G5 G6 G7 G0 G17 H1 H2 H3 H4 H5 H6 H7 H0
Адре
саБанки
Прямой матричный режим
12
Размещение матриц в памяти
0 1 2 3 4 5 6 70 A0 A1 A2 A3 A4 A5 A6 A71 B7 B0 B1 B2 B3 B4 B5 B62 C6 C7 C0 C1 C2 C3 C4 C53 D5 D6 D7 D0 D1 D2 D3 D44 E4 E5 E6 E7 E0 E1 E2 E35 F3 F4 F5 F6 F7 F0 F1 F26 G2 G3 G4 G5 G6 G7 G0 G17 H1 H2 H3 H4 H5 H6 H7 H0
БанкиАд
реса
Транспонированный матричный режим
13
Реализация БПФ
–
–
+
–
+W4
0
W41
+
+
– W163*0
W162*0
W161*0
–
+
–
+W4
0
W41
+
+
–
–
W163*0
W162*0
W161*0
–
+
–
+W4
0
W41
+
+
–
–
W163*0
W162*0
W161*0
–
+
–
+W4
0
W41
+
+
–
–
W163*0
W162*0
W161*0
X0
X1
X2
X3
X4
X8
X12
Вектор
Вектор
С0
С1
С2
С3
С4
С8
С12
С15
Транспонирование4х БПФ-4 4х БПФ-4
Схема алгоритма для БПФ-16
14
БПФ в потоковом режиме
A1 A2
A
A
Загрузка
Выгрузка
Вычисление B1 B2
B
B
C1 C2
C
C
A1 A2
A
AT
Загрузка
Выгрузка
Вычисление
AT
A
B
B1
BT
C
C1
CT
BT CT
B2 C2
B C
TЛАТ ≈ 5200 TПЕР
TБПФ
TЛАТ ≈ 7200 TПЕР
С использованием конвертируемых режимов
Без использования конвертируемых режимов
Представлены времена для БПФ-1024 на ВКС с 8 конвейерами
15
Производительность БПФ
64 128 256 512 1024 2048 4096100
1000
10000
100000
305456
7061466
31306698
14378
Вычисление, 4 конвейераВычисление, 8 конвейеровПередача данныхПередача данных * 2
Размерность БПФ
Врем
я вы
полн
ения
, так
ты
При обработке БПФ на сопроцессорах с большим количеством параллельных вычислительных устройств производительность может быть ограничена передачей данных. Применение конвертируемых режимов адресации снижает объем передаваемых данных.
16
NVIDIA GK104
БПФ-процессор на ASIC
ВКС, 8 конв. (1 ГГц)
ВКС, 4 конв. (1 ГГц)
БПФ-процессор на FPGA
ADI TigerSHARC
TI TMS320C674x
1892ВМ5Я (ЭЛВИС )
NM6406 (НТЦ Модуль)
NM6403 (НТЦ Модуль)
1 10 100 1000 10000
9720
2400
640
327
314
66
51
23
17
2.2
Сравнение производительности БПФ
Млн. отсчетов в секунду, лог. масштаб
17
• Предложена система векторной памяти с поддержкой конвертируемых режимов адресации данных
• Плюсы:– Реализуются типичные для DSP формы доступа– «Бесплатное» транспонирование матриц
• Минусы:– Все рабочие данные необходимо хранить в SRAM
большого объема с малым количеством портов– Схемы генерации адресов удлиняют конвейер
Заключение