论文部分内容阅读
冷冻电镜已经发展为研究蛋白质结构最重要的手段之一,而从电镜图像进行单粒子三维重构是确定三维结构的主要方法。随着相关仪器设备和数据获取手段进步,产生的原始数据量也迅速增长,对数据处理能力提出了越来越高的要求。目前,为了获得一个高质量的三维重构结果,所需的计算量已经超过千万亿次浮点操作(PetaFlop)。
目前,构建千万亿次超级计算机系统的主流趋势是采用通用CPU和加速部件的异构处理器技术,如基于Cell Blade Engine(CBE)的千万亿次系统IBM Roadrunner。近年来,GPU的计算能力增长速度已经超过了摩尔定律,最新一代的GPU浮点峰值达到了1万亿次/秒(1TFlops),而且在单位价格和功耗的计算能力比CPU高出几乎一个数量级。到目前为止,已有大量来自众多领域的应用和数学库成功的在GPU上实现了加速。
本论文从分析应用特征出发,探讨适合GPU体系结构加速的负载特征,重点围绕冷冻电镜的单粒子三维重构算法,研究基于GPU加速部件的优化方法,论文的主要内容包括:
1.详细分析了单粒子三维重构算法的负载特征。对主要计算核心进行了深入的负载分析,重点关注其并行层次、算术密度、访存模式等关键特征。结果表明该算法在任务级、线程级和数据并行这几个不同层次上都有丰富的并行潜力,十分适合采用异构协处理器加速计算。提出了判断是否适合GPU计算的应用指标,包括:数据并行、计算密集、访存规则、CPU通信较少
2.考虑到GPU体系结构的特点,提出了一种面向GPU执行模型的优化框架。并在此基础上提出了针对GPU存储层次和执行模型的一系列优化方法,针对这些优化方向在存储管理、访存聚合、线程数据映射关系等多个环节做了大量的改进,对各种实现方案进行广泛的测试。
3.基于最流行的单粒子三维重构软件之一EMAN,在Nvidia CUDA环境下实现了并行化的单粒子三维重构程序EMAN-CUDA。在Nvidia G80体系结构上的实验表明EMAN-CUDA的核心代码相对于在AMD1.7GHZ Opteron CPU上获得10倍左右的加速比,实验还分析验证了论文提出的优化方法的有效性。