Post date: Feb 27, 2010 7:22:17 PM
GPUSVM is a GPUBase-based class for training and evaluation of Support Vector Machines in the GPU. It uses a special parallel version of the Sequential Minimal Optimization algorithm where all lagrangian pair combinations are tuned once in N-1 iterations. The last version can be found both in this post and in the GPUBase SourceForge page.
The following types of kernels are supported:
GPUSVM includes a pair of training and evaluation tools completely compatible with the SVM-Light model and data formats. It includes an script to download and convert some corpus from the UCI Machine Repository for quick testing. A CPU-only version of the library and the tools is also available for speed-up checking (for training operations, compared to SVM-Light though not doing the same but usually leaving similar results, the speed-up it's so huge that sometimes needs to be plotted in logarithmic scale).
This was my personal proposed project for the 2008 Advanced Neural Networks class from the M.Sc. in Artificial Intelligence, Pattern Recognition and Digital Image at the Polytechnic University of Valencia. A project analysis was written which includes algorithm theory, implementation details and performance evaluation (spanish only). This can be also found in this post, together with an appendix comparing classification performance results with SVM-Light and the project presentation slides (spanish also).
The method proposed here is likely to achieve even better results when using CUDA or OpenCL. Maybe I'll research about this and some convergence optimizations when I have enough free time.