Abstract:
Single particle cryo-electron microscopy (cryo-EM) is one of the most important methods of macromolecular structure. RELION (regularized likelihood optimization) is an open-source computer program for the refinement of macromolecular structures by single-particle analysis of cryo-EM data. Due to its easy usage and high quality results, RELION has attracted a lot of attentions from researchers. However, the computation requirement of this program is too huge to solve some large molecular structures with CPU, which harpers the popularization of RELION. In this paper, we characterize the algorithm of RELION and parallelize it with GPU. Firstly, the mathematical theory, computer patterns and performance bottlenecks of RELION are analyzed comprehensively. Then, we optimize the program targeting at fine-grained many-core architecture processor, such as GPU. We propose an efficient multi-level parallel model to utilize the powerful computation capacity of many-core processor. In order to achieve high performance, we reconstruct the data structure for GPU continues memory access. To avoid the limitation of GPU memory size, we implement an adaptive framework. The experimental results show that the proposed GPU based algorithm can achieve good performance. When compared with the CPU implementation, the speedup ratio of the application is more than 36 times, while the speedup ratio of compute-intensive algorithm is about 75X. Moreover, the testing results on multi GPUs show that the GPU based implementation has good scalability.