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

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

13.10.2020     

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# – языке для квантовых компьютеров.


Источник: https://infostart.ru/journal/news/tekhnologii/microsoft-razrabotala-edinyy-interfeys-dlya-sovmestnoy-raboty-klassicheskikh-i-kvantovykh-vychisleni_1309120/
Автор:
Сергей Кравченко Обозреватель


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

См. также

Российский блогер протестировал ПК с процессором Baikal-M

Новость ИТ-новость Микроэлектроника

Компьютер на базе процессора Baikal не найдешь в обычном магазине электроники. Но интересно, что умеет такая техника и подойдет ли она для решения повседневных задач. Блогер Сергей Вильянов протестировал такой ПК и поделился впечатлениями.

14.05.2021    2585    user1015646    3       

Популярный фреймворк для веб-разработки Bootstrap обновлен до пятой версии

Новость Интернет Интерфейсы ИТ-новость

Фреймворк для разработки сайтов и веб-приложений Bootstrap получил крупное обновление. В пятой версии улучшена работа с формами, доработана документация, добавлена кастомизация CSS.

14.05.2021    1257    VKuser24342747    0       

Microsoft запатентовала биометрический инструмент для анализа здоровья работников

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

Microsoft подала патент на «компьютерный метод» предоставления рекомендаций по здоровью. Патент включает анализ биометрических данных для определения стресса и беспокойства.

14.05.2021    1741    SKravchenko    1       

Минюст создаст чат-бота для бесплатных юридических консультаций

Новость Искусственный интеллект ИТ-новость Цифровая экономика

«Цифровой юрист» – один из самых масштабных проектов ведомства. На реализацию проекта планируют потратить 230 млн рублей.

14.05.2021    1249    user1015646    0       

Flash Player удалят из Windows 10 в июле

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

Компания Microsoft рассказала, когда Windows 10 окончательно попрощается с Adobe Flash Player. Обновление, которое автоматически удалит ПО из системы, выйдет этим летом.

13.05.2021    3025    user1015646    0       

Полностью цифровые медкарты: первые впечатления от эксперимента

Новость ИТ-новость Цифровая экономика

В России начался эксперимент по переводу медицинских карт пациентов в электронный вид. От бумажных документов полностью отказались в двух детских поликлиниках Москвы.

12.05.2021    3537    VKuser24342747    4       

Минцифры начнет подготовку кадров для цифровой экономики

Новость ИТ-новость Минкомсвязь Цифровая экономика

Минцифры совместно с «Университетом Иннополис» объединила сотни российских учебных заведений в консорциум, который подготовит кадры для цифровой экономики.

12.05.2021    3443    VKuser24342747    5       

GitHub начал поддерживать использование ключей безопасности SSH

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

Пользователи GitHub смогут подтверждать вход в аккаунт при помощи портативных устройств, которые используют протокол FIDO2. Репозиторий предлагает всем разработчикам перейти на такой метод аутентификации.

12.05.2021    3321    VKuser24342747    0       

Топ языков программирования с самым большим сообществом разработчиков

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

Аналитики британской фирмы SlashData, изучающей сообщества разработчиков, выпустили ежегодный отчёт State of the Developer Nation, в котором описывают аудиторию 14 популярных языков программирования.

07.05.2021    2680    SKravchenko    7       

Кроссплатформенный эмулятор запустил старые Windows-программы в браузере

Новость Интернет ИТ-новость

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

05.05.2021    3123    VKuser24342747    0       

Apple обязала разработчиков использовать новый фреймворк AppTrackingTransparency

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

Компания Apple выпустила серию обновлений для разработчиков приложений. Требования, связанные с переходом на iOS 14.5, предполагают использование фреймворка AppTrackingTransparency для повышения прозрачности сбора пользовательских данных.

05.05.2021    1935    user1015646    0       

Теперь в Docker и в Linux: расширилась поддержка процессоров Apple M1

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

Ядро Linux получило начальную поддержку процессоров M1 производства Apple. Инструмент для развертывания и работы с контейнерами Docker также научился работать с ними.

04.05.2021    3048    user1015646    0       

Ctrl+C, Ctrl+V: эксперты подсчитали, насколько часто разработчики копируют чужой код

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

Популярный форум для разработчиков Stack Overflow в течение двух недель собирал статистику нажатий Ctrl+C или Command+C при копировании кода и других ответов. Но то, что задумывалось как первоапрельская шутка, стало в итоге серьёзным исследованием.

04.05.2021    2005    user1015646    0       

Олдскульный Yayagram: разработчик создал для бабушки гаджет для общения в Telegram

Новость ИТ-новость Мессенджеры

Когда интернет еще не изобрели, абонентов соединяли телефонистки, переключая кабели в нужные гнезда. Разработчик Мануэль Лусио Далло вдохновился этим примером и создал для своей 96-летней бабушки гаджет для общения с родными в Telegram.

30.04.2021    4020    user1015646    3       

Квантовая сеть между Москвой и Петербургом заработает во втором квартале 2021 года

Новость ИТ-новость Телекоммуникации

«Транстелеком», дочерняя компания РЖД, завершила строительство квантовой сети между Москвой и Санкт-Петербургом. После запуска проект можно будет использовать для защищенного обмена данными.

30.04.2021    3130    VKuser24342747    0       

Chrome 90 позволит делиться ссылками на фрагмент текста

Новость Интернет ИТ-новость

Google представила новую функцию для Chrome 90, которая позволит создавать ссылку на выделенную часть текста на странице в браузере.

30.04.2021    2238    SKravchenko    2       

Минцифры требует обеспечить возможность удаления предустановленных российских приложений

Новость Законодательство Импортозамещение ИТ-новость Минкомсвязь Мобильные приложения

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

28.04.2021    3092    VKuser24342747    1       

Ubuntu 21.04 обеспечит интегрированную поддержку Microsoft SQL Server и Active Directory

Новость Ubuntu MS SQL ИТ-новость

Компания Canonical представила Ubuntu 21.04, которая получила название «Hirsute Hippo». Релиз содержит интеграцию с Microsoft Active Directory, SDK для разработки приложений Flutter и поддерживает локальную работу Microsoft SQL Server.

28.04.2021    3952    capitan    1       

Доступна тестовая версия дистрибутива Linux, внешне похожего на Windows 10X

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

Команда разработчиков операционной системы Zorin OS представила бета-версию Zorin OS 16. Ирландский дистрибутив Linux объединяет Flatpak, Snap Store и репозиторий Ubuntu. Он имитирует внешний вид Windows 10X, сохраняя при этом функциональность Linux.

27.04.2021    4347    SKravchenko    1       

«Яндекс» представил веб-приложение для работы с текстом и таблицами

Новость ИТ-новость Новости компаний Облачные технологии Яндекс

«Яндекс» запустил сервис «Документы» для создания и редактирования текстовых файлов, таблиц и презентаций в облаке. Услуга входит в состав набора офисных решений «Яндекс 360».

27.04.2021    5234    VKuser24342747    2       

Искусственный интеллект научился находить проблемы в коде

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

Исследователи из МТИ разработали систему глубокого машинного обучения для поиска проблем в коде ПО. Она станет основой инструментов автоматического анализа, которые помогут найти и устранить слабые места в IDE для создания программ.

27.04.2021    4026    user1015646    3       

Microsoft разрешит сторонние платежные системы в своем магазине

Новость Windows ИТ-новость Новости компаний Онлайн-торговля

Microsoft готовит перезапуск собственного магазина приложений Microsoft Store. Релиз будет представлен вместе со следующим крупным обновлением Windows и сделает требования для программ в маркетплейсе мягче.

26.04.2021    2332    VKuser24342747    0       

В Windows 10 появилась поддержка Linux-приложений с графическим интерфейсом

Новость Windows Linux ИТ-новость

Microsoft добавит возможность запускать в Windows 10 приложения для Linux с графическим интерфейсом. Опробовать новую функцию можно уже сейчас, используя тестовую сборку ОС.

26.04.2021    4848    VKuser24342747    2       

Linux Shell научился превращать естественный язык в команды

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

Энтузиаст обучил нейросеть OpenAI распознавать вводимые пользователем фразы в Linux Shell и превращать их в bash-команды. Похожее расширение также появилось и для игрового движка Unity3D.

23.04.2021    3511    VKuser24342747    0       

Visual Studio 2022 получит возможность использовать более 4 ГБ памяти

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

Microsoft рассказала о главных обновлениях в новой Visual Studio 2022. Опробовать предварительную версию среду разработки от американского ИТ-гиганта можно будет уже в этом году.

23.04.2021    2740    VKuser24342747    3