18
Применение конвертируемых режимов адресации для повышения производительности сопроцессоров цифровой обработки сигналов в составе многоядерной СнК Пантелеев Алексей Юрьевич Шагурин Игорь Иванович Национальный исследовательский ядерный университет «МИФИ»

Пантелеев Алексей Юрьевич Шагурин Игорь Иванович

Embed Size (px)

DESCRIPTION

Применение конвертируемых режимов адресации для повышения производительности сопроцессоров цифровой обработки сигналов в составе многоядерной СнК. Пантелеев Алексей Юрьевич Шагурин Игорь Иванович. Национальный исследовательский ядерный университет «МИФИ». Введение. - PowerPoint PPT Presentation

Citation preview

Page 1: Пантелеев  Алексей  Юрьевич Шагурин Игорь Иванович

Применение конвертируемых режимов адресации для повышения

производительности сопроцессоров цифровой обработки сигналов в составе

многоядерной СнК

Пантелеев Алексей ЮрьевичШагурин Игорь Иванович

Национальный исследовательский ядерный университет «МИФИ»

Page 2: Пантелеев  Алексей  Юрьевич Шагурин Игорь Иванович

2

• DSP-процессоры поддерживают специальные режимы адресации– Пост-инкремент (обработка массивов данных)– Адресация по модулю (кольцевой буфер)

• Такие режимы повышают производительность• В векторных процессорах не используются– Вектора заменяют циклы и пост-инкремент– Простые режимы адресации:

• С заданным шагом: VecA[N] = Mem[Base + N * Step]• Косвенная векторная: VecA[N] = Mem[VecB[N]]

Введение

Page 3: Пантелеев  Алексей  Юрьевич Шагурин Игорь Иванович

3

• Простое БПФ по основанию 2:– Бит-реверсная перестановка отсчетов– Транспонирование в пространстве {0,1}N

• БПФ как двумерное разложение:– Бит-реверсная перестановка векторов– Транспонирование двумерной матрицы

• Свертка и корреляция:– Адресация векторов по некратному смещению

Адресация в алгоритмах DSP

Page 4: Пантелеев  Алексей  Юрьевич Шагурин Игорь Иванович

4

• Формы доступа к данным в алгоритмах DSP плохо согласуются с тем, что поддерживается векторными процессорами:– Быстрое транспонирование требует поддержки

косвенной векторной адресации либо произвольной перестановки данных в регистрах

– Свертка требует загрузки векторных регистров на каждой итерации алгоритма

– Вычисление векторов адресов требует дополнительных ресурсов процессора

Проблема

Page 5: Пантелеев  Алексей  Юрьевич Шагурин Игорь Иванович

5

• Векторная память с несколькими банками– Число банков соответствует числу вычислительных

конвейеров– По аналогии с разделяемой памятью в CUDA/OpenCL

• Один запрос, разные адреса для банков– Реализуются различные режимы доступа– Адреса генерируются аппаратно в соответствии с

режимом и настройками – нет необходимости тратить на это инструкции

– Конфликты банков невозможны

Решение

Page 6: Пантелеев  Алексей  Юрьевич Шагурин Игорь Иванович

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

Page 7: Пантелеев  Алексей  Юрьевич Шагурин Игорь Иванович

7

• Инструкции работают с векторами из чисел• Переменная длина вектора– От 1 до 256 векторных элементов– Векторный элемент – «квант» доступа в память

• Вектора называются «регистрами» и находятся в «сегментах»– Регистры размещаются в векторной памяти– Сегмент – независимая область памяти– В инструкциях указывается сегмент и регистр («C12»)– Каждый сегмент имеет свой режим адресации

Программная модель

Page 8: Пантелеев  Алексей  Юрьевич Шагурин Игорь Иванович

8

• 5 режимов адресации:– Простой– Скалярный– Сверточный– Матричный прямой– Матричный транспонированный

• Переключение режима меняет представление данных– Не все режимы совместимы друг с другом

Режимы адресации

Page 9: Пантелеев  Алексей  Юрьевич Шагурин Игорь Иванович

9

• Первая группа: простой, сверточный, скалярный– Загрузка и выгрузка – только в простом– Скалярный – только для чтения

• Вторая группа: матричные режимы– Загрузка и выгрузка – в любом из двух режимов– Размер матрицы – N * 2k, измерения независимы– «Бесплатное» транспонирование матриц

Режимы адресации

Page 10: Пантелеев  Алексей  Юрьевич Шагурин Игорь Иванович

10

Режимы адресации

Page 11: Пантелеев  Алексей  Юрьевич Шагурин Игорь Иванович

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

Адре

саБанки

Прямой матричный режим

Page 12: Пантелеев  Алексей  Юрьевич Шагурин Игорь Иванович

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

БанкиАд

реса

Транспонированный матричный режим

Page 13: Пантелеев  Алексей  Юрьевич Шагурин Игорь Иванович

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

Page 14: Пантелеев  Алексей  Юрьевич Шагурин Игорь Иванович

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 конвейерами

Page 15: Пантелеев  Алексей  Юрьевич Шагурин Игорь Иванович

15

Производительность БПФ

64 128 256 512 1024 2048 4096100

1000

10000

100000

305456

7061466

31306698

14378

Вычисление, 4 конвейераВычисление, 8 конвейеровПередача данныхПередача данных * 2

Размерность БПФ

Врем

я вы

полн

ения

, так

ты

При обработке БПФ на сопроцессорах с большим количеством параллельных вычислительных устройств производительность может быть ограничена передачей данных. Применение конвертируемых режимов адресации снижает объем передаваемых данных.

Page 16: Пантелеев  Алексей  Юрьевич Шагурин Игорь Иванович

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

Сравнение производительности БПФ

Млн. отсчетов в секунду, лог. масштаб

Page 17: Пантелеев  Алексей  Юрьевич Шагурин Игорь Иванович

17

• Предложена система векторной памяти с поддержкой конвертируемых режимов адресации данных

• Плюсы:– Реализуются типичные для DSP формы доступа– «Бесплатное» транспонирование матриц

• Минусы:– Все рабочие данные необходимо хранить в SRAM

большого объема с малым количеством портов– Схемы генерации адресов удлиняют конвейер

Заключение

Page 18: Пантелеев  Алексей  Юрьевич Шагурин Игорь Иванович

18

• Вопросы?

• Адрес для связи: [email protected]

Спасибо за внимание!