《NVIDIA推出适用于高性能计算的QODA.docx》由会员分享,可在线阅读,更多相关《NVIDIA推出适用于高性能计算的QODA.docx(6页珍藏版)》请在第一文库网上搜索。
1、NVIDIA推出适用于高性能计算的QODA在过去的十年里,量子计算从学术实验室跃入主流。初创公司和大型公司都在加大努力构建更好的量子计算机。虽然我们还不清楚还有多久才可以利用量子优势处理常见问题,但很明显,现在是时候构建有价值的量子应用所需要的工具了。首先,我们需要在理解量子篁法方面取得进展。去年,NVIDIA宣布推出CuQuantum,这是一款用于加速量子计算模拟的软件开发套件(国为)。在GPU上使用CuQuantum模拟量子电路,使算法研究的性能和规模远远超过了目前在量子处理单元(QPU)上可以实现的性能和规模。这为理解如何充分利用量子计算机取得突破性进展铺平了道路。除了改进量子算法之外,
2、我们还需要充分利用QPU以及经典计算资源:CPU和GPU07月13日,NVIDIA宣布推出量子优化设备架构(QODA),这是一个混合量子-经典计算平台,其使命是实现这一效用。随着量子计算的发展,所有有价值的量子应用都将采用混合形式,量子计算机将与高性能经典计算协同工作。GPU纯粹为图形而打造,并已转变为高性能计算(HPC)的必备硬件。这需要使用新软件来实现功能强大且直接的编程。量子计算机从科学实验向实用加速器的转变也需要新的软件。量子软件的新时代将助力实现高性能混合计算,并为更广泛的科学家和创新者增加量子计算机的可访问性。NVIDIADAP1ATFORMHYBRIDAPP1ICATIONSDw
3、gDscw,cy.CtwnvMry.We9wr.Frwmo.1ogotto.andMOr9NVIDIAQAMybndQuantMnvC1assica1PragrwfnnMngPtotformSYSTEM-1EVE1COMPI1ERTOO1CHAiN(NVO*)QODAFQUAN1QUANTNQUANT嶙QcSuperccQ)jO1ichANNOUNCINGNVIDIAQODAWOR1DSFIRSTP1ATFORMFORHYBRIDQUANTUM-C1ASSICA1NVIDIAQOD是率先用于混合量子-经典计算的平台,其应用涵盖药物研发、化学、天气、金融、物流等领域量子编程概况在过去五年中,针对
4、小规模、噪声量子计算架构的量子编程方法得到了发展。这一发展对算法IE发宣来说意义重大,并使标准量子算法以及混合变分方法的早期原型化成为可能。由于缺乏量子资源和硬件实施的实用性不足,大多数编程方法都处于纯Python级别,支持基于云的远程执行模型。随着量子架构的改进,以及算法开发者开始考虑现有经典异构计算的真正量子加速,一个问题出现了:我们应该如何在传统的高性能计算环境中支持量子协同处理?在开发高性能计算编程模型、异构编译器平台和高级应用库方面,NVIDIA一直是真正的先行者,这些高级应用库使用一个或多个NVIDIAGPU加速传统的科学计算工作流。NVIDIA将量子计算视为异构高性能计算系统架构
5、的另一个元素,并设想了一种编程模型,将量子协同处理无缝整合到现有的CUDA生态系统中。在这方面,目前从Python语言层面开始的方法是不够的,最终将限制经典计算资源和量子计算资源的性能集成。适用于高性能计算的QODANVIDIA正在开发一个开放性规范,用于在高性能计算环境中对混合量子-经典计算架构进行编程。NVIDIA将宣布推出QODA编程模型规范和相应的NVQ+编译器平台,以实现与后端无关(物理、模拟)、来源单一且使用现代C的方法,以助力量子加速的高性能计算。QODA在本质上可以与现有的经典并行编程模型(例如CUDA,OpenMP和OpenACC)互操作。此编译器实施还可将量子-经典C+源代
6、码表征降级为二进制可执行文件,这些二进制可执行文件原本就面向支持CuQuantum的模拟后师。这种编程和编译工作流通过与GPU处理和电路模拟的标准互操作性,为加速混合算法的研究和开发活动提供了一个高性能的编程环境,这些GPU处理和电路模拟可从笔记本电脑扩展到分布式多节点、多GPU架构。autoghz=(constintN)_qpu_qoda:qregq(N);h(q0);for(autoi:qoda:irange(N-1)cnot(qijqi+1);mz(q);;/Samp1eaGHZstateon3qubitsautocounts=qoda:SamP1e(ghz,30);counts.dum
7、p();如代码示例所示,QODA提供了一种基于核的类CUDA编程方法,并将重点放在现代C+o你可以将量子设备代码定义为独立的函数对象或带有_qpu_标注的Iambda,以表明将在量子设备上编译和执行这些代码。通过依靠函数对象而不是自由函数(CUDA核方法),你可以实现一种构建通用标准量子库函数的高效方法,可以将任何量子核表达作为输入。这方面的一个简单示例是,标准采样QODA函数(qoda:samp1e(.,它采用一个量子核实例和任何要为其评估核的任何具体参数作为输入,并将观察到的量子位测量位字符串的熟悉映射返回到相应的观察次数。QODA核程序员可以访问与量子计算相关的某些内置类型(qoda:q
8、ubit、qoda:qreg、qoda:SPinOP等)、量子门运算以及所有继承自C+的传统经典控制流。之前我们详细介绍了语言编译方法的一个有趣的方面,即能够编译包含CUDA核、OpenMP和OPenACC杂注的QODA代码,以及更高级别的CUDA库API调用。这一功能将使混合量子-经典应用开发者能够真正协同利用多GPU处理与量子计算。未来的量子计算用例将需要进行经典的并行处理,比如数据预处理和后处理、标准量子编译任务和用于量子纠错的校验子译码等。抢先了解量子-经典应用变分量子特征求解算法(VQE)是一种原型混合量子经典算法,面向嘈杂的短期量子计算架构。VQE的目标是依靠量子力学的变分原理,计
9、算给定量子力学运算符(如哈密顿算符)对参数化状态制备电路的最低特征值。你需要使用给定的一组门旋转参数来执行状态制备电路,并执行由量子力学运算符结构决定的一组测量,以计算这些具体参数的期望值。然后,使用用户指定的经典优化器,通过改变这些参数来迭代搜索较低期望值。借助QODA编程,你可以看到通用的类VQE算法的外观模型:/DefineyourstateprepCmSatZ.autoansatz=(std:vectorthetas)_qpu_.UseC+contro1f1owandquantumintrinsicops.);/DefinetheHami1tonianqoda:spin_opH=.us
10、ex,y,Ztobui1dupHami1tonian.;/Createaspecificfunctionoptimizationstrategyintn_params=;qoda:n1opt:Ibfgsoptimizer;optimizer.initia1parameters=qoda:randomVeCtOr(-1,1npar./RuntheVQEa1gorithmwithQODAautoopt-va1jopt_params=qoda:vqe(ansatzjH,optimizer,n_params);printf(Optima1=%1fnjopt_va1);所需的主要组件是参数化的ansat
11、zQODA核表达式,代码示例中所示为1ambda,采用std:vectoro这个1ambda的实际主体取决于当前要处理的问题,但你可以自由地使用标准的C+控制流、范围内的量子核调用和量子内部运算的逻辑集来构建此函数。你需要的下一个组件是在计算期望值时所需的运算符。QODA使用内置spinop类型表示这些内容,你可以使用Pau1ix(int)y(int)和z(int)函数调用,以编程的方式来构建这些内容。接下来,你需要一个经典函数优化器,这是QODA语言规范中的一个通用概念,意思是将基于梯度或无梯度的特定优化策略归入子类。最后,该语言公开了一个标准库函数,用于调用整个VQE工作流。它会在QODA
12、核实例上进行参数化,该实例对状态准备ansatz进行建模,以下值是你需要的运算符:最小特征值经典优化实例变分参数总数然后,你会返回一个结构化绑定,用于编码状态准备电路的最佳特征值和相应的优化参数。前面的工作流非常普遍,有助于开发变分算法,这些算法最终在量子核表达式、感兴趣的旋转运算符和经典优化例程方面是通用的。但它也展示了QODA编程模型的基本理念:提供用于描述量子代码表达式的核心概念,然后促进通用标准函数库的实用性,从而实现混合量子经典算法组合。QODA早期兴趣计划量子计算机有望帮助我们解决一些非常重要的问题。我们正在向高性能计算和AI已经发挥关键作用的领域中的科学家和专家开放量子计算,并支持将目前较为出色的现有软件与量子软件轻松集成。这将显著加速量子计算机发挥其潜力。QODA提供了一个开放平台来实现这一目标,NVIDIA也很高兴能与整个量子社区合作,使实用的量子计算成为现实。申请参加QODA早期兴趣计划,随时了解NVIDIA量子计算发展新动态。审核编辑:汤梓红