Title
Porting and optimizing UniFrac for GPUs: Reducing microbiome analysis runtimes by orders of magnitude
Abstract
UniFrac is a commonly used metric in microbiome research for comparing microbiome profiles to one another (“beta diversity”). The recently implemented Striped UniFrac added the capability to split the problem into many independent subproblems and exhibits near linear scaling. In this paper we describe steps undertaken in porting and optimizing Striped Unifrac to GPUs. We reduced the run time of computing UniFrac on the published Earth Microbiome Project dataset from 13 hours on an Intel Xeon E5-2680 v4 CPU to 12 minutes on an NVIDIA Tesla V100 GPU, and to about one hour on a laptop with NVIDIA GTX 1050 (with minor loss in precision). Computing UniFrac on a larger dataset containing 113k samples reduced the run time from over one month on the CPU to less than 2 hours on the V100 and 9 hours on an NVIDIA RTX 2080TI GPU (with minor loss in precision). This was achieved by using OpenACC for generating the GPU offload code and by improving the memory access patterns. A BSD-licensed implementation is available, which produces a C shared library linkable by any programming language.
Year
DOI
Venue
2020
10.1145/3311790.3399614
PEARC '20: Practice and Experience in Advanced Research Computing Portland OR USA July, 2020
DocType
ISBN
Citations 
Conference
978-1-4503-6689-2
1
PageRank 
References 
Authors
0.41
0
3
Name
Order
Citations
PageRank
Igor Sfiligoi112.10
Daniel McDonald210.75
Rob Knight336626.19