Accelerating Multiple Compound Comparison Using LINGO-Based Load-Balancing Strategies on Multi-GPUs.
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 O(n (2)), where n 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 O(k (2) n (2)) with k compounds of maximal length n. 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.
Department of Computer Science and Information Engineering, Chang Gung University, Taoyuan 33302, Taiwan.
Chun-Yuan
CY
Lin
Department of Computer Science and Information Engineering, Chang Gung University, Taoyuan 33302, Taiwan.
Chung-Hung
CH
Wang
Department of Computer Science and Communication Engineering, Providence University, Taichung 43301, Taiwan.
Che-Lun
CL
Hung
Department of Computer Science, National Tsing Hua University, Hsinchu 30013, Taiwan.
Yu-Shiang
YS
Lin