Microsoft разработала единый интерфейс для совместной работы классических и квантовых вычислений

13.10.2020      14836

Microsoft анонсировала промежуточное представление QIR (квантовое промежуточное представление), разработанное на основе  LLVM –  популярный промежуточный язык с открытым исходным кодом. Оно выполняет роль общего интерфейса между языками программирования и целевыми платформами квантовых вычислений.

Немного о LLVM

Проект LLVM – это набор модульных и многократно используемых технологий компилятора и инструментальных цепочек. LLVM разработан на основе независимого от языка промежуточного представления (IR). Он является переносимым языком ассемблера высокого уровня и может быть оптимизирован с помощью различных преобразований за несколько проходов. 

LLVM начинался как исследовательский проект в Университете Иллинойса. Целью проекта была разработка современной стратегии компиляции на основе SSA. Новый компилятор должен был поддерживать как статическую, так и динамическую компиляцию произвольных языков программирования. 

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

Код в проекте LLVM находится под лицензией «Apache 2.0 с исключениями LLVM».

Что такое QIR

QIR используется в качестве общего интерфейса между многими языками и целевыми платформами квантовых вычислений. Хотя он поддерживает Q#, QIR не является специфическим для Q#: любой язык программирования для квантовых вычислений на основе вентилей может быть представлен в QIR. Точно так же QIR не зависит от оборудования. Он не определяет квантовую инструкцию или набор вентилей, оставляя это на усмотрение целевой вычислительной среды.

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

LLVM предоставляет QIR все возможности для описания разнообразных классических вычислений, полностью интегрированных с квантовыми вычислениями. Использование LLVM упрощает интеграцию со многими классическими языками и инструментами, которые уже поддерживаются цепочкой инструментов LLVM. Он также способствует разработке общих оптимизаций и преобразований кода, не зависящих от языка и серверной части.

Microsoft опубликовала черновик спецификации QIR, доступный в новом языковом репозитории Q# на GitHub. Компания выпустила расширение компилятора, которое генерирует QIR из Q#. Его можно найти в ветви feature/QIR репозитория компилятора Q#. Также были опубликованы инструкции по использованию расширения.

Промежуточное представление (ПП)

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

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

Как выглядит QIR

Поскольку QIR основан на LLVM, он выглядит как LLVM. Простой код Q# для генерации пары Bell:

 

 

При компиляции в QIR:

 

 

В этом фрагменте видны несколько функций QIR:

  • операции в Q# (или любом другом квантовом языке программирования) представлены функциями LLVM;
  • функции LLVM, имена которых начинаются с __quantum__qis__, зарезервированы для представления операций в используемом наборе квантовых команд;
  • кубиты представлены как указатели на именованный тип непрозрачной структуры %Qubit.

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

Применение

Приложение, поддерживаемое QIR, включает компилятор Clang на основе LLVM для компиляции QIR в исполняемый машинный код. Таким образом, путем реализации функций квантового набора команд, создается симулятор на C или C++. 

Другое применение – использовать стандартную «проходную» инфраструктуру LLVM для написания квантовых оптимизаторов, работающих с QIR. Независимо от источника и цели проекта, разработанные оптимизаторы работают со множеством различных языков вычислений и вычислительных платформ.

QIR уже был предоставлен партнерам для получения обратной связи. Например, специалист по квантовым компьютерам из Окриджской национальной лаборатории и проект XACC Алекс Маккаски говорит: «ORNL тесно сотрудничает с командой Microsoft, чтобы обеспечить компиляцию программ Q# высокого уровня для разнообразного набора платформ квантового оборудования OLCF посредством интеграции с фреймворк XACC».

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

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

Напомним, что в июле прошлого года Microsoft расширила набор инструментов Quantum Development Kit и открыла код дополнений для редакторов Visual Studio и VS Code. Теперь в этих редакторах можно комфортно программировать на Q# – языке для квантовых компьютеров.

Автор:
Обозреватель


Комментарии
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
1. succub1_5 89 13.10.20 15:47 Сейчас в теме
Круто конечно звучит. А ошибки пользователей при закрытии месяца уже умеет находить?
2. Brawler 455 13.10.20 19:23 Сейчас в теме
(1) любой системе будет лучше без пользователей
SKravchenko; +1 Ответить
3. awk 741 14.10.20 10:39 Сейчас в теме
(2) В любой системе будут ошибки. :)
Оставьте свое сообщение

См. также

«Сколково» объявил отбор перспективных ИИ-проектов для получения грантов

Новость Искусственный интеллект ИТ-Новость

В 2024 году «Сколково» выделит пилотным проектам в сфере искусственного интеллекта гранты на общую сумму 554 млн рублей. В результате отбора финансирование получат проекты с применением ИИ в областях производства, операционной деятельности и в работе предоставляемых сервисов.

12.04.2024    602    AnastasiaKl    3       

3

В программу подготовки спортивных программистов вошли бег и скорость печати

Новость ИТ-Новость

Пятничное: в России вступил в силу стандарт подготовки по дисциплине «спортивное программирование». В стандарт вошли требования к физическим показателям спортсменов и скорости набора текста.

16.02.2024    717    VKuser24342747    2       

1

Росстандарт утвердил протокол LoRaWAN для интернета вещей

Новость ИТ-Новость

Федеральное агентство по техническому регулированию и метрологии (Росстандарт) утвердило национальный стандарт протокола LoRaWAN RU, таким образом он получил официальный статус. Технология используется для беспроводной передачи данных между устройствами интернета вещей.

19.01.2024    495    VKuser24342747    0       

2

Новый закон откладывает на год вступление в силу изменений в порядок регистрации на сайтах

Новость Законодательство ИТ-Новость

12 декабря вступил в силу Федеральный закон, меняющий срок, к которому все владельцы сайтов должны внести изменения в порядок авторизации пользователей на сайте. Закон вводит переходный период до 1 января 2025 года.

20.12.2023    667    VKuser24342747    2       

1

Вышло крупное обновление для Android Studio

Новость Мобильные приложения ИТ-Новость

Новая версия Android Studio под номером 2023.1 получила имя Hedgehog. Появились возможности контролировать производительность приложений и управлять подключенными устройствами.

07.12.2023    825    VKuser24342747    2       

3

GitHub опубликовал результаты ежегодного исследования проектов с открытым исходным кодом

Новость GitHub ИТ-Новость

GitHub собрал данные об Open Source проектах в рамках ежегодного исследования Octoverse. Компания изучила географию репозиториев, используемые языки программирования и нейросети, а также активность сообщества.

15.11.2023    537    VKuser24342747    1       

2

Некоммерческие проекты смогут получить бесплатный доступ к GigaChat API

Новость ИТ-компания ИТ-Новость

Компания «Сбер» заявила, что будет бесплатно предоставлять доступ к API нейросети для генерации текста GigaChat для некоммерческих проектов. Однако для них будет ограничено число доступных токенов.

01.11.2023    674    VKuser24342747    2       

3

Состоялся релиз свободной среды разработки Geany 2.0

Новость ИТ-Новость Программист

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

25.10.2023    720    VKuser24342747    0       

1

Минцифры подготовило критерии по выбору оператора реестра провайдеров хостинга

Новость Минцифры ИТ-Новость Роскомнадзор

Минцифры подготовило проект постановления, которое утверждает требования к организации, претендующей на статус оператора реестра провайдеров хостинга.

25.10.2023    392    VKuser24342747    0       

1

Минцифры составило алгоритм действий для компаний, у которых не работает VPN

Новость Минцифры ИТ-Новость

Минцифры подготовило разъяснения для российских организаций, у которых возникли перебои в работе VPN-сервисов для клиентов и сотрудников из-за блокировки запрещенных ресурсов Роскомнадзором.

24.10.2023    651    VKuser24342747    0       

0

«Сбер» объявила о доступности SberLinux OS Server для российских компаний

Новость Импортозамещение ИТ-Новость

«СберТех», дочерняя компания «Сбера», объявила о предоставлении доступа к собственной серверной операционной системе SberLinux OS Server российским компаниям. ОС включена в реестр отечественного ПО.

20.10.2023    919    VKuser24342747    0       

2

Минцифры внесло изменения в проект правил идентификации клиентов веб-хостингов

Новость Минцифры ИТ-Новость Роскомнадзор

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

18.10.2023    479    VKuser24342747    0       

1

Google выпустила финальную версию Android 14

Новость Android Google ИТ-Новость

Google выпустила новую версию мобильной ОС Android 14. Изменения затронули настройки внешнего вида и безопасности. Были расширены возможности камеры и инструментов для хранения данных.

12.10.2023    711    VKuser24342747    0       

1

Яндекс объявил об открытии исходного кода DataLens

Новость Аналитика ИТ-Новость Яндекс

BI-система Yandex DataLens теперь развивается в опенсорс. Код продукта выложен для всех на GitHub. Любой желающий сможет развернуть DataLens на своем железе и доработать его под свои сценарии применения.

03.10.2023    1464    ЕленаЧерепнева    1       

6

Роскомнадзор создаст реестр хостинг-провайдеров

Новость Минцифры ИТ-Новость Роскомнадзор

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

02.10.2023    620    VKuser24342747    0       

1

«СберТех» представил репозиторий GitVerse с ИИ-помощником для написания кода

Новость Импортозамещение ИТ-Новость Программист

«СберТех» начал прием заявок на тестирование веб-сервиса для публикации ИТ-проектов GitVerse. Платформа подходит для разработки программ с открытым и закрытым кодом.

26.09.2023    848    VKuser24342747    2       

1

ИП и юрлица смогут использовать смартфон для создания и замены электронной подписи

Новость ИТ-Новость ФНС Цифровая подпись

ФНС внесла изменения в правила оформления электронной подписи руководителя организации и ИП. Станет возможным продлевать ее и записывать при помощи мобильного устройства.

18.09.2023    444    VKuser24342747    1       

1

Журнал IEEE Spectrum опубликовал рейтинг популярности языков программирования

Новость ИТ-Новость Языки программирования

Журнал Института инженеров электротехники и электроники IEEE Spectrum подготовил рейтинг самых популярных языков программирования в 2023 году. Статистика разделена на три категории.

01.09.2023    1334    VKuser24342747    4       

2

В бета-версии Microsoft 365 появилась поддержка языка Python для Excel

Новость ИТ-Новость Языки программирования

С помощью библиотек и средств визуализации Python можно будет манипулировать данными Excel, а затем использовать полученные результаты в формулах, диаграммах и сводных таблицах.

28.08.2023    715    VKuser24342747    0       

2

Специалисты Калифорнийского университета установили, что боты справляются с CAPTCHA лучше, чем люди

Новость ИТ-Новость

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

24.08.2023    1176    VKuser24342747    23       

2

Google Chrome начнет поддерживать квантово-устойчивые алгоритмы шифрования

Новость Google Безопасность ИТ-Новость

В версии Google Chrome 116 появится поддержка алгоритмов шифрования, устойчивых к попыткам дешифрации при помощи квантовых вычислений. Технология объединяет преимущества классической и инновационной криптографии.

24.08.2023    494    VKuser24342747    0       

1

В реестр российского ПО включен первый комплекс обработки больших данных

Новость Импортозамещение Минцифры ИТ-Новость Реестр ПО

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

22.08.2023    483    VKuser24342747    0       

1

Microsoft внедрила новые функции в GitHub Copilot и анонсировала Windows Copilot

Новость GitHub Искусственный интеллект

ИИ-помощник для разработчиков GitHub Copilot теперь не только в реальном времени анализирует код, предлагает варианты для его улучшения и помогает найти решение проблем в разработке, но и  показывает ссылки на репозитории, из которых взят код. 

17.08.2023    1189    VKuser24342747    0       

1

В JetBrains разработали ИИ-помощника для аналитиков данных

Новость Аналитика Искусственный интеллект

JetBrains представила нейросеть Ask AI для онлайн-блокнота Datalore. Виртуальный ассистент способен генерировать код на нескольких языках, предлагать доработки и упрощать процесс аналитики данных. 

16.08.2023    682    VKuser24342747    0       

1

Исследование: ChatGPT дает неправильный ответ на половину вопросов о программировании

Новость Искусственный интеллект ИТ-Новость

Чат-бот OpenAI ошибается в 52% случаев, когда отвечает на вопросы по программированию. Однако делает это так убедительно, что пользователи не замечают ошибки. 

14.08.2023    1068    VKuser24342747    5       

3