Research and Implementation of the Gene Bayesian Network Construction Algorithm Based on Multi-core Environment
|School||Shanghai Jiaotong University|
|Course||Applied Computer Technology|
|Keywords||gene network Bayesian Network parallel computing OpenMP CUDA|
In the area of bioinformatics, researchers often use the relationships between gene‘s expressions, which is also called gene network to study the role gene plays in the process of protein synthesis. In order to study gene network, we often need to build up some models, Bayesian Network is one of the important models, which has very good flexibility and is good at deal with large number of gene expression data that may contain some noises or some random information. Furthermore, if embraced with prior knowledge of the network, it is able to construct a more accurate gene network. However, the process of building gene network is usually an iterative process, which is also a very complicated and time consuming process. In this paper, we first implement the gene Bayesian Network construction algorithm for the massive datasets called―Sparse Candidate‖algorithm and successfully construct the mouse brain‘s gene network. After that, we take advantage of the parallel computing technology in multicore environment and design an algorithm based on multicore CPU called pSC algorithm, we use OpenMP language to implement the pSC algorithm and achieve about 5.4x speedups in Intel I7 920 CPU, then we design an algorithm based on many-core GPU called gSC algorithm and use CUDA language to implement this algorithm and finally we achieve 8.6x speedup in a single NVIDIA M2050 GPU. In the end, we achieve 34.4x speedup in a heterogeneous environment that equips with Intel I7 920 and four NVIDIA M2050 GPUs, which greatly improve the efficiency of the program, thereby increase the productivity greatly.