【中国科学报】软件不再成量子计算“软肋”
虽然量子计算机距离成熟和大规模应用还有很长的路要走,但国际IT巨头们早已开始在量子软件领域布局,以争夺未来真正控制量子计算机的先机。
2019年年末,中国科学院软件研究所(以下简称软件所)发布消息,由其自主研发的国内第一个较为完整的量子程序设计平台isQ正式上线。平台包括了量子程序设计、模拟、分析与验证等一系列工具。
经典计算时代,国内工业软件自主研发至今步履蹒跚,后经典计算时代,软件不能再成为中国量子计算的“软肋”。
“软”“硬”并重
与经典计算机无异,量子计算的实现不仅需要硬件,还要有软件、算法、应用,而软件又被看作是计算机的“灵魂”。
不过,由于量子系统与经典世界相比有许多截然不同的特征,经典的软件理论、方法和技术在很大程度上不能直接适用于量子软件。因此,量子软件的开发复杂且困难。
早在十几年前,软件所研究员、学术副所长应明生就意识到,量子软件的理论和方法是一个极富挑战性的课题。他领导的团队在这十几年中已经研究了一整套量子程序设计、纠错、验证的相关理论。
只是,量子计算机尚未实现,研究量子软件是否为时尚早?就在大部分传统计算机科学家还在观望时,国外一些有远见的学术机构,以及微软、谷歌、 IBM等IT巨头已经开始对量子操作系统和量子软件进行布局,甚至展开了在量子软件方向的人才竞争。
2011年左右,微软建立了从事量子算法、量子软件研究的QuArC团队。2017年年底,该团队发布了为驾驭规模化量子计算机而专门优化的新的编程语言“Q#”,协助开发者编写量子程序。同时发布的还有一款模拟器,供程序员在传统计算机上进行量子软件测试。
2019年5月,微软和谷歌还联合推出了一门在线互动课程《量子计算机编程》,初学者可以通过网页进行量子算法的模拟,并验证自己的模拟和编程是否正确。
这些IT巨头的长期目标,就是创造一整套软件来运行和控制量子计算机,并建立行业标准。
软件所量子软件团队副研究员应圣钢告诉《中国科学报》,“在经典计算时代,我们不少工业软件开发的核心技术至今被人卡着‘脖子’,到了量子计算时代,不该再重蹈覆辙。”
理论优势工程化
2018年12月4日,美国国家科学、工程与医学院发布的《量子计算:发展与前景》研究报告提到,量子软件的组成,包括能够让程序员描述量子计算算法的编程语言、分析它们并将其映射到量子硬件的编译器,以及可在特定量子硬件上实现分析、优化、调试和测试程序的其他软件支持,例如,需要仿真和调试工具来调试软硬件、需要优化工具来帮助高效实现算法、需要验证工具来帮助确保软硬件的正确性。
此次,软件所团队与合作者在不使用任何国外量子程序设计开源软件的前提下,自主研发了集程序设计、测试、分析、验证于一体的工具平台。目前,已经上线的功能主要包括编译器、模拟器、模型检测工具、定理证明器四部分。
应圣钢介绍说,isQ平台最大的特点是把理论研究的优势工程化。团队在程序设计与验证理论研究方面有长达十几年的积累,提出了量子程序设计的新模型,建立了量子程序设计逻辑基础,发现了量子程序分析新算法等。“这是目前国际上量子软件开发企业很少能做到的。”
在量子程序设计方面,isQ平台包含的编译器首先能将高级语言编写的量子程序转化为指令集语言,从而对接不同的量子硬件,这是一切工具的基础。
“其他编译器大多只能编译没有while循环的顺序量子程序,我们的编译器可以处理量子while循环、递归量子程序,后续还将基于理论研究成果支持并行量子程序,甚至还能验证编译器的正确性。” 应圣钢说。
此外,量子程序和传统计算机程序相比具有很大的不同,特别是由于量子叠加和纠缠的存在,量子程序设计员可能更容易犯错,设计量子程序的调试和验证技术是推动量子计算发展的一项具有根本性挑战的基本要求。而量子程序验证研究的一个主要方向是发展适用于量子计算的程序逻辑。
应圣钢表示,团队设计的定理证明器基于量子Hoare逻辑,可以辅助量子程序设计、纠错,还可扩展用于量子密码协议验证。“这也让isQ成为了目前世界上首个能够对量子程序是否正确进行验证的平台,并且在经典计算机上克服了计算时间与存储空间的限制,为较大规模量子程序的设计提供帮助。”
接下来,软件所量子软件团队会进一步完善isQ平台的功能,包括定理证明器与编译器的对接等。团队也希望与国内量子硬件团队紧密合作,尽快将这一平台配置在国内自主研制的量子计算机上。
人才培养是初衷
应明生曾说,中国正在大力提倡原始创新,而原始创新只有在新领域机会才更多。量子程序恰好是一个正在兴起的新领域,希望有更多的年轻人参与研究。
中国需要自己培养人才。而对于量子计算这种前瞻性大的领域,需要长期的投入和布局。应圣钢认为,关键不是讨论现在的技术能在什么时候直接创造经济收入,而是要培养并储备一批能够开发量子程序的人才,为未来的机遇与挑战作准备。
这也是isQ平台建设的初衷。
应圣钢认为,目前,量子软件人才培养的困境,主要在于既懂数学又会大规模编程的学生十分稀缺。会编写大规模程序的,数学基础往往不够好;数学系毕业的,大多数不会大规模编程;而两者都具备的学生,又很少有意愿从事量子软件开发,以至于团队目前只能自己培养研究人员。
前些年,由于行业发展周期影响,团队每一年甚至每两年才能招到一个博士生。这也让软件所团队下决心,要借助平台建设进行跨学科人才的培养和储备。
尽管目前这个领域论文产出难,成长周期长、回报慢,博士生甚至会为“能否按时毕业”而发愁,但在应圣钢看来,“量子软件,志在未来”。
附件下载: