写点什么

量子比特编码:如何用量子计算机汇编语言编程

2021 年 2 月 25 日

量子比特编码:如何用量子计算机汇编语言编程

量子汇编语言“Jaqal”由美国桑迪亚国家实验室Sandia National Laboratories)在其 QSCOUT 平台上开发。


QSCOUT 的离子阱(ion trap)利用电磁场来维持一条镱 -171 离子链,它的作用是充当量子比特。2 月推出的离子阱拥有 3 个量子比特,2021 年将升级到可容纳 10 个量子比特。程序命令激光器向离子发射紫外光脉冲,以控制它们的方向和量子状态。


可以说,在没有量子计算软件和硬件的情况下,量子计算还不算成熟。桑迪亚国家实验室位于美国新墨西哥州阿布奎基,该实验室进行一个开源量子计算机的项目,目的是通过定制的量子计算汇编语言来解决这一问题。


在接下来的几年里,物理学家 Susan Clark 和她在 Sandia 的团队计划利用来自美国能源部的 2500 万美元、为期 5 年的拨款,在他们的 QSCOUT 平台上运行世界各地的学术、商业和独立研究人员提供的代码,到 2023 年,该平台将从今天的 3 个量子比特稳步提升到 32 个量子比特。


QSCOUT 是量子科学计算开放用户试验台(Quantum Scientific Computing Open User Testbed)的缩写,它由电离镱原子组成,悬浮在真空室内。通过执行由该团队刚起步的量子汇编代码编写的算法,紫外线激光的闪烁让这些原子旋转—它们将其命名为 Just Another Quantum Assembly Language(意指“其他量子汇编语言”)或 JAQAL (他们已经用小写字母“aqal”注册了 Jaqal 的商标,因此所有后续引用都将使用该句柄)。


尽管谷歌、IBM 和其他一些公司已经建造了更大的量子机器,且开发出了他们自己的编程语言,但 Clark 表示,QSCOUT 给那些渴望探索这一计算机科学前沿的人们带来了一些好处。当然了,就像谷歌和 IBM 机器中的超导门(Superconducting gates)一样,它也很快速。但是它们也不稳定,并且在不到一秒钟的时间内就失去相干性(coherence)和数据。


Clark 表示 QSCOUT 可以保持其计算的相干性,这得归功于类似于 IonQ 公司开发的离子捕捉技术(该公司已经做了很好的解释):“想想看,它就像是一个计算过程,相当于在长达 10 秒的时间里保留一个思路。“这是目前最好的,”Clark 说,“但我们的量子逻辑要慢一些。”


但,QSCOUT 的真正优势并不在于性能,而是它允许用户根据自己的意愿来控制计算机的操作,甚至向计算机的基本指令集架构中添加新的或修改过的操作。“QSCOUT 就像是一块面包板(免焊万用电路板),而公司提供的就像是印刷电路板。”领导 QSCOUT 软件团队的 Andrew Landahl 说。



一个真空室封闭了一个离子阱,保护单个离子免受可能改变其状态的热和电磁噪声源的影响,从而使量子处理器彻底有效。


“我们的用户是科学家,他们希望进行控制实验。”他说:“他们要求两个量子逻辑门同时发生,商用系统往往会优化用户的程序来改善它们的性能。”Clark 称,“但他们不会给你太多的细节来告诉你幕后的情况。”在早期,当如何最好地处理噪声、数据持久性和可扩展性等重大问题还很不清楚的时候,这时候有一个量子机器,其作用就是只是做你告诉它做的事情。


Landahl 说,为了实现这种精确性和灵活性的结合,他们创建了 Jaqal,其中包括将离子初始化为量子比特的命令,将它们单独或共同旋转到各种状态,将它们缠绕成叠加,然后以输出数据的形式读取最终状态。


任何 Jaqal 程序的第一行,例如:


from qscout.v1.std usepulses *
复制代码


载入一个逻辑门脉冲文件,它定义了标准操作(量子计算术语中的“量子门”)。这种方案可以轻松实现扩展性。Landahl 说,下一个版本将增加新的指令来支持 10 个以上的量子比特,还会增加新的功能。此外,他还说,用户甚至也可以编写自己的函数。


Clark 说,“愿望列表”中,一个在经典计算中理应具备的新特性是,能对进行中的计算进行局部测量,然后根据中间状态进行调整。在量子领域,由于量子比特的互连性(interconnectedness),这种局部测量方法很难实现,但实验人员已经证明这可以做到。


实用程序将量子操作与经典操作混合在一起,所以 QSCOUT 团队也在 Github 上发布了一个名为JaqalPaq的 Python 包,它提供了一个 Jaqal 模拟器,以及一些命令,其能将 Jaqal 代码作为对象包含在一个更大的 Python 程序里。


桑迪亚国家实验室在首批 15 个申请者中接受了前 5 个项目提案,其中大部分将针对其他量子计算机进行各种基准测试。但 Clark 表示:“其中有一支团队(由印第安纳大学布卢明顿分校(Indiana University, Bloomington)的Phil Richerme领导)通过研究特定分子的基础状态,正在解决小规模量子化学问题。”


在团队将机器从 3 个量子比特升级到 10 个量子比特之后,Clark 计划在 3 月份邀请第二轮提案。

Jaqal 编程语言输出“Hello World”


Landahl 说,最简单的非平凡程序通常运行在一台新的量子计算机上,这种程序可以将 2 个量子比特纠缠到一个所谓的贝尔态(Bell states)中,即经典的 0 和 1 二进制态的叠加态。在Jaqal 文档中,给出了一个 15 行程序的例子,它定义了两种教科书式的操作,执行这些指令以准备一个贝尔态,然后读取结果状态的两个量子比特的测量值。


但是,QSCOUT 作为一台离子阱计算机,支持一种名为Mølmer-Sørensen 逻辑门的精巧操作,提供了一种捷径。利用这一点,可以让下面的 6 行程序完成同样的任务,且可以重复 1024 次:


register q[2]        // Define a 2-qubit registerLoop 1024 {          // Sequential statements, repeated 1024x    prepare_all     // Prepare each qubit in the |0⟩ state    Sxx q[0] q[1]    // Perform the Mølmer–Sørensen gate    measure_all     // Measure each qubit and output results}
复制代码


原文链接:


https://spectrum.ieee.org/tech-talk/computing/software/qscout-sandia-open-source-quantum-computer-and-jaqal-quantum-assembly-language

2021 年 2 月 25 日 10:001483
用户头像
刘燕 InfoQ记者

发布了 554 篇内容, 共 174.0 次阅读, 收获喜欢 1053 次。

关注

评论 1 条评论

发布
用户头像
cool
2021 年 02 月 28 日 22:28
回复
没有更多了
发现更多内容

【架构师训练营第 1 期 08 周】 作业

Bear

极客大学架构师训练营

「架构师训练营第 1 期」第八周作业

张国荣

架构师训练营第四周作业

张浩

第四周作业

willson

极客大学架构师训练营

第四周-作业一

Mr_No爱学习

第四周总结

孤星

第四周笔记

willson

极客大学架构师训练营

架构2期第4周作业

supersky6

[架构师训练营第 1 期] 第八周命题作业

猫切切切切切

极客大学架构师训练营

架构师训练营 - 第八周

袭望

MySQL主从复制的原理和注意事项都在这儿了!!

冰河

MySQL 分布式数据库 主从复制 读写分离 并行复制

架构师训练营第 1 期 week8 总结

张建亮

极客大学架构师训练营

第四周作业

孤星

Week4 系统架构

evildracula

学习 架构

与前端训练营的日子 --Week03

SamGo

学习

智能计算的武侠美学,正在城市上空上演

脑极体

第八周作业 (作业二)

Geek_83908e

极客大学架构师训练营

技术与艺术的一点感悟

Tanzv

技术 思考 文化 思维

第五周作业

willson

极客大学架构师训练营

Week 8 作业02

Croesus

极客大学架构师训练营第四周作业

井中人

极客大学架构师训练营

架构师训练营第八周学习总结

文智

性能优化 极客大学架构师训练营

week08学习总结

追风

架构师一期

第一次电话面试

escray

面经 面试经历 101次面试

架构师训练营第四周总结

张浩

架构第七周作业

Geek_Gu

极客大学架构师训练营

架构师训练营第八周作业

月殇

极客大学架构师训练营

架构第七周总结

Geek_Gu

极客大学架构师训练营

第四周--学习总结

Mr_No爱学习

手把手教你在Idea中使用Git

jiangling500

git GitHub IDEA

第八周作业 (作业一)

Geek_83908e

极客大学架构师训练营

4月17日 HarmonyOS 开发者日·上海站

4月17日 HarmonyOS 开发者日·上海站

量子比特编码:如何用量子计算机汇编语言编程-InfoQ