Universidad Complutense de Madrid
E-Prints Complutense

NMF-mGPU: non-negative matrix factorization on multi-GPU systems



Downloads per month over past year

Mejía Roa, Edgardo and Tabas Madrid, Daniel and Setoain Rodrigo, Javier and García Sánchez, Carlos and Tirado Fernández, Francisco and Pascual Montano, Alberto (2015) NMF-mGPU: non-negative matrix factorization on multi-GPU systems. BMC Bioinformatics, 16 . ISSN 1471-2105

Creative Commons Attribution.


Official URL: http://dx.doi.org/10.1186/s12859-015-0485-4



Background: In the last few years, the Non-negative Matrix Factorization (NMF) technique has gained a great interest among the Bioinformatics community, since it is able to extract interpretable parts from high-dimensional datasets. However, the computing time required to process large data matrices may become impractical, even for a parallel application running on a multiprocessors cluster. In this paper, we present NMF-mGPU, an efficient and easy-to-use implementation of the NMF algorithm that takes advantage of the high computing performance delivered by Graphics-Processing Units (GPUs). Driven by the ever-growing demands from the video-games industry, graphics cards usually provided in PCs and laptops have evolved from simple graphics-drawing platforms into high-performance programmable systems that can be used as coprocessors for linear-algebra operations. However, these devices may have a limited amount of on-board memory, which is not considered by other NMF implementations on GPU. Results: NMF-mGPU is based on CUDA (Compute Unified Device Architecture), the NVIDIA's framework for GPU computing. On devices with low memory available, large input matrices are blockwise transferred from the system's main memory to the GPU's memory, and processed accordingly. In addition, NMF-mGPU has been explicitly optimized for the different CUDA architectures. Finally, platforms with multiple GPUs can be synchronized through MPI (Message Passing Interface). In a four-GPU system, this implementation is about 120 times faster than a single conventional processor, and more than four times faster than a single GPU device (i.e., a super-linear speedup). Conclusions: Applications of GPUs in Bioinformatics are getting more and more attention due to their outstanding performance when compared to traditional processors. In addition, their relatively low price represents a highly cost-effective alternative to conventional clusters. In life sciences, this results in an excellent opportunity to facilitate the daily work of bioinformaticians that are trying to extract biological meaning out of hundreds of gigabytes of experimental information. NMF-mGPU can be used "out of the box" by researchers with little or no expertise in GPU programming in a variety of platforms, such as PCs, laptops, or high-end GPU clusters. NMF-mGPU is freely available at https://github.com/bioinfo-cnb/bionmf-gpu.

Item Type:Article
Additional Information:

© 2015 Mejía-Roa et al.; licensee BioMed Central.
This work was supported by the Spanish Ministry of Science and Innovation with grants [TIN2012-32180] and [BIO2013-48028-R]; by the Government of Madrid (CAM) with grant [P2010/BMD-2305]; by the PRB2-ISCIII platform, which is supported by grant PT13/0001 and the Children’s Tumor Foundation. In addition,EMR was supported by the scholarship FPU from the Spanish Ministry of Education. Finally, we acknowledge support of the publication fee by the CSIC Open Access Publication Support Initiative through its Unit of Information Resources for Research (URICI).

Uncontrolled Keywords:Gene-expression data; Processing units; Algorithms; Implementation; Discovery; Biology; Update; Parts
Subjects:Sciences > Computer science
Sciences > Computer science > Computer programming
ID Code:29632
Deposited On:20 Apr 2015 15:37
Last Modified:20 Apr 2015 15:37

Origin of downloads

Repository Staff Only: item control page