文/张智磊 齐新 齐记 周庆国
超级计算参与加速器应用
文/张智磊1齐新1齐记1周庆国2
1932年由美国科学家柯克罗夫特(J.D.Cockcroft)和爱尔兰科学家沃尔顿(E.T.S.Walton)建立的第一台直流质子加速器为闪烁的近代物理世界掀开了崭新的一页。在随后的几十年中,加速器发展迅速,在自身理论发展和完善的同时,广泛地带动了物理、化学、生物等科学的迅速发展。各式各样的不同构造、不同应用背景的加速器为其他学科提供了一种先进又可靠的实验手段,促进了物理以及其他交叉学科的快速发展。
超级计算的出现,对加速器的迫切发展提供了及时而有力的支持。因为加速器对带电粒子的加速是一个复杂而且迅速的过程,所以在加速器设计过程中,获取粒子的运动形态和运动过程在实验和工程方面是一个很大的难题。
加速器是一种可以将带电粒子加速到能量很高的实验装置。在近代加速器发展过程中,加速器物理发展成一门独立的科学,而加速器建设本身也是一项宏伟而充满挑战的大科学工程。加速器本身在核物理、高能物理和功率生成等应用方面,它有着不可替代的地位,而在工业、农业、同步辐射、干涉辐射、医学、环境保护、军事等方面也有着举足轻重的作用。例如,基于加速器装置的重离子治癌技术是目前我国最前沿、最有效、最成功的癌病治疗技术,为推动国家医疗卫生事业和社会经济的又好又快发展作出了积极贡献;通过合理能量的粒子束或x射线照射手段实现的辐照育种、辐照保鲜等技术不会有残余放射性,有很大的应用前景,为促进我国农业的发展做出了很大贡献;通过加速器获得自由电子激光的技术,可以应用在飞机与舰船隐形的研究中,在毫米波激光雷达、反隐形军事目标和激光致盲等研究中具有不可替代的重要应用价值,是维护国家主权和领土完整的坚强技术保障。
超级计算的出现,对加速器的发展提供了及时而有力的支持。因为加速器对带电粒子的加速是一个复杂而且迅速的过程,所以在加速器设计过程中,获取粒子的运动形态和运动过程在实验和工程方面是一个很大的难题。通过在纯粹的实验层面设计加速器而得到符合设计需求的粒子束,是基本不可能实现的。这个过程必须借助计算机模拟来实现。通过计算机手段完成对加速器中束流状态的模拟就是加速器束流模拟。加速器束流模拟在加速器设计阶段,通过计算模拟束流在加速器中的运动过程与形态,为调节加速器不同部件的参数提供了有力的依据,可以更为直观地给出束流在加速器中的变化趋势。超级计算在加速器束流模拟方面,为模拟过程提供了更宽广的应用前景。
超级计算在加速器束流模拟过程主要有以下几方面的契机:
1. 超级计算卓越而出众的空间分配特性,对存储数据量需求极大的加速器束流模拟提供了有力的支持。加速器束流模拟过程中,我们需要对在加速器中运行的粒子逐个分析,通过计算来获取该粒子的位置,速度,能量等信息的变化。在粒子数量很大的时候,对这些数据的记录和存储是很困难的。集群计算为模拟过程提供了很好的应用平台,通过对粒子信息的收集分析,分配到逐个终端中,可以很有效地解决内存空间短缺的问题。在加速器束流模拟过程中,可以更真实地模拟粒子加速过程。
2. 超级计算快速而高效的计算能力,为计算消耗极大的加速器束流模拟提供了良好的硬件条件。在早期加速器束流模拟程序设计过程中,出于对计算消耗的考虑,对加速器内粒子运动所占用的空间和时间划分并不是很细致。过为紧密的空间和时间划分,对计算成本有很大的消耗。所以在设计过程中,需要寻找加速器束流模型空间、时间设计与所对应计算开销的平衡点。而超级计算的出现,依靠它卓越的计算处理能力,可以很好地处理这个矛盾。在加速器束流模拟过程,更为细致的空间描述,更为精密的时间划分,对粒子运动的过程分析可以更为客观。对加速器中的粒子运动过程的细腻描述,是超级计算所独有的优点。
3. 在超级计算中多线程并行技术的应用,可以为加速器束流模拟提供更好的物理模型和算法支持。在加速器束流模拟的物理模型和算法模型设计时,我们有很多经典的模型和算法可以选择。而这些模型和算法中似乎有很多就是为并行计算而生,并行技术为之大显身手提供了广阔的舞台。与计算设备硬件匹配的物理模型和算法设计,可以尽可能地提高软件的并行效率,从而使模拟计算效率提升很多倍。这个契机为加速器模拟提供了很多新的思路和手段,这是未来加速器束流模拟的发展方向。
图1 束流经过中能段后的状态
中国科学院近代物理研究所超算中心依托于兰州重离子加速器围绕加速器建设和维护而开发加速器束流模拟软件。该模拟软件在深腾7000G超级计算集群上采用PIC(Particle-in-cell)质点网格方法开发,利用超级计算优异的性能,更高效、更细致、更真实的模拟全加速器过程束流的运动轨迹与形态。深腾7000G是CPU/GPU混合集群,支持GPU程序开发。
在加速器束流模拟软件集群开发方面,我们主要做了以下设计:
1. 针对CPU/GPU混合集群的硬件结构,合理的划分和设计模拟过程的算法结构。在大规模并行尤其是数据并行计算领域,GPU拥有CPU所无法比拟的处理能力。针对CPU/GPU混合硬件架构,对加速器束流模拟设计可靠的算法结构,有针对性地统筹安排CPU和GPU所负责的加速器模拟中的各个部分,高效的利用GPU的运算能力的前提下,尽可能地使加速器束流模拟软件最大的发挥超算集群的硬件结构特性。
2. 发挥超级计算高效的计算和处理能力,更为细致地描述全加速器中粒子的运动过程。细化物理过程的同时,通过对超级计算特性的把握,使集群的计算能力得到最大的发挥,更为真实的、细致的描述加速器中粒子的运动过程。在对空间和时间的划分中,采用更为紧密的空间描述和时间描述方式;在对粒子运动过程的模拟中间提高粒子的数量,充分考虑粒子与粒子之间的相互作用,为加速器设计提供更精确、可靠的模拟结果。
3. 发挥超级计算并行技术的优点。在物理模型和关键算法的选择和设计上,采用更适合并行处理的方法。统一物理模型结构和集群硬件结构,提高模拟软件的并行效率,用并行的手段描述物理过程,在软件结构上实现加速器束流模拟的全并行。深入研究加速器束流模拟的关键算法,优化关键算法的并行结构,更有效地完成关键算法的并行求解过程。并对常用算法,开发适用范围更广、效率更高的并行算法程序包。在准确地描述加速器束流模拟的前提下,使并行技术和加速器束流模拟达到完美结合。
目前,中国科学院近代物理研究所超算中心在加速器束流模拟过程已取得初步成果。在加速器束流的中能段模拟过程中,束流经过加速器中能段加速后,束流完成预期设计的变化结果(图1),图中是束流在x、y、z方向的相图和x-y方向的分布。
超级计算推动着科技的发展与进步。在加速器束流模拟方面,超级计算已然做了很多,它给我们带来了太多的惊喜。而在超级计算阔步前进的过程中,相信在我们的共同努力下,超级计算可以帮助加速器束流模拟走地更远,展现更美好的明天。
(作者单位:1为中国科学院近代物理研究所;2为兰州大学)