基于GPU集群的蛋白质数据系统发育推断及求解CNOP的并行算法研究
在科学计算领域,智能算法被广泛应用。本文主要围绕两个方面展开研究,一是基于GPU集群的蛋白质数据系统发育推断,二是求解条件非线性最优扰动(CNOP)的并行算法。
基于GPU集群的蛋白质数据系统发育推断
在蛋白质数据的系统发育推断中,传统的MrBayes方法存在一些问题,如非收敛问题和内存分配限制等。为了解决这些问题,研究人员提出了ta(MC)3这一改进的并行版本。
1. 块大小选择
在ta(MC)3中,实际驻留线程束的数量由内核使用的寄存器数量决定。当块大小设置为400时,每个块占用400 × 36 = 14,400个寄存器,每个多处理器最多可容纳4个块,每个块有13个线程束,总共52个线程束,超过了隐藏延迟所需的40个线程束,满足了充分利用的要求。此外,块大小为400与转移概率矩阵的大小相匹配,即20 × 20 = 400个单元,可实现合并内存访问并避免空闲线程。实验结果也表明,块大小为400是一个不错的选择。
2. 精度优化
当使用MrBayes分析具有过多分类单元或氨基酸位点的蛋白质数据时,可能会出现非收敛问题,其根本原因是分析大型数据集时累积的截断误差较大。为了提高精度,ta(MC)3采用了Kahan求和算法。具体操作如下:
- 在计算条件似然时,在GPU端实现Kahan求和算法。
- 在算法4中,在第7行之后声明新的寄存器y、el、er和t,并将el和er初始化为零。
- 将第9行替换为:
1: y ← TMl[m][k] × cl −
超级会员免费看
订阅专栏 解锁全文
12

被折叠的 条评论
为什么被折叠?



