A GPU/FPGA-Based K-Means Clustering Using a Parameterized Code Generator

  • Jeronimo Costa Penha UFV / CEFET-MG
  • Lucas Bragança UFV
  • Kristtopher Coelho UFV
  • Michael Canesche UFV
  • Jansen Silva UFV
  • Giovanni Comarela UFV
  • José Augusto M. Nacif UFV
  • Ricardo Ferreira UFV

Resumo

The K-means algorithm is a method used for the unsupervised learning task of data clustering. This work presents a K-means specific domain code generator capable of generating code for GPUs and FPGAs. To increase efficiency, the code is parameterized and specialized for Nvidia GPUs and Intel/Altera CPU-FPGA HARP v.2 platform. Furthermore, the generator is modular and can be extended to other FPGA and GPU platforms. Another contribution of this work is to simplify the use of high performance FPGAs for programmers, once our generator does not require hardware knowledge in order to provide a high performance accelerator at the software level. The generator also simplifies GPU programming. In comparison to an Intel XEON CPU, our experiments show a 55x speed-up for the GPU execution time and a 13.8x speed up for the FPGA. With regard to energy, the FPGA was up to 10 times more efficient than the evaluated GPUs (Nvidia K40 and 1080ti).
Publicado
2018-10-01
Como Citar
PENHA, Jeronimo Costa et al. A GPU/FPGA-Based K-Means Clustering Using a Parameterized Code Generator. Anais do Simpósio em Sistemas Computacionais de Alto Desempenho (SSCAD), [S.l.], p. 61-69, out. 2018. ISSN 0000-0000. Disponível em: <https://sol.sbc.org.br/index.php/sscad/article/view/15642>. Acesso em: 17 maio 2024.