Fastest SVM implementation More of a general question. I'm running an rbf SVM for predictive modeling. I think my current program definitely needs a bit of a speed up. I use scikit learn with a coarse to fine grid search + cross validation. 
Each SVM run takes around a minute, but with all the iterations, I'm still finding it too slow. Assuming I eventually multi thread the cross validation part over multiple cores, any recommendations on speeding up my program? Any faster implementations of SVMs? I've heard of some GPU SVMs, but haven't digged into it much. Any users and is it faster?
 A: I realize this is a quite old question, but it's also possible (depending on the size of your dataset it can be more or less effective) to use low-dimensional approximations of the kernel feature map and then use that in a linear-SVM. See http://scikit-learn.org/stable/modules/kernel_approximation.html
A: Have a look at Python's multiprocessing module. It makes parallelizing things really easy and is perfect for cross validation.
A: R has a great GPU-accelerated svm package rpusvm, it takes ~20 seconds to train on 20K samples*100 dimensions, and I found that the CPU is never overloaded by it, so it uses the GPU efficiently. However, it requires a NVIDIA GPU.
A: Google's Sofia algorithm contains an extremely fast implementation of a linear SVM.  It's one of the fastest SVMs out there, but I think it only supports classification, and only supports linear SVMs.
There's even an R package!
A: The easiest speedup you're going to get is running the cross-validation in parallel.  Personally, I like the caret package in R, which uses foreach as a backend.  It makes it very easy to farm the cross-validation and grid search out to multiple cores or multiple machines.
Caret can handle many different models, including rbf SVMs:
library(caret)
library(doMC)
registerDoMC()
model <-  train(Species ~ ., data = iris, method="svmRadial", 
    trControl=trainControl(method='cv', number=10))
> confusionMatrix(model)
Cross-Validated (10 fold) Confusion Matrix 

(entries are percentages of table totals)

            Reference
Prediction   setosa versicolor virginica
  setosa       32.4        0.0       0.0
  versicolor    0.0       30.9       2.0
  virginica     0.9        2.4      31.3

Note that the doMC() library is only available on mac and linux, it should be run from the command line, not from a GUI, and it breaks any models from RWeka.  It's also easy to use MPI or SNOW clusters as parallel backend, which don't have these issues.
A: Alert: This is a shameless plug.
Consider DynaML a Scala based ML library I am working on. I have implemented Kernel based LS-SVM (Least Squares Support Vector Machines) along with automated Kernel tuning, using grid search or Coupled Simulated Annealing.
http://mandar2812.github.io/DynaML/
