Parallelization of Python on GPU?
Sturla Molden
sturla.molden at gmail.com
Thu Feb 26 11:40:29 EST 2015
If you are doing SVM regression with scikit-learn you are using libSVM.
There is a CUDA accelerated version of this C library here:
http://mklab.iti.gr/project/GPU-LIBSVM
You can presumably reuse the wrapping code from scikit-learn.
Sturla
John Ladasky <john_ladasky at sbcglobal.net> wrote:
> I've been working with machine learning for a while. Many of the
> standard packages (e.g., scikit-learn) have fitting algorithms which run
> in single threads. These algorithms are not themselves parallelized.
> Perhaps, due to their unique mathematical requirements, they cannot be paralleized.
>
> When one is investigating several potential models of one's data with
> various settings for free parameters, it is still sometimes possible to
> speed things up. On a modern machine, one can use Python's
> multiprocessing.Pool to run separate instances of scikit-learn fits. I
> am currently using ten of the twelve 3.3 GHz CPU cores on my machine to
> do just that. And I can still browse the web with no observable lag. :^)
>
> Still, I'm waiting hours for jobs to finish. Support vector regression fitting is hard.
>
> What I would REALLY like to do is to take advantage of my GPU. My NVidia
> graphics card has 1152 cores and a 1.0 GHz clock. I wouldn't mind
> borrowing a few hundred of those GPU cores at a time, and see what they
> can do. In theory, I calculate that I can speed up the job by another five-fold.
>
> The trick is that each process would need to run some PYTHON code, not
> CUDA or OpenCL. The child process code isn't particularly fancy. (I
> should, for example, be able to switch that portion of my code to static typing.)
>
> What is the most effective way to accomplish this task?
>
> I came across a reference to a package called "Urutu" which may be what I
> need, however it doesn't look like it is widely supported.
>
> I would love it if the Python developers themselves added the ability to
> spawn GPU processes to the Multiprocessing module!
>
> Thanks for any advice and comments.
More information about the Python-list
mailing list