Discussion:
GPU/CUDA & common lisp
Tamas Papp
2011-09-29 13:54:15 UTC
Permalink
Content preview: Hi everyone, I am about to buy a new server for number crunching,
and I would like to keep my options open about GPU/CUDA based computations.
The most intensively parallelizable thing that I am doing is particle filtering,
and currently that works fine (and is really fast) in a multi-core CPU with
SBCL, but I keep hearing wonderful things about GPUs from people, and I was
wondering if I could make use of them but still program in CL. [...]

Content analysis details: (-2.8 points, 5.0 required)

pts rule name description
---- ---------------------- --------------------------------------------------
-2.3 RCVD_IN_DNSWL_MED RBL: Sender listed at http://www.dnswl.org/, medium
trust
[80.91.229.12 listed in list.dnswl.org]
0.0 FREEMAIL_FROM Sender email is commonly abused enduser mail provider
(tkpapp[at]gmail.com)
-0.0 SPF_HELO_PASS SPF: HELO matches SPF record
-0.0 SPF_PASS SPF: sender matches SPF record
-0.5 RP_MATCHES_RCVD Envelope sender domain matches handover relay domain
0.0 T_TO_NO_BRKTS_FREEMAIL To: misformatted and free email service
Archived-At: <http://permalink.gmane.org/gmane.lisp.cl-pro/559>

Hi everyone,

I am about to buy a new server for number crunching, and I would like to
keep my options open about GPU/CUDA based computations. The most
intensively parallelizable thing that I am doing is particle filtering,
and currently that works fine (and is really fast) in a multi-core CPU
with SBCL, but I keep hearing wonderful things about GPUs from people,
and I was wondering if I could make use of them but still program in CL.

I basically have two questions:

- What is the current status of using CPUs for computation in CL (in
particular SBCL)? All I found was CL-GPU but I haven't tried it yet (my
current server does not have a GPU).

- What hardware is supported (if I want to use CL)? Can I use something
like Nvidia's TESCLA C line?

Any help/pointers/accounts would be appreciated, I am just exploring this
so I don't know much about it yet, apologies if I am not asking the right
questions.

Best,

Tamas
Alexander Repenning
2011-09-29 18:16:06 UTC
Permalink
Post by Tamas Papp
Hi everyone,
I am about to buy a new server for number crunching, and I would like to
keep my options open about GPU/CUDA based computations. The most
intensively parallelizable thing that I am doing is particle filtering,
and currently that works fine (and is really fast) in a multi-core CPU
with SBCL, but I keep hearing wonderful things about GPUs from people,
and I was wondering if I could make use of them but still program in CL.
- What is the current status of using CPUs for computation in CL (in
particular SBCL)? All I found was CL-GPU but I haven't tried it yet (my
current server does not have a GPU).
I assume you mean GPUs...

This is an XMLisp example using GLSL for image processing (blur and color saturation) via a shader getting about 100 GFlops (that is a lot):

http://www.google.com/codesearch#wtZMaMetHdI/trunk/XMLisp/sources/XLUI/examples/3D/GLSL%20OpenGL%20Blur%20shader.lisp&q=shader%20package:http://xmlisp%5C.googlecode%5C.com&ct=rc&cd=1&sq=

The integration with Common Lisp is: CLs load and compiles the shader (via GLSL functions) and communicates via glUniform functions in real time. Some of the image processing happens in CL via GL functions running on the CPU but the main part is the shader processing pixels/texels on the GPU.
Post by Tamas Papp
- What hardware is supported (if I want to use CL)? Can I use something
like Nvidia's TESCLA C line?
CUDA has its own set of requirements but GLSL runs on most video cards unless they are super old. E.g., on Mac hardware:

http://developer.apple.com/graphicsimaging/opengl/capabilities/


not sure this is useful, Alex
Post by Tamas Papp
Any help/pointers/accounts would be appreciated, I am just exploring this
so I don't know much about it yet, apologies if I am not asking the right
questions.
Best,
Tamas
_______________________________________________
pro mailing list
http://lists.common-lisp.net/cgi-bin/mailman/listinfo/pro
Prof. Alexander Repenning

University of Colorado
Computer Science Department
Boulder, CO 80309-430

vCard: http://www.cs.colorado.edu/~ralex/AlexanderRepenning.vcf
Mirko Vukovic
2012-04-04 13:58:23 UTC
Permalink
Content preview: Tamas Papp <***@...> writes: > > Hi everyone, > > I am
about to buy a new server for number crunching, and I would like to > keep
my options open about GPU/CUDA based computations. The most > intensively
parallelizable thing that I am doing is particle filtering, > and currently
that works fine (and is really fast) in a multi-core CPU > with SBCL, but
I keep hearing wonderful things about GPUs from people, > and I was wondering
if I could make use of them but still program in CL. > > ... stuff deleted
Post by Tamas Papp
Best, > > Tamas > > [...]
Content analysis details: (-0.0 points, 5.0 required)

pts rule name description
---- ---------------------- --------------------------------------------------
0.0 FREEMAIL_FROM Sender email is commonly abused enduser mail provider
(mirko.vukovic[at]gmail.com)
-0.0 SPF_HELO_PASS SPF: HELO matches SPF record
-0.0 T_RP_MATCHES_RCVD Envelope sender domain matches handover relay
domain
-0.0 SPF_PASS SPF: sender matches SPF record
Archived-At: <http://permalink.gmane.org/gmane.lisp.cl-pro/618>
Post by Tamas Papp
Hi everyone,
I am about to buy a new server for number crunching, and I would like to
keep my options open about GPU/CUDA based computations. The most
intensively parallelizable thing that I am doing is particle filtering,
and currently that works fine (and is really fast) in a multi-core CPU
with SBCL, but I keep hearing wonderful things about GPUs from people,
and I was wondering if I could make use of them but still program in CL.
... stuff deleted
Best,
Tamas
Hi Tamas,

Did you make any progress in your GPU adventures? I just got a machine with a
tesla GPU. I'd like to run some Monte Carlo simulations on it.

Mirko
Alexander Repenning
2012-04-04 16:09:04 UTC
Permalink
Not CUDA, but GLSL, running a 4 million cell game of life at > 60 FPS in XMLisp on a Mac:


http://code.google.com/p/xmlisp/source/browse/trunk/XMLisp/sources/XLUI/examples/3D/GLSL-Conway.lisp

This is of course a mix of Lisp and shader code. It would be possible to create a Lisp to GLSL shader compiler and then have the GLSL compiler do the rest. I don't think this would be a great idea, however. Somewhat lengthy explanation required but left off...

Alex
Post by Mirko Vukovic
Post by Tamas Papp
Hi everyone,
I am about to buy a new server for number crunching, and I would like to
keep my options open about GPU/CUDA based computations. The most
intensively parallelizable thing that I am doing is particle filtering,
and currently that works fine (and is really fast) in a multi-core CPU
with SBCL, but I keep hearing wonderful things about GPUs from people,
and I was wondering if I could make use of them but still program in CL.
... stuff deleted
Best,
Tamas
Hi Tamas,
Did you make any progress in your GPU adventures? I just got a machine with a
tesla GPU. I'd like to run some Monte Carlo simulations on it.
Mirko
_______________________________________________
pro mailing list
http://lists.common-lisp.net/cgi-bin/mailman/listinfo/pro
Prof. Alexander Repenning

University of Colorado
Computer Science Department
Boulder, CO 80309-430

vCard: http://www.cs.colorado.edu/~ralex/AlexanderRepenning.vcf
Mirko Vukovic
2012-04-05 12:47:56 UTC
Permalink
Thank you both Alexander, Nikodemus,

In my excitement, I may have jumped the gun :-)

Let me first write & verify the code, then worry about porting to GPU.

Mirko

On Wed, Apr 4, 2012 at 12:09 PM, Alexander Repenning
Post by Alexander Repenning
http://code.google.com/p/xmlisp/source/browse/trunk/XMLisp/sources/XLUI/examples/3D/GLSL-Conway.lisp
This is of course a mix of Lisp and shader code. It would be possible to
create a Lisp to GLSL shader compiler and then have the GLSL compiler do
the rest. I don't think this would be a great idea, however. Somewhat
lengthy explanation required but left off...
Alex
Hi everyone,
I am about to buy a new server for number crunching, and I would like to
keep my options open about GPU/CUDA based computations. The most
intensively parallelizable thing that I am doing is particle filtering,
and currently that works fine (and is really fast) in a multi-core CPU
with SBCL, but I keep hearing wonderful things about GPUs from people,
and I was wondering if I could make use of them but still program in CL.
... stuff deleted
Best,
Tamas
Hi Tamas,
Did you make any progress in your GPU adventures? I just got a machine with a
tesla GPU. I'd like to run some Monte Carlo simulations on it.
Mirko
_______________________________________________
pro mailing list
http://lists.common-lisp.net/cgi-bin/mailman/listinfo/pro
Prof. Alexander Repenning
University of Colorado
Computer Science Department
Boulder, CO 80309-430
vCard: http://www.cs.colorado.edu/~ralex/AlexanderRepenning.vcf
Nikodemus Siivola
2012-04-04 17:23:47 UTC
Permalink
Did you make any progress in your GPU adventures?  I just got a machine with a
tesla GPU.  I'd like to run some Monte Carlo simulations on it.
The CL-GPU Tamas mentioned is here:

https://github.com/angavrilov/cl-gpu

Cheers,

 -- Nikodemus
Loading...