摘要
“嵩山”超级计算机系统采用国产CPU处理器+DCU加速器的大规模异构体系结构,性能位居国际先进超算行列。量子傅里叶变换(QuantumFourierTransform,QFT)是Shor算法、量子相位估计算法等量予算法的关键核心。为了验证量子计算相关算法模拟在该平台上的可行性,以及推动量子算法面向国产“海光一号”DCU加速器的研究与优化,本文选取量子傅里叶变换算法模拟在“嵩山”超级计算机平台上进行实现和优化。主要工作如下: (1)选择量子线路计算模型为模拟模型,以libquantum库为工作基础,首先,对CPU上串行实现的QFT模拟程序进行研究和热点分析,得到QFT算法量子线路中的两个量子逻辑门相移变换R门和Hadamard门运行时间占程序总运行时间的90%;相移变换R门对概率幅信息的运算操作具有计算密集的特点,适合进行并行计算。然后,根据HIP异构编程模型,编写了相移变换R门和Hadamard门运算的设备函数,将QFT模拟的计算热点代码段映射至DCU实现。进一步,分析量子逻辑R门在模拟算法中对概率幅信息的操作,提出了一种提升DCU线程活跃度的优化方案,进而提升了相移变换R门在DCU上的运算效率,并为QFT算法模拟向多片DCU加速器扩展奠定了基础。 (2)为了解决单片DCU内存限制造成的无法继续扩展量子比特模拟规模的问题,本文开展了面向多DCU异构QFT模拟的研究。首先拓展至两片DCU,利用HIP流技术实现了主机端与设备端两片DCU加速器概率幅信息的并发传输和DCU上的并发运算;通过设计DCU上的量子逻辑门运算操作与主机端向设备端数据通信的重叠,降低了概率幅传输的通信时延,提升了主机和DCU加速器的利用率。 (3)在利用四片DCU进行更大量子比特规模QFT模拟研究时,随着量子信息数据规模的进一步增大,流技术过度占用主机端内存,降低了QFT模拟的整体效率。通过对算法与平台架构的分析,本文利用MPI+HIP-C的混合编程模式实现数据传输的并发和量子逻辑门的运算,进一步提升了面向四片DCU加速器QFT模拟的效率;经过分析,四卡并行时采用平均划分概率幅信息的方案会导致每片DCU上的计算任务分布不均,本文提出了一个面向不同DCU加速器内存的任务划分方案,使得模拟程序在每片DCU加速器上的计算任务尽量相同;最后针对DCU加速器的全局内存进行访存优化,采取对数据读取的合并来提升DCU加速器间的访存速度。 本文模拟优化方案已在“嵩山”超级计算机平台上实验验证,实现了单个计算节点上28-qubits规模的量子傅里叶变换模拟。采用本文针对数据传输和DCU加速器的优化方案模拟实现的量子傅里叶变换相较于CPU串行实现取得了20.275的加速比,文中的面向DCU加速设备的基础量子门优化方法和内存优化方案为本平台应用级多节点量子算法模拟的开展奠定了基础,同时为其他量子算法在国产异构平台上的高效模拟提供参考。