Бычков Игорь Вячеславович - Институт динамики систем и теории управления СО РАН, e-mail: [email protected]; 664033, ул. Лермонтова, 134, г. Иркутск; тел.: 83952427100, 83952510184, факс: 83952511616; академик РАН; д.т.н.; профессор; директор.
Опарин Геннадий Анатольевич - e-mail: [email protected]; тел.: 83952453061, 83952429006, факс: 83952511616; зам. директора по научной работе; д.т.н.; профессор.
Феоктистов Александр Геннадьевич - e-mail: [email protected]; тел.: 83952453154, 83952350864; с.н.с.; к.т.н.; доцент.
Богданова Вера Геннадьевна - e-mail: [email protected]; тел.: 83952453093, 83952510039; с.н.с.; к.т.н.; доцент.
Пашинин Антон Алексеевич - e-mail: [email protected]; тел.: 83952453017, 83955678309; аспирант.
Bychkov Igor Vyacheslavovich - Institute for System Dynamics and Control Theory of SB RAS; e-mail: [email protected]; 134, Lermontova street, Irkutsk, 664033, Russia; phones: +73952427100, +73952510184, fax: +73952511616; academician of RAS; dr. of eng. sc.; professor; director.
Oparin Gennady Anatoljevich - e-mail: [email protected]; phones: +73952453061, +73952429006, fax: +73952511616; deputy director for science; dr. of eng. sc.; professor.
Feoktistov Alexander Gennadjevich - e-mail: [email protected]; phones: +73952453154, +73952350864; senior researcher; cand. of eng. sc.; associate professor.
Bogdanove Vera Gennadjevna - e-mail: [email protected]; phones: +73952453093, +73952510039; senior researcher; cand. of eng. sc.; associate professor.
Pashinin Anton Alekseevich - e-mail: [email protected]; phone: +73952453017, +73955678309; postgraduate student.
УДК 004.383.4
В.Ф. Гузик, С.М. Гушанский, Е.С. Кубраков
АППАРАТНЫЙ ПОДХОД К МОДЕЛИРОВАНИЮ КВАНТОВЫХ ВЫЧИСЛЕНИЙ С ИСПОЛЬЗОВАНИЕМ АЛГОРИТМА ОПТИМИЗАЦИИ
Рассмотрен аппаратный подход к моделированию квантовых вычислений, а также описана общая математическая модель работы квантового компьютера и приведена методика математического моделирования квантовых вычислений. На этапе рассмотрения методики математического моделирования указываются наиболее ресурсоемкие для реализации участки модели. Также были рассмотрены вопросы, связанные с распараллеливанием данных на аппаратном ускорителе, который планируется использовать для моделирования квантовых вычислений, и приведены алгоритмы работы такого типа ускорителя. Предложен более компактный формат данных, который рекомендуется использовать при реализации ускорителя. Используя предложенные формат, можно уменьшить ресурсы, затрачиваемые на элементарные арифметические операции. Предложена возможность внедрения алгоритма оптимизации для минимизации временных затрат при вычислениях, а также ускорения выполнения квантовых алгоритмов в симуляторах квантового компьютера на этапе воздействия квантовых вентилей на модель квантового регистра. Приведены результаты работы алгоритма оптимизации и его сравнение с классическим математическим подходом при помощи программной модели.
Квантовый компьютер; моделирование квантовых вычислений; аппаратный ускоритель; алгоритм оптимизации.
V.F. Guzik, S.M. Gushansky, E.S. Kubrakov
A HARDWARE APPROACH FOR QUANTUM COMPUTER MODELING USING OPTIMIZATION ALGORITHM
A hardware approach for the quantum computing modeling was considered. A common mathematical model of the quantum computer was described; a methodic of mathematical modeling of the quantum computing was shown. During the mathematical methodic description the most resource-intensive parts of the model are allocated. Considered questions connected with data parallelizing with a hardware accelerator, which is used for quantum computer modeling. A common scheme of the accelerator's work algorithm was shown. Suggested more compact data format for accelerator implementation, that will reduce time costs spent by elementary arithmetic operations. Proposed the use of the optimization algorithm for data minimization during the calculations in the phase of transforming model of quantum register with quantum gates in quantum computer simulators. Shown results of optimization algorithm execution and compared results with classic mathematical approach.
Quantum computer; quantum computer modeling; hardware accelerator; optimization algorithm.
В последние несколько десятков лет остро стоит проблема по созданию квантового компьютера, использующего для вычислений квантомеханические эффекты. В настоящее время имеются прототипы устройств данного класса, но добиться эффективного решения запланированных задач с их помощью пока не представляется возможным из-за ряда сложностей в реализации. Однако существует математический аппарат, описывающий поведение квантовых частиц при помощи волновой функции. Отсюда возникает возможность моделирования квантовых вычислений на классической архитектуре и проверки достоверности алгоритмов [1], относящихся к классу NP, которые теоретически выполняются на квантовом компьютере за полиномиальное время и которые невозможно решить на классических компьютерах в приемлемые сроки.
Эффективно промоделировать работу квантовой системы на устройствах с классической архитектурой невозможно, остается предлагать методики [2] для ускорения квантовых вычислений на классических системах.
Единицей информации в квантовом компьютере является кубит [3]. Физически кубит может быть реализован, используя электроны, ионные ловушки или молекулы. Информация хранится с использованием спина или поляризации данных частиц.
При моделировании квантовых вычислений используются такие понятия, как квантовый регистр и квантовые вентиль. Квантовый регистр является абстракцией структуры, хранящей квантовые состояния. При симуляции квантовый регистр представляют в виде вектора-столбца, причем отношение
, (1) где n - количество кубитов, определяет размерность данного вектора состояний. Квантовые вентили являются обратимыми преобразованиями, которые воздействуют на квантовый регистр и изменяют его.
Далее рассмотрим общую методику моделирования квантовых вычислений [4]. Пусть имеется модель квантового регистра из 3-х кубит (под квантовым регистром следует понимать ОЗУ для хранения амплитуд и фаз состояний).
Перед началом работы необходимо проинициализировать модель квантового регистра. Под инициализацией следует понимать процесс перевода регистра в определенное состояние, амплитуда которого равняется 1. Иначе можно сказать, что при измерении регистра имеем вероятность 100 % получить на выходе именно это состояние. Этот этап соответствует созданию следующего вектора-столбца (так как мы используем формализм матричной квантовой механики):
111 110 101
^ СДе^ег =
010 001 ООО
А
о о о о
о
7 6 5 4 3 2 1 О
Рис. 1. Инициализация модели квантового регистра
В следующем шаге при моделировании необходимо создать матрицу преобразования, соответствующую воздействию на квантовый регистр. Такие воздействия называются квантовыми вентилями, или гейтами. Вентили разделяются на однокубитовые, двухкубитовые, трехкубитовые и гейты, применяющиеся ко всему регистру. Одним из примеров однокубитового вентиля является вентиль Адамара [4], матрицу преобразования которого в случае регистра из одного кубита можно представить следующим образом:
«= л ЕЛ! (2)
Для двухкубитовых вентилей матрица будет соответственно размером , для трехкубитовых 8x8 и в общем случае для п-ку6итового квантового гейта матрица будет иметь размеры .
Перед воздействием гейтом Адамара нужно расширить матрицу до
, чтобы воздействовать на регистр. Воздействие моделируется при помощи перемножения матрицы преобразования и вектора столбца. Расширение матрицы достигается путем тензорного перемножения матрицы преобразования на единичную матрицу 2 х 2 . Допустим, мы хотим применить гейт Адамара на 2-й кубит, для этого конструируется следующая матрица преобразований:
Н2 = Е ®Н ®Е,
1 0 1 0 0 0 0 0
0 1 0 1 0 0 0 0
1 0 -1 0 0 0 0 0
0 1 0 -1 0 0 0 0
0 0 0 0 1 0 1 0
0 0 0 0 0 1 0 1
0 0 0 0 1 0 -1 0
0 0 0 0 0 1 0 -1
(3)
Далее мы производим воздействие или перемножаем матрицу преобразования и вектор-столбец, соответствующий квантовому регистру:
1
V!
1 0 1 0 0 0 0 0
0 1 0 1 0 0 0 0
1 0 -1 0 0 0 0 0
0 1 0 -1 0 0 0 0
0 0 0 0 1 0 1 0
0 0 0 0 0 1 0 1
0 0 0 0 1 0 -1 0
0 0 0 0 0 1 0 -1
А
о о о о
о
VI
0
1
л о о
о
(4)
После ряда таких воздействий нам необходимо произвести измерение квантового регистра. В случае с реальным квантовым вычислением при измерении происходит коллапс волновой функции. Это означает, что квантовый регистр пе-
реходит в одно единственное состояние со 100 %-ной вероятностью. Данная операция является необратимой, в отличие от воздействий на регистр при помощи квантовых гейтов.
В случае с моделью мы производим следующий ряд действий:
Получаем вероятность Рис. 2. Действия при измерении квантового регистра
То есть при измерении амплитуды вначале возводятся в квадрат для получения вероятностей состояний. Далее мы считаем, что число с наибольшей вероятностью является истинным результатом.
Если рассматривать общую методику моделирования квантовых вычислений с позиции аппаратного ускорителя [5, 6], то можно сразу использовать те преимущества, которые дает аппаратура.
Первое, с чего стоит начать - это тип используемых данных. Моделирование квантовых вычислений предполагает работу с комплексными числами, что с программной точки зрения осуществимо только при помощи расширения примитивов данных. В аппаратуре идет похожий подход, однако мы можем ориентировать ускоритель на параллельную обработку данных действительной и мнимой частей комплексного числа.
Во-вторых, при создании ускорителя мы можем удобным способом использовать не стандартизированные типы данных [7]. Однако мы можем заметить, что числа хотя и являются комплексными, но сохраняется ограничение [4], при котором ни одно из чисел не может быть больше 1. Используя это ограничение, можно представить свой формат данных:
Вещественная часть
Мнимая часть
N-1 N-2 N-3
N-1 N-2 N-3
Знак Целая часть
Знак Целая
Дробная часть часть Дробная часть
Рис. 3. Представление комплексных чисел внутри ускорителя
Далее необходимо оптимизировать работу по вычислению матрицы преобразования, так как данный участок вычислений является наиболее ресурсоемким. Для этого можно использовать следующий алгоритм [8], который также используется в качестве оптимизации в программных моделях:
0
0
000
1 О О ООО
-10 0 0 10 О О 1 0 10 0 0 1
ооо Ш ООО о
О 0 1/04
л
Рис. 4. Пояснение алгоритма оптимизации
Суть алгоритма заключается в отыскании последовательности тех состояний, на которые будет воздействовать однокубитовый вентиль. Схему для трех кубитов можно представить как
Рис. 5. Последовательность выбора состояний в зависимости от кубита
Исходя из вышеперечисленных утверждений, можно представить следующий алгоритм для увеличения производительности модели квантового компьютера для однокубитовых операций в виде блок-схемы, показанной на рис. 6.
В начале алгоритма воздействия однокубитового вентиля с оптимизацией, представленного на рис. 6, производится инициализация модели квантового регистра, что представляет собой установку амплитуды со значением 1 для одного из состояний регистра. Далее происходит вычисление бинарного индекса кубита (qubit_binary_index), который представляет число с установленной единицей в разряде, соответствующем номеру кубита, на который производится воздействие. Затем в цикле происходит обход состояний модели квантового регистра и выборка пары состояний для осуществления воздействия вентиля. Для правильной выборки используется переменная маска (qubit_mask), которая при помощи операции конъюнкции фильтрует значения (индексы состояний) таким образом, чтобы соблюдалась последовательность выборки пар состояний, обозначенная соединительными линиями на рис. 5. После обхода всех состояний алгоритм завершается.
Гейт воздейсвует на
1-ый кубит
2-ой кубит 3-ий кубит
Рис. 6. Блок-схема алгоритма воздействия однокубитового вентиля, используя
оптимизацию
Далее рассмотрим случай применения контролируемого двухкубитового квантового вентиля. Так же, как и в случае с однокубитовыми квантовыми вентилями, размер модели квантового регистра не влияет на результативность алгоритма. Для того чтобы описать всевозможные комбинации контролируемых двухку-битовых вентилей, воспользуемся определением контролируемого ^ где U - это матрица 2 х 2, соответствующая модели обратимого однокубитового преобразования. Пример выборки состояний представлен следующим образом:
контролирующий - 1-ый кубит контролирующий - 1-ый кубит контролирующий - 3-ий кубит
контролируемый - 2-ый кубит контролируемый - 3-ий кубит контролируемый - 2-ой кубит
000 000 000
001 д 00К 001
010 ) 010 \ 010
0117 /011 011
100 / 100 у 100
101 Л 10И /- 101 110 \ 110 110 111 ^ мп V111
Рис. 7. Пример выборки состояний для двухкубитового универсального контролируемого вентиля
Данная выборка состояний похожа на ту, что была представлена на рис. 5. Зависимость при выборке пар состояний для двухкубитового контролируемого вентиля может быть отражена с небольшим изменением представленного выше алгоритма.
Рис. 8. Блок-схема алгоритма воздействия двухкубитового контролирующего вентиля, используя оптимизацию
Как видно из блок-схемы на рис. 8, в случае двухкубитового контролируемого квантового вентиля имеем две переменные, хранящие бинарные индексы контролирующего и контролируемого кубитов (control_qubit_binary_index и controИed_quЫt_bmary_mdex). При обходе состояний квантового регистра так же, как и случае с однокубитовыми квантовыми вентилями, выбираются пары состояний. За правильность выборки отвечают две переменные (control_qubit_mask и contoИed_quЫt_mask), которые устанавливаются при помощи операции конъюнкции между текущим индексом состояния и бинарным индексом одного из кубитов, участвующих в преобразовании. Также можно проследить отличие алгоритма воздействия двухкубитового вентиля в количестве переменных масок. Остальные части алгоритма, которые осуществляют непосредственную выборку по сформированным индексам состояний из модели квантового регистра и осуществление преобразования, остаются неизменными.
Без оптимизации мы вынуждены производить одно воздействие на квантовый регистр за время 0(24" + 23") и использовать 0(22" + 2") ячеек памяти, п -количество кубит. С оптимизацией количество операций становится равным 0(2И_1), а объем памяти составляет 0(2"). Данный алгоритм хотя и входит в класс ОТ-сложных алгоритмов, однако его использование предпочтительно [9, 10].
Рис. 9. Результаты моделирования
Таким образом, при использовании данного алгоритма в качестве ядра симу-
лятора можно увеличить производительность моделирования более чем в 100 раз
для модели квантового регистра, состоящей более чем из десяти кубитов.
БИБЛИОГРАФИЧЕСКИЙ СПИСОК
1. Shor P. Algorithms for quantum computation: discrete logarithms and factoring // Foundations of Computer Science: Conference Publications. - 1994. - P. 124-134.
2. Гузик В.Ф., Гушанский С.М., Евсеев О.К. Классификация архитектурных подходов к реализации моделей квантовых вычислителей // Высокопроизводительные вычислительные системы. Труды молодых ученых ЮФУ и ЮНЦ РАН. - Таганрог: Изд-во ТТИ ЮФУ, 2011. - С. 26-31.
3. SchumacherB. Quantum coding // Phys. Rev. - 1995. - Vol. A51 (4). - P. 2738-2747.
4. Валиев К., Кокин А. Квантовые компьютеры: надежды и реальность. - Ижевск: РХД, 2004. - 320 с.
5. Гузик В.Ф., Гушанский С.М., Кубраков Е.С. Аппаратный подход для моделирования квантовых вычислений // Материалы тринадцатого Международного научно-практического семинара «Практика и перспективы развития партнерства в сфере высшей школы»: в 3 кн. Кн. 2. - Таганрог: Изд-во ТТИ ЮФУ. - 2012. - № 12. - С. 49-57.
6. Кубраков Е.С. Аппаратные стратегии моделирования квантового компьютера // Х Ежегодная научная конференция студентов и аспирантов базовых кафедр Южного научного центра РАН: тезисы докладов (г. Ростов-на-Дону, 14-29 апреля 2014 г.). - Ростов-на-Дону: Изд-во ЮНЦ РАН, 2014. - С. 71-72.
7. KhalidA.U. FPGA Emulation of Quantum Circuits: master of Computer Engineering thesis: 31.10.2005 // Khalid Ahmed Usman; McGill University. - 2005. - 73 p.
8. Richter M., Arnold G., Trieu B., Lippert T. Massively Parallel Quantum Computer Simulations: Towards Realistic Systems // John von Neumann Institute for Computing, NIC series. -2007. - Vol. 38. - P. 61-68.
9. Гузик В.Ф., Гушанский С.М., Кубраков Е.С. Ускорение моделирования квантовых вычислений с помощью алгоритма оптимизации // Сб. тр. XI Всероссийской научной конференции молодых ученых, аспирантов и студентов "Информационные технологии, системный анализ и управление - ИТСАиУ-2013". - Таганрог: Изд-во ЮФУ, 2013. - Т. 1. - С. 15-20.
10. Гузик В.Ф., Гушанский С. М., Кубраков Е.С. Алгоритм для оптимизации воздействий квантовых вентилей при моделировании работы квантового компьютера // Информатизация и связь. - 2014. - № 2. - С. 39-42.
REFERENCES
1. Shor P. Algorithms for quantum computation: discrete logarithms and factoring, Foundations of Computer Science: Conference Publications, 1994, pp. 124-134.
2. Guzik V.F., Gushanskiy S.M., Evseev O.K. Klassifikatsiya arkhitekturnykh podkhodov k realizatsii modeley kvantovykh vychisliteley [Classification of architectural approaches to implementing models of quantum computing], Vysokoproizvoditel'nye vychislitel'nye sistemy. Trudy molodykh uchenykh YuFU i YuNTs RAN [High-performance computing systems. Proceedings of young scientists SFU, RAS southern research center]. Taganrog: Izd-vo TTI YuFU, 2011, pp. 26-31.
3. SchumacherB. Quantum coding, Phys. Rev, 19956 Vol. A51 (4), pp. 2738-2747.
4. Valiev K., Kokin A. Kvantovye komp'yutery: nadezhdy i real'nost' [Quantum computers: hopes and reality]. Izhevsk: RKhD, 2004, 320 s.
5. Guzik V.F., Gushanskiy S.M., Kubrakov E.S. Apparatnyy podkhod dlya modelirovaniya kvantovykh vychisleniy [A hardware approach for modeling quantum computing], Materialy trinadtsatogo Mezhdunarodnogo nauchno-prakticheskogo seminara «Praktika i perspektivy razvitiya partnerstva v sfere vysshey shkoly» [The materials of the thirteenth International scientific-practical seminar "the Practice and prospects of partnership in the sphere of higher education"]: v 3 kn. Kn. 2. Taganrog: Izd-vo TTI YuFU, 2012, No. 12, pp. 49-57.
6. Kubrakov E.S. Apparatnye strategii modelirovaniya kvantovogo komp'yutera [Hardware modeling strategy quantum computer], Kh Ezhe-godnaya nauchnaya konferentsiya studentov i aspirantov bazovykh kafedr Yuzhnogo nauchnogo tsentra RAN: tezisy dokladov [X Annual scientific conference of students and postgraduates of the basic departments of the South scientific center of Russian Academy of Sciences: abstracts] (g. Rostov-na-Donu, 14-29 aprelya 2014 g.). Rostov-on-Don: Izd-vo YuNTs RAN, 2014, pp. 71-72.
7. Khalid A.U. FPGA Emulation of Quantum Circuits: master of Computer Engineering thesis: 31.10.2005, Khalid Ahmed Usman; McGill University, 2005, 73 p.
8. Richter M., Arnold G., Trieu B., Lippert T. Massively Parallel Quantum Computer Simulations: Towards Realistic Systems, John von Neumann Institute for Computing, NIC series, 2007, Vol. 38, pp. 61-68.
9. Guzik V.F., Gushanskiy S.M., Kubrakov E.S. Uskorenie modelirovaniya kvantovykh vychisleniy s pomoshch'yu algoritma optimizatsii [Acceleration simulation of quantum computations by using an optimization algorithm], Sb. tr. XI Vserossiyskoy nauchnoy konferentsii molodykh uchenykh, aspirantov i studentov "Informatsionnye tekhnologii, sistemnyy analiz i upravlenie - ITSAiU-2013" [Proceedings of XI all-Russian scientific conference of young scientists, postgraduates and students "Information technology, system analysis and management - Idayu-2013"]. Taganrog: Izd-vo YuFU, 2013, Vol. 1, pp. 15-20.
10. Guzik V.F., Gushanskiy S.M., Kubrakov E.S. Algoritm dlya optimizatsii vozdeystviy kvantovykh ventiley pri modelirovanii raboty kvantovogo komp'yutera [The algorithm for optimizing the effects of quantum gates in the simulation of the operation of a quantum computer], Informatizatsiya i svyaz' [Informatization and communication], 2014, No. 2, pp. 39-42.
Статью рекомендовал к опубликованию д.т.н., профессор Н.И. Витиска.
Гузик Вячеслав Филиппович - Южный федеральный университет; e-mail: [email protected]; 347928, г. Таганрог, пер. Некрасовский, 44; тел.: +78634371737; кафедра вычислительной техники; зав. кафедрой; д.т.н.; профегеор.
Гушанский Сергей Михайлович - кафедра вычислительной техники; к.т.н; доцент.
Кубраков Евгений Сергеевич - e-mail: [email protected]; тел.: 89094268757; кафедра вычислительной техники; аспирант.
Guzik Vyacheslav Philipovich - Southern Federal University; e-mail: [email protected]; 44, Nekrasovsky, Taganrog, 347928, Russia; phone: +78634371737; the department of computing; head of department; dr. of eng. sc.; professor.
Gushansky Sergey Michaylovich - the department of computing; cand. of eng. sc.; associate professor.
Kubrakov Evgeny Sergeevich - e-mail: [email protected]; phone: +79094268757; the department of computing; postgraduate student.
УДК 004.27
Н.И. Дикарев, Б.М. Шабанов, А.С. Шмелев
ВЕКТОРНЫЙ ПОТОКОВЫЙ ПРОЦЕССОР: ОЦЕНКА ПРОИЗВОДИТЕЛЬНОСТИ*
Производительность одного процессорного ядра не растет уже более 10 лет, и увеличение производительности суперЭВМ осуществляется за счет роста числа процессоров. Проблема поддержания высокой эффективности вычислений с ростом числа процессорных ядер в суперЭВМ актуальна сейчас и будет только обостряться в дальнейшем при переходе суперЭВМ к экзафлопсному диапазону производительности. Цель данной работы - показать, что разрабатываемый векторный процессор с архитектурой управления потоком данных (ВПП) может обеспечить не только значительно более высокую производительность по отношению к лучшим процессорам традиционной архитектуры, но и поддерживать ее при работе с мелкоструктурным параллелизмом. Моделирование времени выполнения на программе перемножения матриц при изменении числа сумматоров и умножителей в ВПП показало, что его векторная производительность может быть поднята до 256 флоп в такт.
C-уперЭВМ; векторный процессор; архитектура управления потоком данных; оценка производительности; мелкоструктурный параллелизм.
N.I. Dikarev, B.M. Shabanov, A.S. Shmelev VECTOR DATAFLOW PROCESSOR: PERFORMANCE EVALUATION
Processor core performance is not increasing more than 10 years, so the only way to improve supercomputer performance is to use more cores. Efficient use of increasing core number in supercomputer is a vital issue when moving to Exascale. The aim of this work is to demonstrate that our Vector Dataflow Processor (VDP) performance is many times the conventional processor performance and it can sustain high performance on fine grained parallelism. VDP simulation results are presented on the basis of matrix multiplication execution time. These results are obtained for varied number of vector floating point adders and multipliers in VDP. From these experiments conclusions can be drawn that it is possible to raise VDP core vector performance to 256flop per clock.
Supercomputer; vector processor; dataflow architecture; performance evaluation; fine grained parallelism.
*
Работа выполнена при поддержке гранта РФФИ 13-07-00792. 36