Почему вы не можете отлаживать работающую квантовую компьютерную программу

В некотором смысле, написание приложений для квантовых вычислений — это очень большой случай возвращения в будущее. Подобно тому, как программист из мэйнфреймов 1970 -х годов сегодняшний программист квантовой вычислительной вычислений должен отлаживать свой код, прежде чем он работает на железе, потому что сама квантовая среда выполнения очень дорого, и все еще достаточно ограничена в возможностях.

Фактически, по самой своей природе технологии, программы квантовых вычислений не могут быть отладки, по крайней мере, не пока они работают.

Тест в производстве? Не шанс.

«Запуск на квантовом оборудовании очень дорого, поэтому вы не хотите выяснять, что в вашем коде есть ошибка, когда вы туда попали», — сказала Мария Михайлова, в виртуальном выступлении на прошлой неделе для Ассоциации вычислительной техники о квантовых вычислительных поведениях, которые разработчики должны иметь в виду.

Mykhailova является основным разработчиком программного обеспечения для квантового запуска Psiquantum и работала инженером для квантовой бизнес -единицы Microsoft. Она также преподает этот предмет в инженерном колледже Северо -Восточного университета.

В выступлении она представила рабочий процесс для разработки квантового программного обеспечения. Это работа, которая требует не только написания кода-включающего как классические, так и квантовые языки-но и проверку правильной квантовой программы, а также оценку их эффективности на квантовых компьютерах, устойчивых к неисправности.

Разговор был своевременным. С такими облачными поставщиками, как Microsoft Azure, Amazon Web Services, IBM All, предлагая квантовые вычислительные службы, теперь может быть время для тестирования квантовых вычислений.

Когда квантовые компьютеры имеют преимущество?

Многие рабочие места никогда не будут подходить для квантовых вычислений. Например, машинное обучение, которое требует приема крупных наборов данных, может быть не подходящим. По ее словам, распознавание изображений, веб -поиск или редактирование текста — это другие приложения, которые не выиграют от квантовых вычислений.

Имейте в виду, что загрузка данных в классические вычисления проста и недорого, но вполне рутину с квантовыми вычислениями.

«В квантовых вычислениях загрузка входных данных в какое -то квантовое состояние, которое можно использовать впоследствии, уже является дорогой операцией», — сказала она.

По ее словам, идеальная задача квантовых вычислений имеет ограниченный вход, много вычислений и ограниченный вывод.

Сегодня большинству компьютерных работ не нужна квантовая мощность, сказала она. Она представила график, показывающий диапазон возможного применения, характеризующегося к тому времени, когда необходимо решить их против размера самой проблемы.

Для более крупных проблем как классический компьютер, так и квантовое решение будут потреблять больше ресурсов.

«Когда вы думаете в этих терминах, становится ясным, какие программы полезны для квантовых вычислений, а какие не так хороши», — сказала она.

Quantum не предлагает преимуществ для небольших приложений. Скорее, Quantum лучше всего подходит для рабочих мест, которые займет чрезвычайно длительные периоды времени для завершения классических компьютеров, если они могут быть завершены вообще.

Одним из таких примеров будет найти энергию основного состояния молекулы. Классический компьютер может провести быстрый анализ простой молекулы, такой как водород, без проблем. По ее словам, понимание более крупных, более сложных молекул будет доменом кванта.

Таким образом, первая задача при разработке квантового программного обеспечения — это характеристика его производительности, чтобы увидеть, выгодно ли использовать квантовую программу для начала.

Проблемы шумного и медленного квантового оборудования

Следует иметь в виду, что квантовые компьютеры медленные, намного медленнее, чем традиционные компьютерные системы, на самом деле: запрос на квантовую вычислительную систему намного медленнее, чем у классического компьютера.

Почему это? Квантовые компьютеры шумные, поэтому операция каждого единого логического затвора должна быть исправлена ​​по ошибкам. Кроме того, сами ворота медленные, и большинство квантовых вычислительных систем, в обозримом будущем, будут иметь драгоценные ворота.

В результате алгоритмы, которые вы развиваете

Рабочий процесс для разработки квантового приложения — прежде чем оно затрагивает оборудование.

«Вам нужно выяснить, будет ли это решение достаточно хорошим. Вам нужно оценить его производительность. Вам нужно в основном выяснить, сколько ресурсов оно потребуется», — посоветовал бы как много ресурсов, так и сколько времени займет работа, сообщил Михайлова.

Если работа занимает слишком много времени, она вернулась к чертежной доске.

Уникальные трудности от отладки квантовых программ

Как сказала Михайлова, тестирование на фактическом квантовом оборудовании стоит дорого. И, как и любая отладка, вам понадобится несколько пробежек.

Кроме того, из -за характера кванта «состояние» квантового компьютера не может быть измерено напрямую. Процесс отладки разработчика по прохождению программной линии не будет работать с квантовыми компьютерами. «Делать это разрушит ваш штат», — сказал он.

И их шумный характер также проблематичен: если вы получаете неверный результат (или даже правильный в этом отношении), вы не знаете, из -за того, что это из -за шума системы, или потому, что алгоритм работает неправильно или правильно, как может быть.

Хорошей новостью является то, что есть симуляторы, которые помогут с этими оценками. Программное обеспечение для квантового моделирования работает на классическом оборудовании, но повторяет квантовый компьютер через многие из тех же операций. Кроме того, они предлагают традиционные инструменты отладки. Они хорошо работают для программ, которые требуют до 30 кубитов или около того.

По ее словам, это все еще «открытый вопрос» о том, как проверить более крупные квантовые вычисления.

Она прошла через пример подготовки набора квантовых битов для производства «состояния» для машины.

Рабочий процесс для разработки квантовых приложений

Первым шагом является разработка алгоритма, чтобы делать то, что вы хотите, форматировали его на схемах, чтобы проиллюстрировать несколько версий кубита.

Следующий шаг — написать код. Ее пример был написан в Python и использовал библиотеку Psiqworkbench в Psiquantum для выражения кубитов и кубриков в коде.

Полученная программа смешивает классические и квантовые вычисления, с конкретными методами, используемыми для выражения ворот. Она использовала Pytest для проверки кода, с правильными результатами, встроенными в сам код для проверки.

Из этих чисел вы также можете оценить количество кубитов, необходимых для запуска программы, и сделать ваши сравнения с классическим подходом или просто прийти к идее, если алгоритм необходимо уточнить. Повторите по мере необходимости.

Узнайте, как программировать в Quantum

Большой защитник обучения, выполняя, Михайлова рекомендует писать квантовые программы для изучения ремесла. Она предложила изучить основы через сайт Microsoft Quantum Katas. Затем углубляется в язык Microsoft Q#, программный стек Qiskit от IBM и две книги, которые она написала по этому вопросу.

И не волнуйтесь, вам не нужно знать квантовую физику для программирования квантового компьютера.

«Под капотом квантовые вычисления — это линейная алгебра и теория вероятности», — сказала она.

«Вам нужно знать физику конкретно, если вы работаете над самыми низкими, самыми низкими уровнями стека, уровням, которые в основном контролируют фактические физические объекты и процессы, которые реализуют ваш квантовый компьютер», но большинству разработчиков этого не понадобится. Кубиты отображаются в виде математических конструкций, которые можно легко понять.

«Если вы работаете в стеке компиляции, над программным обеспечением для пользователя, как и я, вам не нужно знать физику. Этот бит абстрагирует несколько слоев под вами»,-сказала Михайлова.

У ACM будет бесплатная разговора в Интернете для воспроизведения в течение ограниченного времени, хотя в конечном итоге он будет перенесен на страницу архива.

Trending Stories youtube.com/thenewstack Tech движется быстро, не пропустите эпизод. Подпишитесь на наш канал YouTube, чтобы транслировать все наши подкасты, интервью, демонстрации и многое другое. Группа подпишитесь с эскизом. Joab Jackson является старшим редактором нового стека, охватывающего облачные нативные вычисления и системы системы. Он сообщил об инфраструктуре и развитии ИТ в течение более 30 лет, в том числе в IDG и государственных компьютерных новостях. До этого он … читал больше от Джоаба Джексона

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *