Support Vector Machine Are there some great cuda SVMs??

Hi there,
I am looking at some CUDA Support Vector Machine implementation but I did not find anything interesting; there is cuSVM http://patternsonascreen.net/cuSVM.html (but it is only for MATLAB, I need something that can run without MATLAB), CUDA implementation of libsvm http://mklab.iti.gr/project/GPU-LIBSVM (but this CUDA implementation uses only RBF kernel!! I need a POLYNOMIAL KERNEL!!).

Any other suggestions??

Any news??

They are both open source, so I’m not sure how hard it would be too add a poly kernel to the CUDA LIBSVM.

I’ve seen a few SVM implementations, but AFAIR none of them have reached a mature production-ready state, but got stuck after publication. I’m not sure about multisvm, though!

Thx for replying ;-)… it is not so simple to me to implement efficient support vector machine from scratch or from LIBSVM (there are many stuffs that I do not understand from source…), but I am figuring out how to use cuSVM poly kernel in my project. In the last days I have found another svm CUDA implementation gpusvm: http://www.cs.berkeley.edu/~catanzar/GPUSVM/… it is seem suit for my purpose.

Thx for replaying. I see… I gonna try it.

In the last days I have found gpusvm project: http://www.cs.berkeley.edu/~catanzar/GPUSVM/ there are some bugs that I should fix quickly (leakage and random crash) but seem works well in data set classification (when it does not crash…)

Did you manage to solve that kernel problem in order to apply polynomial kernel with this gpusvm?

did you find a solution ? I’ve also looked at cusvm, multisvm and gpu-libsvm. there’s also an interesting publication of linear cuda svm in http://www.springerlink.com/content/u803484488376376/ but source not published and author not responding. I tried getting cusvm to work on linux but not with much successs.

Hello there,

I have switched to libsvm GPU 3.0 (more stable :D)… and differences (in classification) between poly and rbf kernel are small (in my project…) :D;

Sorry that I have replied only now… but for some reason I cannot receive notification from this forum to my mailbox.

Cheers

Hi there. I’ve managed to get SVM poly classification work in GPU! adapted from SVMlight project.

Lol then you have adapted SVMlight http://svmlight.joachims.org/ from CPU to GPU…can you share your source with CUDA community (for above people… at the moment I am using only libsvm GPU for CUDA, but I am curious about your implementation and benchmark comparison SVMlight GPU vs SVMlight CPU vs libsvm GPU)??

Cheers

I’ll be mostly glad to do that. Nevertheless, I can’t do it right now because I’m using that in my MSc thesis. Once it’s published, defended and accepted, I swear that it’ll be posted =) (Which may happen in a couple of months at most).

Ahahaha ahahahh lol… really?? me too :D I have about 1 month to finish it!! Good luck :D

Cheers

is there any news in this topic? i need to make an implementation of svm with cuda and the SVMlight implementation sourcode would be very helpful to me.

Hi all,

Are there any updates on this thread? I am looking for a good GPU accelerated SVM. Most have parallelized just the kernel, I can find only one that has parallelized both the kernel and the solver function (KMLib @ https://github.com/ksirg/KMLib).

Unfortunately, I can not get KMLib to compile, plus it is based on Cudafy and an old version of CUDA. I love the .NET wrapper too! If only it would work for me…

I am keen to here if anyone has come across a CUDA5.5 or, even better, CUDA6.0RC based solution. I am also happy to consider OpenCL or other GPU languages compatible with the TITAN card also.

Language of choice is C++ or C#. Environment is VS 2012 or 2013.

Many thanks,

Colin.

I worked on something similar to this, the admm group lasso with mutiple lambdas.

The same author of that original MATLAB script Stephen Boyd wrote a MATLAB script for linear SVM:

http://www.stanford.edu/~boyd/papers/admm/svm/linear_svm.html

having looked at it I would say the group lasso is more complicated, and the latter part of the solver would be more less the same.

My mex interface for general case of the CUDA admm with mulitple lambdas is posted here:

https://github.com/OlegKonings/GLwithmex

that implementation operates on dense floating point data. It can run for up to 32 lambdas in parallel, and return the respective u and z vectors (for each lambda), as well as an integer vector with the number of iterations it took for convergence for its respective lambda.

With sufficient incentive I could write the SVM in CUDA in a couple days, re-using parts of the code. While that version is meant to be called from MATLAB, it would be no problem to write an executable, but C++ only , as C# is slow.

Hola, alguien habla español?

@skepsis
Mhhh sorry no.

I do not know if this is still of interest but there is also http://machinelearning.wustl.edu/pmwiki.php/Main/Wusvm

My question is I dont know if exist a library for SVM in cuda,

thank you!