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

ver descrição completa

Detalhes bibliográficos
Autores: Mejía-Roa, Edgardo, Tabas-Madrid, Daniel, Setoain, Javier, García Izquierdo, Carlos, Tirado, Francisco, Pascual-Montano, Alberto
Formato: artículo
Estado:Versión publicada
Fecha de publicación:2015
País:España
Recursos:Consejo Superior de Investigaciones Científicas (CSIC)
Repositorio:DIGITAL.CSIC. Repositorio Institucional del CSIC
OAI Identifier:oai:digital.csic.es:10261/125789
Acesso em linha:http://hdl.handle.net/10261/125789
Access Level:acceso abierto
Palavra-chave:Non-negative Matrix Factorization (NMF)
Graphics-Processing Unit (GPU)
Cuda
Multi-GPU implementation
Message Passing Interface (MPI)
Biclustering analysis
Sample classification
Gene-expression analysis
id ES_2ce17eac79ff8646d7e89b78a85bece4
oai_identifier_str oai:digital.csic.es:10261/125789
network_acronym_str ES
network_name_str España
repository_id_str
dc.title.none.fl_str_mv NMF-mGPU: non-negative matrix factorization on multi-GPU systems
title NMF-mGPU: non-negative matrix factorization on multi-GPU systems
spellingShingle NMF-mGPU: non-negative matrix factorization on multi-GPU systems
Mejía-Roa, Edgardo
Non-negative Matrix Factorization (NMF)
Graphics-Processing Unit (GPU)
Cuda
Multi-GPU implementation
Message Passing Interface (MPI)
Biclustering analysis
Sample classification
Gene-expression analysis
title_short 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_sort NMF-mGPU: non-negative matrix factorization on multi-GPU systems
dc.creator.none.fl_str_mv Mejía-Roa, Edgardo
Tabas-Madrid, Daniel
Setoain, Javier
García Izquierdo, Carlos
Tirado, Francisco
Pascual-Montano, Alberto
author Mejía-Roa, Edgardo
author_facet Mejía-Roa, Edgardo
Tabas-Madrid, Daniel
Setoain, Javier
García Izquierdo, Carlos
Tirado, Francisco
Pascual-Montano, Alberto
author_role author
author2 Tabas-Madrid, Daniel
Setoain, Javier
García Izquierdo, Carlos
Tirado, Francisco
Pascual-Montano, Alberto
author2_role author
author
author
author
author
dc.contributor.none.fl_str_mv Ministerio de Ciencia e Innovación (España)
Comunidad de Madrid
Instituto de Salud Carlos III
Ministerio de Educación, Cultura y Deporte (España)
CSIC - Unidad de Recursos de Información Científica para la Investigación (URICI)
Consejo Superior de Investigaciones Científicas [https://ror.org/02gfc7t72]
dc.subject.none.fl_str_mv Non-negative Matrix Factorization (NMF)
Graphics-Processing Unit (GPU)
Cuda
Multi-GPU implementation
Message Passing Interface (MPI)
Biclustering analysis
Sample classification
Gene-expression analysis
topic Non-negative Matrix Factorization (NMF)
Graphics-Processing Unit (GPU)
Cuda
Multi-GPU implementation
Message Passing Interface (MPI)
Biclustering analysis
Sample classification
Gene-expression analysis
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 .
publishDate 2015
dc.date.none.fl_str_mv 2015
2015
2015
2015
dc.type.none.fl_str_mv info:eu-repo/semantics/article
http://purl.org/coar/resource_type/c_6501
Publisher's version
info:eu-repo/semantics/publishedVersion
format article
status_str publishedVersion
dc.identifier.none.fl_str_mv http://hdl.handle.net/10261/125789
url http://hdl.handle.net/10261/125789
dc.language.none.fl_str_mv Inglés
language_invalid_str_mv Inglés
dc.relation.none.fl_str_mv #PLACEHOLDER_PARENT_METADATA_VALUE#
info:eu-repo/grantAgreement/MINECO/Plan Estatal de Investigación Científica y Técnica y de Innovación 2013-2016/BIO2013-48028-R
http://dx.doi.org/10.1186/s12859-015-0485-4

dc.rights.none.fl_str_mv info:eu-repo/semantics/openAccess
eu_rights_str_mv openAccess
dc.publisher.none.fl_str_mv BioMed Central
publisher.none.fl_str_mv BioMed Central
dc.source.none.fl_str_mv reponame:DIGITAL.CSIC. Repositorio Institucional del CSIC
instname:Consejo Superior de Investigaciones Científicas (CSIC)
instname_str Consejo Superior de Investigaciones Científicas (CSIC)
reponame_str DIGITAL.CSIC. Repositorio Institucional del CSIC
collection DIGITAL.CSIC. Repositorio Institucional del CSIC
repository.name.fl_str_mv
repository.mail.fl_str_mv
_version_ 1869405272221417472
spelling NMF-mGPU: non-negative matrix factorization on multi-GPU systemsMejía-Roa, EdgardoTabas-Madrid, DanielSetoain, JavierGarcía Izquierdo, CarlosTirado, FranciscoPascual-Montano, AlbertoNon-negative Matrix Factorization (NMF)Graphics-Processing Unit (GPU)CudaMulti-GPU implementationMessage Passing Interface (MPI)Biclustering analysisSample classificationGene-expression analysis[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 .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).P2010/BMD-2305/PROFUN-IIPeer reviewedBioMed CentralMinisterio de Ciencia e Innovación (España)Comunidad de MadridInstituto de Salud Carlos IIIMinisterio de Educación, Cultura y Deporte (España)CSIC - Unidad de Recursos de Información Científica para la Investigación (URICI)Consejo Superior de Investigaciones Científicas [https://ror.org/02gfc7t72]2015201520152015info:eu-repo/semantics/articlehttp://purl.org/coar/resource_type/c_6501Publisher's versioninfo:eu-repo/semantics/publishedVersionhttp://hdl.handle.net/10261/125789reponame:DIGITAL.CSIC. Repositorio Institucional del CSICinstname:Consejo Superior de Investigaciones Científicas (CSIC)Inglés#PLACEHOLDER_PARENT_METADATA_VALUE#info:eu-repo/grantAgreement/MINECO/Plan Estatal de Investigación Científica y Técnica y de Innovación 2013-2016/BIO2013-48028-Rhttp://dx.doi.org/10.1186/s12859-015-0485-4Síinfo:eu-repo/semantics/openAccessoai:digital.csic.es:10261/1257892026-05-22T06:33:51Z
score 15,81155