PyCuda - using video card hardware for parallel computation

classic Classic list List threaded Threaded
9 messages Options
Reply | Threaded
Open this post in threaded view
|

PyCuda - using video card hardware for parallel computation

Tony Cappellini-2

This is quite an interesting way to put a video card to use.

Does anyone have one of these Nvidia cards and have tried using the pyCude package?
http://mathema.tician.de/software/pycuda

Alex- were you at Pycon Italia this year? Did you happen to see this presentation? Comments?
http://mathema.tician.de/node/507


Fernando Perez - is this of any interest for your work?



_______________________________________________
Baypiggies mailing list
[hidden email]
To change your subscription options or unsubscribe:
http://mail.python.org/mailman/listinfo/baypiggies
Reply | Threaded
Open this post in threaded view
|

Re: PyCuda - using video card hardware for parallel computation

Glen Jarvis
This is eerily familier to a presentation I saw at UC Berkeley. His presentation was "Computing Big Trees: Hardware, Parallelism, and Algorithms" and his name was Alexandros Stamatakis (http://wwwkramer.in.tum.de/exelixis/people.html).

Or, it could be that this is just a hot field and we see lots of people doing something like this.

It was interesting..

Cheers,


Glen

On Tue, Jul 13, 2010 at 4:13 PM, Tony Cappellini <[hidden email]> wrote:

This is quite an interesting way to put a video card to use.

Does anyone have one of these Nvidia cards and have tried using the pyCude package?
http://mathema.tician.de/software/pycuda

Alex- were you at Pycon Italia this year? Did you happen to see this presentation? Comments?
http://mathema.tician.de/node/507


Fernando Perez - is this of any interest for your work?



_______________________________________________
Baypiggies mailing list
[hidden email]
To change your subscription options or unsubscribe:
http://mail.python.org/mailman/listinfo/baypiggies



--
Whatever you can do or imagine, begin it;
boldness has beauty, magic, and power in it.

-- Goethe

_______________________________________________
Baypiggies mailing list
[hidden email]
To change your subscription options or unsubscribe:
http://mail.python.org/mailman/listinfo/baypiggies
Reply | Threaded
Open this post in threaded view
|

Re: PyCuda - using video card hardware for parallel computation

Alex Martelli
In reply to this post by Tony Cappellini-2
On Tue, Jul 13, 2010 at 4:13 PM, Tony Cappellini <[hidden email]> wrote:

>
> This is quite an interesting way to put a video card to use.
>
> Does anyone have one of these Nvidia cards and have tried using the pyCude
> package?
> http://mathema.tician.de/software/pycuda
>
> Alex- were you at Pycon Italia this year? Did you happen to see this
> presentation? Comments?
> http://mathema.tician.de/node/507

Alas, I skipped my usual Italy trip this year (next year for sure --
we're hosting Europython in Firenze then!-).


Alex
_______________________________________________
Baypiggies mailing list
[hidden email]
To change your subscription options or unsubscribe:
http://mail.python.org/mailman/listinfo/baypiggies
Reply | Threaded
Open this post in threaded view
|

Re: PyCuda - using video card hardware for parallel computation

Fernando Perez
In reply to this post by Tony Cappellini-2
On Tue, Jul 13, 2010 at 4:13 PM, Tony Cappellini <[hidden email]> wrote:
>
> Does anyone have one of these Nvidia cards and have tried using the pyCude
> package?
> http://mathema.tician.de/software/pycuda

Andreas gave a 4-hour tutorial on pycuda and pyopencl at scipy 2 weeks ago:

http://conference.scipy.org/scipy2010/tutorials.html

and in the main conference, the Theano talk was also along these lines
and very interesting (video available):

http://conference.scipy.org/scipy2010/schedule.html

Cheers,

f
_______________________________________________
Baypiggies mailing list
[hidden email]
To change your subscription options or unsubscribe:
http://mail.python.org/mailman/listinfo/baypiggies
Reply | Threaded
Open this post in threaded view
|

Re: PyCuda - using video card hardware for parallel computation

Seth Friedman-2
This is really neat.   I've got a CUDA-capable nvidia card I'm thinking I want to write a python program to answer the following question: what/where is the effect of the GIL when programming 240/480/720 1.3ghz cores?   It seems like this question must have been conquered to some degree, at least.   Is this simply a non issue because there isn't any python "interpreting" happening in parallel, that it's translated in serial (assuming single-threaded/single-process python doing the farming to the GPUs) ..?  

seth

On Tue, Jul 13, 2010 at 5:56 PM, Fernando Perez <fperez.net@gmail.com> wrote:
On Tue, Jul 13, 2010 at 4:13 PM, Tony Cappellini <[hidden email]> wrote:
>
> Does anyone have one of these Nvidia cards and have tried using the pyCude
> package?
> http://mathema.tician.de/software/pycuda

Andreas gave a 4-hour tutorial on pycuda and pyopencl at scipy 2 weeks ago:

http://conference.scipy.org/scipy2010/tutorials.html

and in the main conference, the Theano talk was also along these lines
and very interesting (video available):

http://conference.scipy.org/scipy2010/schedule.html

Cheers,

f
_______________________________________________
Baypiggies mailing list
[hidden email]
To change your subscription options or unsubscribe:
http://mail.python.org/mailman/listinfo/baypiggies


_______________________________________________
Baypiggies mailing list
[hidden email]
To change your subscription options or unsubscribe:
http://mail.python.org/mailman/listinfo/baypiggies
Reply | Threaded
Open this post in threaded view
|

Re: PyCuda - using video card hardware for parallel computation

Andy Wiggin
On Tue, Jul 13, 2010 at 6:14 PM, Seth Friedman <[hidden email]> wrote:

> This is really neat.   I've got a CUDA-capable nvidia card I'm thinking I
> want to write a python program to answer the following question: what/where
> is the effect of the GIL when programming 240/480/720 1.3ghz cores?   It
> seems like this question must have been conquered to some degree, at
> least.   Is this simply a non issue because there isn't any python
> "interpreting" happening in parallel, that it's translated in serial
> (assuming single-threaded/single-process python doing the farming to the
> GPUs) ..?
>
> seth
>

Seth,
it doesn't look to me like any python code is actually executing on
the GPU. The "kernels" of code running on the GPU appear to still be
written in C (notice the C-format string literals when creating
SourceModule objects in the examples; that's what runs on the GPU). So
unfortunately I don't think you can do the experiment you're
describing.
Regards,
Andy
_______________________________________________
Baypiggies mailing list
[hidden email]
To change your subscription options or unsubscribe:
http://mail.python.org/mailman/listinfo/baypiggies
Reply | Threaded
Open this post in threaded view
|

Re: PyCuda - using video card hardware for parallel computation

Steve Lacy
Just saw this blog post come by and thought it was relevant to the discussion here:

http://ianozsvald.com/2010/07/14/22937-faster-python-math-using-pycuda/

Steve

On Wed, Jul 14, 2010 at 9:34 AM, Andy Wiggin <[hidden email]> wrote:
On Tue, Jul 13, 2010 at 6:14 PM, Seth Friedman <[hidden email]> wrote:
> This is really neat.   I've got a CUDA-capable nvidia card I'm thinking I
> want to write a python program to answer the following question: what/where
> is the effect of the GIL when programming 240/480/720 1.3ghz cores?   It
> seems like this question must have been conquered to some degree, at
> least.   Is this simply a non issue because there isn't any python
> "interpreting" happening in parallel, that it's translated in serial
> (assuming single-threaded/single-process python doing the farming to the
> GPUs) ..?
>
> seth
>

Seth,
it doesn't look to me like any python code is actually executing on
the GPU. The "kernels" of code running on the GPU appear to still be
written in C (notice the C-format string literals when creating
SourceModule objects in the examples; that's what runs on the GPU). So
unfortunately I don't think you can do the experiment you're
describing.
Regards,
Andy
_______________________________________________
Baypiggies mailing list
[hidden email]
To change your subscription options or unsubscribe:
http://mail.python.org/mailman/listinfo/baypiggies


_______________________________________________
Baypiggies mailing list
[hidden email]
To change your subscription options or unsubscribe:
http://mail.python.org/mailman/listinfo/baypiggies
Reply | Threaded
Open this post in threaded view
|

Re: PyCuda - using video card hardware for parallel computation

Seth Friedman-2
In reply to this post by Andy Wiggin
Right, I didn't think the python was actually running on GPU.    So for the case of a million element array where a minute of computation needs to be independently performed on each element, it seems relatively straightforward to send a CUDA swarm of worker bees at the problem.  What I'm thinking about is where there are relationships between elements and/or computation - essentially can the elements or worker bees have more logic such as control flow or intercommunication.      I'll spend some more time on the pycuda docs but what I think I'm wondering is essentially how rich is the language - is it really just compiling down certain data structures and math, or is there more of the expressive capability present in python.

On Wed, Jul 14, 2010 at 9:34 AM, Andy Wiggin <[hidden email]> wrote:
On Tue, Jul 13, 2010 at 6:14 PM, Seth Friedman <[hidden email]> wrote:
> This is really neat.   I've got a CUDA-capable nvidia card I'm thinking I
> want to write a python program to answer the following question: what/where
> is the effect of the GIL when programming 240/480/720 1.3ghz cores?   It
> seems like this question must have been conquered to some degree, at
> least.   Is this simply a non issue because there isn't any python
> "interpreting" happening in parallel, that it's translated in serial
> (assuming single-threaded/single-process python doing the farming to the
> GPUs) ..?
>
> seth
>

Seth,
it doesn't look to me like any python code is actually executing on
the GPU. The "kernels" of code running on the GPU appear to still be
written in C (notice the C-format string literals when creating
SourceModule objects in the examples; that's what runs on the GPU). So
unfortunately I don't think you can do the experiment you're
describing.
Regards,
Andy


_______________________________________________
Baypiggies mailing list
[hidden email]
To change your subscription options or unsubscribe:
http://mail.python.org/mailman/listinfo/baypiggies
Reply | Threaded
Open this post in threaded view
|

Re: PyCuda - using video card hardware for parallel computation

Andrew Akira Toulouse
Is expressivity really warranted at that abstraction level? If you're
doing a massively parallel computation tuned to nVidia graphics cars
that require no I/O, chances are that performance is important enough
that the program running on the CPU should distill the problem into
its most essential calculations.

At least, any environment not designed for that kind of environment
probably made compromises that were grossly inappropriate for the
platform, and your tradeoff of performance for expressivity could
sabotage the platform.

On Wed, Jul 14, 2010 at 12:09 PM, Seth Friedman <[hidden email]> wrote:

> Right, I didn't think the python was actually running on GPU.    So for the
> case of a million element array where a minute of computation needs to be
> independently performed on each element, it seems relatively straightforward
> to send a CUDA swarm of worker bees at the problem.  What I'm thinking about
> is where there are relationships between elements and/or computation -
> essentially can the elements or worker bees have more logic such as control
> flow or intercommunication.      I'll spend some more time on the pycuda
> docs but what I think I'm wondering is essentially how rich is the language
> - is it really just compiling down certain data structures and math, or is
> there more of the expressive capability present in python.
_______________________________________________
Baypiggies mailing list
[hidden email]
To change your subscription options or unsubscribe:
http://mail.python.org/mailman/listinfo/baypiggies