论文部分内容阅读
以同步辐射实验为目标的加速器正追求更小的发射度,加速器越来越复杂,原件个数也随之增加。现代大型加速器中,加速器元件个数都以千计,因而在加速器设计及研究过程中需要大量的计算。除线性磁聚焦设计外,由于磁铁制造误差,以及其非线性原件引入的非线性问题无法给出其精确的解析解,为了优化这些非线性参数,需要做大量的粒子追踪计算。例如,在使用模拟追踪粒子运动来计算动力学孔径时,在磁铁元件中加载使用不同组别的磁场误差数据分配方式作为泰勒级数分量,通过反复检查评估制造误差在各个级数上的分布状况,以此优化可能的制造误差的分配,以期望获得尽量大的动力学孔径。在现代高能环形加速器中一般均采用强聚焦四级铁,这将引入强色品,为了校正色品采用了大量的色散六极铁。六极铁的引入带来了非线性效应,这将导致大振幅的粒子运动不稳定,影响到注入效率和束流寿命。针对不同类型环形加速器动力学孔径的限制,加速器物理学家进行了很多研究和优化。在研制一台加速器的过程中,依据粒子运动的追踪结果来确定六极铁的设置和对磁铁制造误差的要求属于十分繁重的工作。对于一台较大规模的加速器,这些粒子追踪计算需要很多的计算时间。提高计算的效率,减少计算程序运行的时间,可以大大缩短研究的周期,更快的进行相应参数的调整,以获得目标结果。采取并行计算方法能有效加快计算程序的运行速度。并行计算方法可以分为两种:使用GPU并行运算;使用多核CPU并行运算。本文通过分析加速器工具箱(AT)的程序工作原理以及运行流程,测试基于CUDA的GPU并行计算;测试基于OpenMP-MPI的混合编程并行计算。最终采用提高计算速度效果最明显,符合计算要求的OpenMP-MPI并行计算方法,之后以此为基础搭建多核心PC机的计算机群平台用于运行加速器物理相关计算程序。计算平台综合了消息传递和共享内存的特点,在计算底层使用共享内存(SMP),在计算顶层使用非一致内存访问(NUMA)实现节点内外的两级并行。由MPI处理计算节点之间进程级粗粒度并行,OpenMP解决集群节点内部单处理器多核心的交互,提供线程级细粒度并行。理论和数值分析表明,OpenMP-MPI混合并行与AT计算程序结构很好的结合起来,通过避免节点内部通信,改善负载平衡,提高了并行效率。并且该平台易于扩展,可以通过增加计算节点使得平台计算速度线性的增长来实现更庞大的计算目标。最后论文总结了所做工作,以及提出了进一步加快计算速度的方法。