Aumento do desempenho da support vector machine através de técnicas de paralelização de código em gpu
Resumo
A Support Vector Machine é um método de classificação de dados que vem experimentando
um aumento na sua popularidade. Este aumento se deve principalmente à publicação
da LIBSVM, biblioteca de código fonte que a implementa e está disponível em diversas linguagens
de programação. Desde sua publicação, vários trabalhos vêm buscando otimizar seu
desempenho através da paralelização de trechos de seu código fonte, sobretudo com a utilização
da Graphics Processor Unit, a GPU. Alguns destes trabalhos fazem uso do framework CUDA,
ficando restritos a GPUs da fabricante NVIDIA. Este trabalho propõe a paralelização da Support
Vector Machine com a utilização do framwork OpenCL, permitindo que a solução seja
portável para diferentes GPUs. A fase do processo classificatório escolhida para a otimização
foi a de treino. A solução final obteve speedup de três vezes em relação a versão sequencial da
LIBSVM, e foi desenvolvida utilizando duas GPUs de arquiteturas distintas.
Coleções
Os arquivos de licença a seguir estão associados a este item: