A multi-GPU biclustering algorithm for binary datasets

Graphics Processing Units technology (GPU) and CUDA architecture are one of the most used options to adapt machine learning techniques to the huge amounts of complex data that are currently generated. Biclustering techniques are useful for discovering local patterns in datasets. Those of them that h...

ver descrição completa

Detalhes bibliográficos
Autores: López Fernández, Aurelio, Rodríguez Baena, Domingo Savio, Gómez-Vela, Francisco Antonio, Divina, Federico, García Torres, Miguel
Formato: artículo
Fecha de publicación:2021
País:España
Recursos:Universidad Pablo de Olavide (UPO)
Repositorio:RIO. Repositorio Institucional Olavide
Idioma:inglés
OAI Identifier:oai:rio.upo.es:10433/19661
Acesso em linha:https://hdl.handle.net/10433/19661
Access Level:acceso abierto
Palavra-chave:Biclustering
GPU
CUDA
Descrição
Resumo:Graphics Processing Units technology (GPU) and CUDA architecture are one of the most used options to adapt machine learning techniques to the huge amounts of complex data that are currently generated. Biclustering techniques are useful for discovering local patterns in datasets. Those of them that have been implemented to use GPU resources in parallel have improved their computational performance. However, this fact does not guarantee that they can successfully process large datasets. There are some important issues that must be taken into account, like the data transfers between CPU and GPU memory or the balanced distribution of workload between the GPU resources. In this paper, a GPU version of one of the fastest biclustering solutions, BiBit, is presented. This implementation, named gBiBit, has been designed to take full advantage of the computational resources offered by GPU devices. Either using a single GPU device or in its multi-GPU mode, gBiBit is able to process large binary datasets. The experimental results have shown that gBiBit improves the computational performance of BiBit, a CPU parallel version and an early GPU version, called ParBiBit and CUBiBit, respectively. gBiBit source code is available at https://github.com/aureliolfdez/gbibit.