Оптимизация алгоритмов сигнальной обработки для процессоров с архитектуройЭльбрус Московский Физико-Технический Институт Автор : Павлов Антон Научный руководитель : Логинов Вадим 2008 год
Задачи Повышение эффективности обработки параметров дискретизованных сигналов Реализация алгоритмов, оптимизирующих работу основных функций обработки сигналов (преобразование Фурье, кросс корреляция, конволюция) Применение возможностей архитектуры «Эльбрус» для реализации функций обработки векторов (копирование, умножение, поиск минимума/максимума) Создание специальной версии Elbrus Media Library, оптимизированной для процессоров с архитектурой «Эльбрус»
Возможности архитектуры «Эльбрус» Широкое командное слово -параллелизм на уровне операций - возможность выполнения до двух операций чтения и записи за один такт Команды обработки упакованных форматов данных
Методика оптимизации операций над векторами 1. Упаковка а) Выровненные данные б) Невыровненные данные 2. Использование команд обработки упакованных данных 3. Извлечение результата
Умножение векторов (принцип) 1. Упаковка 2. Умножение 3. Извлечение результата
Умножение векторов (результаты) Такт/элемент Размер элемента, байт Тест производительности:
Поиск минимума (принцип) cmp not and or 1. Упаковка 2. Сравнение 3. Извлечение результата
Поиск минимума (результаты) Такт/элемент Размер элемента, байт Тест производительности:
Кросс-корреляция (принцип)
Кросс-корреляция (результаты) Такт/элемент Байт/ кол-во элементов Тест производительности:
Заключение Оптимизированы основные функции обработки векторов с использованием возможностей архитектуры «Эльбрус». Изучены и внедрены математические методы оптимизации обработки дискретизованного сигнала. Около 50 функций обработки векторов и сигналов протестированы и встроены в пакет Elbrus Media Library.