论文部分内容阅读
电子断层(Electron Tbmograptly,ET)三维重构技术能够在纳米尺度下重构出不具有全同性的细胞或大分子的三维结构,已经成为一种公认的研究复杂生物大分子结构强有力的手段。然而目前电子断层三维重构存在重构结果不精确和重构速度极其缓慢等问题。本文主要针对当前电子断层三维重构存在的问题,从精度和速度两方面对传统电子断层三维重构算法进行优化,主要内容包括:
1.由于当前电镜的物理限制,电子断层的投影数据存在信息缺失和高噪声的问题。因此,如何在投影数据缺失和高噪声的情况下得到高精度的重构结果成为ET三维重构中非常重要的问题。本文提出一种自适应联合代数迭代算法(Adaptive Simultaneous Algebraic Reconstruction Techniqtle,ASART)。ASART重构算法使用一种blob模型来代替传统的voxel模型,能够更好地体现密度空间的连续性,使重构结果更加精确。而且,ASART分别从初值选择、投影数据获取策略、误差调整和列集合替代四个方面考虑,采用背投影算法(Back Proietion Technology,BPT)、多级获取策略(Modifled Multilevel Access Scheme,MMAS)、自适应误差调整(Adaptive Adjustment.Relaxation,AAR)和列集合替代(Column-sum Substitution,CSS)四种关键技术来提高迭代算法的收敛速度,获得高精度的重构结果。
2.在采用blob模型的迭代算法进行电子断层三维重构时,使用的加权矩阵R是一个大型的稀疏矩阵。随着投影图片尺寸和数量不断提高,加权矩阵R对内存的需求越来越大,目前的GPU显存根本无法直接存储这种大型稀疏矩阵,对于传统的集群并行架构的内存而言也是很大的负担。为了解决R矩阵的存储问题,我们提出了一种针对blob模型的稀疏矩阵存储结构blob-ELLR。这种存储结构策略利用对称性,采用三个对称策略,分别将存储容量节省25%、50%和50%。因此,blob-ELLR能够使存储容量降低到原来的1/16。
3.近年来,随着众核处理器和通用编程架构的不断发展,通过GPUs加速计算密集型应用已经成为高性能计算的一个新方向。本文在一种基于共享内存的多GPUs架构上实现了电子断层三维并行重构,并提出一种利用OpenMP+CUDA编程模型多级并行策略,分别在GTX295和Tesla C2050上获得了几十倍的加速比。而且,在多GPUs通信中,CUDA只提供同步通信机制,会导致GPU效率因等待数据通信而下降。本文提出了一种多GPU之间的异步通信机制,能够有效减少通信延迟,从而提高三维重构的速度。
4.随着高性能计算技术的飞速发展,利用集群系统和并行计算已经成为解决迭代重构算法速度慢和数据量巨大问题的关键。本文根据电子断层三维重构本身良好的并行性,提出了一种针对集群系统的电子断层三维重构多级并行策略,分别在纯CPU和CPU+GPU两种集群系统上的实现了并行重构。在传统纯CPU集群系统上利用MPI+OpenMP编程模型实现了电子断层三维重构并行化,并且在曙光4000H上取得了几十倍的加速比。在CPU+GPU集群系统上利用MPI+CUDA的编程模型实现电子断层三维重构多级并行策略,在超龙一号上获得上百倍的加速比,有效解决了当前电子断层重构速度缓慢的问题。