To address the growing needs for scalable High Performance Computing (HPC) and Quantum Computing (QC) integration, we present our HPC-QC full stack framework and its hybrid workload development capability with modular hardware/device-agnostic software integration approach. The latest development in extensible interfaces for quantum programming, dispatching, and compilation within existing mature HPC programming environment are demonstrated. Our HPC-QC full stack enables high-level, portable invocation of quantum kernels from commercial quantum SDKs within HPC meta-program in compiled languages (C/C++ and Fortran) as well as Python through a quantum programming interface library extension. An adaptive circuit knitting hypervisor is being developed to partition large quantum circuits into sub-circuits that fit on smaller noisy quantum devices and classical simulators. At the lower-level, we leverage Cray LLVM-based compilation framework to transform and consume LLVM IR and Quantum IR (QIR) from commercial quantum software frontends in a retargetable fashion to different hardware architectures. Several hybrid HPC-QC multi-node multi-CPU and GPU workloads (including solving linear system of equations, quantum optimization, and simulating quantum phase transitions) have been demonstrated on HPE EX supercomputers to illustrate functionality and execution viability for all three components developed so far. This work provides the framework for a unified quantum-classical programming environment built upon classical HPC software stack (compilers, libraries, parallel runtime and process scheduling).
翻译:为应对可扩展高性能计算与量子计算融合日益增长的需求,本文提出一种采用模块化硬件/设备无关软件集成方法的HPC-QC全栈框架及其混合工作负载开发能力。我们展示了在现有成熟HPC编程环境中,面向量子编程、调度与编译的可扩展接口的最新进展。该框架通过量子编程接口库扩展,支持在编译型语言(C/C++与Fortran)及Python编写的HPC元程序中,以高层次可移植方式调用商业量子SDK中的量子内核。我们正在开发自适应电路编织管理程序,能够将大型量子电路划分为适配小型含噪量子设备与经典模拟器的子电路。在底层,我们基于Cray LLVM编译框架,以可重定向方式将来自商业量子软件前端的LLVM中间表示与量子中间表示转换并适配至不同硬件架构。通过在多节点多CPU/GPU的HPE EX超级计算机上演示若干混合HPC-QC工作负载(包括线性方程组求解、量子优化及量子相变模拟),验证了目前已开发三大组件的功能性与执行可行性。本工作为构建在经典HPC软件栈(编译器、函数库、并行运行时与进程调度系统)之上的统一量子-经典编程环境提供了基础框架。