Multi-GPU Implementation of Machine Learning Algorithm using CUDA and OpenCL
BurgSys, a.s., Hnevkovskeho 30/65, 617 00 Brno, Czech Republic
International Journal of Advances in Telecommunications, Electrotechnics, Signals and Systems, Vol 5, No 2, 2016
@article{masek2016multi,
title={Multi–GPU Implementation of Machine Learning Algorithm using CUDA and OpenCL},
author={Masek, Jan and Burget, Radim and Povoda, Lukas and Dutta, Malay Kishore},
journal={International Journal of Advances in Telecommunications, Electrotechnics, Signals and Systems},
volume={5},
number={2},
pages={101–107},
year={2016}
}
Using modern Graphic Processing Units (GPUs) becomes very useful for computing complex and time consuming processes. GPUs provide high-performance computation capabilities with a good price. This paper deals with a multi-GPU OpenCL and CUDA implementations of k-Nearest Neighbor (k-NN) algorithm. This work compares performances of OpenCLand CUDA implementations where each of them is suitable for different number of used attributes. The proposed CUDA algorithm achieves acceleration up to 880x in comparison witha single thread CPU version. The common k-NN was modified to be faster when the lower number of k neighbors is set. The performance of algorithm was verified with two GPUs dual-core NVIDIA GeForce GTX 690 and CPU Intel Core i7 3770 with 4.1 GHz frequency. The results of speed up were measured for one GPU, two GPUs, three and four GPUs. We performed several tests with data sets containing up to 4 million elements with various number of attributes.
June 14, 2016 by hgpu