p 1 , p 2 - MES conference

advertisement
Параллельные вычисления в
кольце гауссовых чисел над
полем Галуа 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)
Download