Lawrie David S
Los Angeles, California 90034
G3 (Bethesda). 2017 Sep 7;7(9):3229-3236. doi: 10.1534/g3.117.300103.
Forward Wright-Fisher simulations are powerful in their ability to model complex demography and selection scenarios, but suffer from slow execution on the Central Processor Unit (CPU), thus limiting their usefulness. However, the single-locus Wright-Fisher forward algorithm is exceedingly parallelizable, with many steps that are so-called "embarrassingly parallel," consisting of a vast number of individual computations that are all independent of each other and thus capable of being performed concurrently. The rise of modern Graphics Processing Units (GPUs) and programming languages designed to leverage the inherent parallel nature of these processors have allowed researchers to dramatically speed up many programs that have such high arithmetic intensity and intrinsic concurrency. The presented GPU Optimized Wright-Fisher simulation, or "GO Fish" for short, can be used to simulate arbitrary selection and demographic scenarios while running over 250-fold faster than its serial counterpart on the CPU. Even modest GPU hardware can achieve an impressive speedup of over two orders of magnitude. With simulations so accelerated, one can not only do quick parametric bootstrapping of previously estimated parameters, but also use simulated results to calculate the likelihoods and summary statistics of demographic and selection models against real polymorphism data, all without restricting the demographic and selection scenarios that can be modeled or requiring approximations to the single-locus forward algorithm for efficiency. Further, as many of the parallel programming techniques used in this simulation can be applied to other computationally intensive algorithms important in population genetics, GO Fish serves as an exciting template for future research into accelerating computation in evolution. GO Fish is part of the Parallel PopGen Package available at: http://dl42.github.io/ParallelPopGen/.
正向赖特 - 费希尔模拟在模拟复杂的种群统计学和选择场景方面功能强大,但在中央处理器(CPU)上执行速度较慢,因此限制了其用途。然而,单基因座赖特 - 费希尔正向算法具有极高的可并行性,许多步骤是所谓的“简单并行”,由大量相互独立的个体计算组成,因此能够并发执行。现代图形处理器(GPU)以及为利用这些处理器固有的并行特性而设计的编程语言的兴起,使得研究人员能够大幅加速许多具有高算术强度和内在并行性的程序。本文介绍的GPU优化的赖特 - 费希尔模拟(简称为“GO Fish”)可用于模拟任意选择和种群统计学场景,其运行速度比在CPU上的串行对应程序快250倍以上。即使是普通的GPU硬件也能实现超过两个数量级的显著加速。通过如此加速的模拟,不仅可以对先前估计的参数进行快速参数自举,还可以使用模拟结果根据实际多态性数据计算种群统计学和选择模型的似然性和汇总统计量,而无需限制可建模的种群统计学和选择场景,也无需为了效率而对单基因座正向算法进行近似。此外,由于此模拟中使用的许多并行编程技术可应用于群体遗传学中其他计算密集型算法,GO Fish为未来加速进化计算的研究提供了一个令人兴奋的模板。GO Fish是Parallel PopGen软件包的一部分,可从以下网址获取:http://dl42.github.io/ParallelPopGen/ 。