Москва 2008 Специализированное вычислительное устройство для обработки радиолокационной информации Московский физико-технический институтИнститут точной механики и вычислительной техники имени С. А. Лебедева РАН Д.Д. Николаев, М.Л. Ремизов, А.В. Ростовцев, Чинь Куанг Киен
Постановка задачи Рекурсивное вычисление комплексной 64-мерной матрицы: n = 1, 2,…128
Требования по производительности За 5 секунд необходимо выполнить вычисление матрицы 1728 раз. Вычисления программным способом > 43 мин.
Этапы вычислений Этап Операции и объем вычислений 164х64 MAC 21x64 MAC 31DIV 4w n = -kz n 64 MUL 564х64 MAC
5 Варианты реализации фиксированная запятая: простой алгоритм малый объем оборудования малая производительность проблема диапазона и точности плавающая запятая: сложный алгоритм большая трудоемкость большой объем оборудования большая производительность автоматическое решение проблемы диапазона и точности Выбран вариант с плавающей запятой
6 Формат чисел Порядок 7 разрядов Скрытый бит мантиссы представлен в явном виде Округление только к ближайшему Нет специальных значений Нет денормализованных чисел (при underflow - flush to zero) Предложенный формат: Результат вычисления матрицы R^-1 в нашем формате совпадает с вычисленным в IEEE 754 single
7 Комплексный MAC - Multiply & Accumulate (А + Bi)(C + Di)+ E + Fi
8 Комплексный MAC - Multiply & Accumulate (А + Bi)(C + Di)+ E + Fi C AC BC AC + E BC + F
9 Комплексный MAC - Multiply & Accumulate (А + Bi)(C + Di)+ E + Fi D AD BD AC + E - BD BC + F + AD AC + E BC + F
10 Структурная схема вычислителя
11 Прототип Прототип создан на базе FPGA Virtex-5 xc5vlx330 Использовано Триггера из % LUT из % f = 200 МГц Вычисление одной матрицы < 1 мс Производительность ~6,5 млрд. операций с плавающей запятой в секунду
12 Пути повышения производительности полная конвейеризация использование MAF быстрый алгоритм умножения (без итераций) быстрый алгоритм MAC использование нескольких узлов MACR Эффект - увеличение производительности в 5-10 раз
13 Пути повышения точности увеличение разрядности мантиссы уменьшение количества округлений: одно округление на умножение и сложение одно округление на два умножения и сложение