Comparative study of different CPU and GPU performance in performing Genomic benchmarks
Chan, Eugene Xian Zhou
Date of Issue2017-11-23
School of Computer Science and Engineering
Millions of short sequences are produced because of the introduction of next-generation sequencing technology. Mapping reads to a reference genome proved to tedious and takes a long time, hence we use sequence alignment tools for this task. Alignment tools run on CPU but are slow for long read lengths due to limits on the number of cores the CPU is able to take in and its computing power certainly reaches a steady plateau, such that adding more cores will not improve the performance. Therefore, we turn to Graphics Processing Unit (GPU) to do intensive computing. GPUs contain numerous smaller cores that are powerful in performance when combined and are highly utilized for things such as image processing or gaming because of their highly parallel structure. Thus, processing huge blocks of data and computations can be done in parallel and this makes them superior to the CPUs. Previous comparative studies are CPU based with no considerations of GPUs. Thus, this project studies the comparison of CPU and GPU when conducting sequence alignment. A CPU with a lower specification is compared against one with higher specification and the alignment tools utilized are BWA-mem and Bowtie 2. For GPU, we have the Tesla K80 and P100 and the alignment tools utilized are BarraCUDA and NvBowtie. Intercomparing of CPU and GPU is possible because BWA-mem is similar to BarraCUDA and Bowtie 2 is similar to NvBowtie. Metrics collected is in terms of average completion time, power consumption and memory allocated for the tools. It is found that advancing from CPU to CPU++ gave a speed-up of 1.123 times for BWA-mem and 1.154 times for Bowtie 2. Advancing from CPU++ to K80 gave a speed-up of 11 times for BWA-mem and BarraCUDA, and 7 times for Bowtie 2 and NvBowtie. Lastly, moving up from K80 to P100 saw a speed-up of 1.2 times for BarraCUDA and 1.4 times for BarraCUDA. In terms of energy released, between CPU and GPU, an 8.03 times reduction during the runtime of BWA-mem or BarraCUDA. Between K80 and P100, a 1.45 times reduction during runtime of BarraCUDA. Using Bowtie 2 or NvBowtie, between CPU++ and K80, a 3.9 times reduction in energy released. Between K80 and P100, a 1.13 times reduction in energy released during runtime of NvBowtie. Thus, GPUs are a better alternative to multicores CPUs. The alignment process is still a challenge and there are many considerations when executing it. The alignment tools used in the project are not the only ones available in the market and other tools may provide a better throughput. However, to get quicker results, end users should venture towards adopting multi GPUs in their systems.
Final Year Project (FYP)
Nanyang Technological University