Cargando…

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

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 matric...

Descripción completa

Detalles Bibliográficos
Autores principales: Mejía-Roa, Edgardo, Tabas-Madrid, Daniel, Setoain, Javier, García, Carlos, Tirado, Francisco, Pascual-Montano, Alberto
Formato: Online Artículo Texto
Lenguaje:English
Publicado: BioMed Central 2015
Materias:
Acceso en línea:https://www.ncbi.nlm.nih.gov/pmc/articles/PMC4339678/
https://www.ncbi.nlm.nih.gov/pubmed/25887585
http://dx.doi.org/10.1186/s12859-015-0485-4
_version_ 1782358897897504768
author Mejía-Roa, Edgardo
Tabas-Madrid, Daniel
Setoain, Javier
García, Carlos
Tirado, Francisco
Pascual-Montano, Alberto
author_facet Mejía-Roa, Edgardo
Tabas-Madrid, Daniel
Setoain, Javier
García, Carlos
Tirado, Francisco
Pascual-Montano, Alberto
author_sort Mejía-Roa, Edgardo
collection PubMed
description 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.
format Online
Article
Text
id pubmed-4339678
institution National Center for Biotechnology Information
language English
publishDate 2015
publisher BioMed Central
record_format MEDLINE/PubMed
spelling pubmed-43396782015-02-26 NMF-mGPU: non-negative matrix factorization on multi-GPU systems Mejía-Roa, Edgardo Tabas-Madrid, Daniel Setoain, Javier García, Carlos Tirado, Francisco Pascual-Montano, Alberto BMC Bioinformatics Software 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. BioMed Central 2015-02-13 /pmc/articles/PMC4339678/ /pubmed/25887585 http://dx.doi.org/10.1186/s12859-015-0485-4 Text en © Mejía-Roa et al.; licensee BioMed Central. 2015 This is an Open Access article distributed under the terms of the Creative Commons Attribution License (http://creativecommons.org/licenses/by/4.0), which permits unrestricted use, distribution, and reproduction in any medium, provided the original work is properly credited. The Creative Commons Public Domain Dedication waiver (http://creativecommons.org/publicdomain/zero/1.0/) applies to the data made available in this article, unless otherwise stated.
spellingShingle Software
Mejía-Roa, Edgardo
Tabas-Madrid, Daniel
Setoain, Javier
García, Carlos
Tirado, Francisco
Pascual-Montano, Alberto
NMF-mGPU: non-negative matrix factorization on multi-GPU systems
title NMF-mGPU: non-negative matrix factorization on multi-GPU systems
title_full NMF-mGPU: non-negative matrix factorization on multi-GPU systems
title_fullStr NMF-mGPU: non-negative matrix factorization on multi-GPU systems
title_full_unstemmed NMF-mGPU: non-negative matrix factorization on multi-GPU systems
title_short NMF-mGPU: non-negative matrix factorization on multi-GPU systems
title_sort nmf-mgpu: non-negative matrix factorization on multi-gpu systems
topic Software
url https://www.ncbi.nlm.nih.gov/pmc/articles/PMC4339678/
https://www.ncbi.nlm.nih.gov/pubmed/25887585
http://dx.doi.org/10.1186/s12859-015-0485-4
work_keys_str_mv AT mejiaroaedgardo nmfmgpunonnegativematrixfactorizationonmultigpusystems
AT tabasmadriddaniel nmfmgpunonnegativematrixfactorizationonmultigpusystems
AT setoainjavier nmfmgpunonnegativematrixfactorizationonmultigpusystems
AT garciacarlos nmfmgpunonnegativematrixfactorizationonmultigpusystems
AT tiradofrancisco nmfmgpunonnegativematrixfactorizationonmultigpusystems
AT pascualmontanoalberto nmfmgpunonnegativematrixfactorizationonmultigpusystems