[Haskell-cafe] Haskell on the Playstation 3? :-)

Peter Verswyvelen bf3 at telenet.be
Thu Aug 30 15:32:23 EDT 2007

Although I'm sure a lot can be done on modern GPU's (especially the DirectX
10 cards = Nvidia 8x00, that can write back to main memory, called "geometry
shaders"), a Playstation 3 runs Linux, doesn't cost a lot, and it has 7 CPUs
running at 3+ GHz, and 6 of these have parallel vector processing
capacities. I think it should be easier (but far from easy) to implement
Haskell on a PS3 then it is on a GPU. I developed imperative software for
both, but not in depth, but to me GPUs are still too much oriented towards
graphics, whilest the PS3 CPUs are more general purpose (although they also
expect to process streams of data).

See http://cell.scei.co.jp/e_download.html

-----Original Message-----
From: haskell-cafe-bounces at haskell.org
[mailto:haskell-cafe-bounces at haskell.org] On Behalf Of Dan Piponi
Sent: Thursday, August 30, 2007 6:05 PM
To: haskell-cafe at haskell.org
Subject: Re: Re[4]: [Haskell-cafe] Haskell on the Playstation 3? :-)

On 8/30/07, Hugh Perkins <hughperkins at gmail.com> wrote:

> On the whole, maps and folds may constitute the bulk of what we are
> trying to parallelize (certainly, SPJ's NDP focuses extensively on
> maps), so this is probably broadly compatible with the CUDA
> architecture?

Right. But the functions and data that we are trying to map and fold
could be anything, so we are required to have the full functionality
of Haskell running on the GPU - unless the compiler can smartly figure
out what should run on the GPU and what shouldn't. All in all, this
could be a fairly ambitious project.

Another, more modest, approach would be to define a DSL, maybe along
the lines of what Lennart Augustsson has been doing on his blog
(http://augustss.blogspot.com/), and implement a compiler back end
that generates GPU code from the DSL. Something similar for C++ is
Michael McCool's Sh library
(www.csee.umbc.edu/~olano/s2005c37/ch07.pdf) which has now developed
into a more general purpose commercial product. It seems to me that
this could be a killer application for Haskell without a major rewrite
of the Haskell compiler. What's more, the same DSL could have
different back ends targeting GPUs, multiple cores or even just single
CPUs (where you'd still get the benefits of partial evaluation).
Haskell-Cafe mailing list
Haskell-Cafe at haskell.org

More information about the Haskell-Cafe mailing list