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: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] On Behalf Of Dan Piponi Sent: Thursday, August 30, 2007 6:05 PM To: haskell-cafe@haskell.org Subject: Re: Re[4]: [Haskell-cafe] Haskell on the Playstation 3? :-) On 8/30/07, Hugh Perkins <[EMAIL PROTECTED]> 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). -- Dan _______________________________________________ Haskell-Cafe mailing list Haskell-Cafe@haskell.org http://www.haskell.org/mailman/listinfo/haskell-cafe _______________________________________________ Haskell-Cafe mailing list Haskell-Cafe@haskell.org http://www.haskell.org/mailman/listinfo/haskell-cafe