Font Size: a A A

Paralleled Implementation Of Sphgen Program Generating Spheres Representing Atoms

Posted on:2017-11-18Degree:MasterType:Thesis
Country:ChinaCandidate:Y Y YuFull Text:PDF
GTID:2348330533951480Subject:Computer system architecture
Abstract/Summary:PDF Full Text Request
The molecular docking is referred to that the function between small-molecule ligands and macromolecular receptors is simulated by computes,which has been a significant technology in Computer-aided drug design.In the past several decades,the research groups in the world have developed a number of software of molecular docking,in which DOCK software developed by Kuntz research group is most widely used.The Sphgen program which is used to generate spheres representing atoms is a very important step of DOCK program.The Sphgen program runs very long and delay molecular docking seriously.So it is necessary to speed up the calculation of the Sphgen program through the technology of parallel computing.In fact,Kuntz research group had developed a paralleled Sphgen program based on pthreads.The speedup of this paralleled Sphgen program,however,is quite low.When this paralleled-Sphgen program is run on 16 cpus,its speedup is at most 8.9.The cause of the speedup of the paralleled-Sphgen program being very low is load imbalance.So,this paper has proposed three ways to solve the load imbalance at first: removing zero-atoms,the partitioning of computational data non-equally,and dynamic scheduling.The partitioning of computational data non-equally is a innovation way of partitioning of computational data achieved through theoretical derivation,which make sure that the time complex of the computational task of each cpu is equal in theory.The speedup of the paralleled-Sphgen program increases 5.0 at best through three improved methods.Second,this paper has developed version 2 of paralleled-Sphgen program based on MPI+OpenMP.The biggest difficulty we are faced in this section is that the serial Sphgen program has been implemented by C++,but MPI is unable to transfer C++ object.So this paper has solved this difficulty mainly.This paper has developed two functions MPI_Send_Object and MPI_Recv_Object which are used to transfer C++ object through mechanisms of object serialization.That the C++ object is transferred through MPI becomes very simple.At last,this paper has developed version 3 of paralleled-Sphgen program based on CUDA.Three versions of paralleled-sphgen program has been compared by this paper and the computational efficiency of cuda-version Sphgen program is the most efficient.
Keywords/Search Tags:parallel computing, load imbalance, non-equal partitioning, object-serialization, CUDA
PDF Full Text Request
Related items