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

Descripción completa

Detalles Bibliográficos
Autores: López Fernández, Aurelio, Rodríguez Baena, Domingo Savio, Gómez-Vela, Francisco Antonio, Divina, Federico, García Torres, Miguel
Tipo de recurso: artículo
Fecha de publicación:2021
País:España
Institución:Universidad Pablo de Olavide (UPO)
Repositorio:RIO. Repositorio Institucional Olavide
Idioma:inglés
OAI Identifier:oai:rio.upo.es:10433/19661
Acceso en línea:https://hdl.handle.net/10433/19661
Access Level:acceso abierto
Palabra clave:Biclustering
GPU
CUDA
Descripción
Sumario: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.