Table of Contents Author Guidelines Submit a Manuscript
International Journal of Genomics
Volume 2015 (2015), Article ID 950905, 9 pages
Research Article

Accelerating Multiple Compound Comparison Using LINGO-Based Load-Balancing Strategies on Multi-GPUs

1Department of Computer Science and Information Engineering, Chang Gung University, Taoyuan 33302, Taiwan
2Department of Computer Science and Communication Engineering, Providence University, Taichung 43301, Taiwan
3Department of Computer Science, National Tsing Hua University, Hsinchu 30013, Taiwan

Received 19 March 2015; Accepted 2 September 2015

Academic Editor: Hai Jiang

Copyright © 2015 Chun-Yuan Lin et al. This is an open access article distributed under the Creative Commons Attribution License, which permits unrestricted use, distribution, and reproduction in any medium, provided the original work is properly cited.


Compound comparison is an important task for the computational chemistry. By the comparison results, potential inhibitors can be found and then used for the pharmacy experiments. The time complexity of a pairwise compound comparison is , where is the maximal length of compounds. In general, the length of compounds is tens to hundreds, and the computation time is small. However, more and more compounds have been synthesized and extracted now, even more than tens of millions. Therefore, it still will be time-consuming when comparing with a large amount of compounds (seen as a multiple compound comparison problem, abbreviated to MCC). The intrinsic time complexity of MCC problem is with compounds of maximal length . In this paper, we propose a GPU-based algorithm for MCC problem, called CUDA-MCC, on single- and multi-GPUs. Four LINGO-based load-balancing strategies are considered in CUDA-MCC in order to accelerate the computation speed among thread blocks on GPUs. CUDA-MCC was implemented by C+OpenMP+CUDA. CUDA-MCC achieved 45 times and 391 times faster than its CPU version on a single NVIDIA Tesla K20m GPU card and a dual-NVIDIA Tesla K20m GPU card, respectively, under the experimental results.