Параллельные вычисления в кольце гауссовых чисел над полем Галуа GF(p) Соловьев Роман Александрович Институт проблем проектирования в микроэлектронике ИППМ РАН . Описание и постановка задачи Области применения Скалярное умножение Спектральный анализ Операции с векторами . Модулярная арифметика Позиционная система счисления Система счисления, в которой значение каждой цифры в записи числа зависит от его позиции. Система остаточных классов Для системы взаимно простых чисел p1, p2 , … pn, любое число X из диапазона [0; M), M = p1*p2*…*pn представимо в виде вектора (a1, a2, …, an), где ai = X%pi . p1, … pn – модули системы a1, a2, …, an – остатки числа по заданной системе модулей Параллелизм вычислений Низкая разрядность вычислений Простая реализация арифметических операций Сложность сравнения чисел Сложность определения переполнения Необходимость в преобразователях в /из позиционной системы счисления Поле Галуа Поле Галуа (или по другому Конечное поле) – это поле состоящее из конечного числа элементов над которым определены операции умножения и сложения, которые обладают свойством коммутативности, ассоциативности и содержат элементы «1» != «0». В качестве прототипа объекта распараллеливания рассматриваются операции на множестве комплексных чисел: Операции определены над конечным полем GF(p), частным случаем которого является Умножение комплексных чисел по модулю Традиционное: Предложенное: Пусть p = 4k+1. Выберем w =A+jB, такое что A^2+B^2 = p – некоторое решение уравнения. Каждый элемент кодируется парой взаимооднозначно Важные свойства арифметических операций: Умножение комплексных чисел по модулю (2) данные Прямой преобразователь Арифметическая операция данные Прямой преобразователь данные Прямой преобразователь Арифметическая операция … … … … … … … … … … … Арифмет ическая операция Обратный преобразователь результат Обратное преобразование Коэффициенты рассчитываются на этапе проектирования Операция деления здесь определена как операция обратная умножению Численный пример P = 97 = 24*4+1 Выберем Предварительный расчет коэффициентов Коэффициенты прямого преобразования: Коэффициенты обратного преобразования: Численный пример (2) Сложим и умножим два числа: Прямое преобразование Сложение Умножение Обратное преобразование Схема операции умножения ReA ImA ReB vA ImB vB v’A v’B X X X X % % ReX ImX X X % % vX v’X + Меньшее число арифметических операций + Меньшая размерность промежуточных данных - Дополнительные преобразователи на входе и выходе устройства Экспериментальные результаты Площадь схемы в зависимости Задержка критического пути от значения модуля в зависимости от значения модуля традиционный комплексный модулярный умножитель умножитель в кольце G(p)