Abstract:Prediction of ribonucleic acid (RNA) secondary structure remains to be one of the most important research areas in bioinformatics. The Zuker algorithm is one of the most popular methods of free energy minimization for RNA secondary structure prediction. However, general-purpose computers including parallel computers or multi-core computers exhibit parallel efficiency of no more than 50% on Zuker. For this problem, a CPU-GPU hybrid computing system that accelerates the Zuker algorithm applications for RNA secondary structure prediction is proposed. The computing tasks were allocated between CPU and GPU for parallel cooperate execution. Performance differences between the CPU and the GPU in the task-allocation scheme were considered to obtain workload balance. To improve the hybrid system performance, the Zuker algorithm was optimally implemented with special methods for CPU and GPU architecture. A speedup of 15.93× over optimized multi-core SIMD CPU implementation and performance advantage of 16% over optimized GPU implementation were shown in the experimental results. More than 14% of the sequences were executed on CPU in the hybrid system. To the best of our knowledge, our implementation combining CPU and GPU is the only accelerator platform implementing the complete Zuker algorithm. Moreover, the hybrid computing system is proven to be promising and applicable to accelerate other bioinformatics applications.