Cent. Eur. J. Comp. Sci. • 1(4) • 2011 • 387-405
DOI: 10.2478/s13537-011-0028-7
GPUSVM: a comprehensive CUDA based support
vector machine package
Qi Li
1∗
, Raied Salman
1
, Erik Test
1
, Robert Strack
1
, Vojislav Kecman
1
1 Virginia Commonwealth University,
Richmond, VA 23284, US
GPUSVM (Graphic Processing Unit Support Vector Machine) is a Computing Unified Device Architecture (CUDA)
based Support Vector Machine (SVM) package. It is designed to offer an end-user a fully functional and user
friendly SVM tool which utilizes the power of GPUs. The core package includes an efficient cross validation tool,
a fast training tool and a predicting tool. In this article, we first introduce the background theory of how we build
our parallel SVM solver using CUDA programming model. Then we compare our GPUSVM package with the
popular state of the art Libsvm package on several well known datasets. The preliminary results have shown one
to two orders of magnitude speed improvement in both training and predicting phases compared to Libsvm using
our Tesla server.
parallel support vector machine • CUDA • GPU• cross validation
© Versita Sp. z o.o.
1. Introduction
The recent developments of Graphic Processing Unit (GPU) have shown superb computational performance on floating
point operations compared to the current mainstream multi-core Central Processing Unit (CPU). Certain high performance
GPUs are now designed to solve general purpose computing problems instead of graphic rendering, which was considered
as the sole purpose of using GPUs previously. More and more research work have shown promising performance results
gained by using GPUs on a wide area of topics. Two recent applications of using GPU for fast distance computations
[18] and Support Vector Machine (SVM) training [19] on large datasets have shown great speed improvements. Although
not all algorithms can be parallelized, many applications can benefit from the massive parallel processing capability of
GPU by doing some very simple tweaks. For example, using GPU Basic Linear Algebra Subroutines (CUBLAS)
1
instead
∗
E-mail: liq@vcu.edu
1
NVIDIA, CUDA CUBLAS Library, 2007