GSoC and Data Parallel Haskell

How are you gentlemen. I'm interested about what additions to DPH would really benefit the community. The only ticket on DPH in GSoC Trac seems a bit stale: http://hackage.haskell.org/trac/summer-of-code/ticket/1537. Any new tips? My field is currently molecular simulation. (I'm doing a Direct Simulation Monte-Carlo implementation for rarefied gas dynamics with application to space satellites&stuffs aerodynamics in Haskell for my Master's thesis, I believe using DPH as well would be my final goal as molecular simulations vectorize nicely. Simulation domain is partitioned into cells and stochastic collision sampling (as in DSMC) may be performed in every cell in parallel.)

The big topic would seem to be using Geoff Mainland's new simd-ghc support.
http://hackage.haskell.org/trac/ghc/wiki/SIMD
Geoff, is that already under way or is it too big a project for a GSOC?
Dmitry, do you already have GHC-internals hacking experience?
-Ryan
On Tue, Mar 20, 2012 at 8:52 PM, Dmitry Dzhus
How are you gentlemen.
I'm interested about what additions to DPH would really benefit the community.
The only ticket on DPH in GSoC Trac seems a bit stale: http://hackage.haskell.org/trac/summer-of-code/ticket/1537. Any new tips?
My field is currently molecular simulation. (I'm doing a Direct Simulation Monte-Carlo implementation for rarefied gas dynamics with application to space satellites&stuffs aerodynamics in Haskell for my Master's thesis, I believe using DPH as well would be my final goal as molecular simulations vectorize nicely. Simulation domain is partitioned into cells and stochastic collision sampling (as in DSMC) may be performed in every cell in parallel.)
_______________________________________________ Haskell-Cafe mailing list Haskell-Cafe@haskell.org http://www.haskell.org/mailman/listinfo/haskell-cafe

Taking advantage of GHC's SIMD support from within DPH is in the works. I'd love to have some good target applications to help drive the work. An application with DPH, plain C, C+SSE intrinsics, and, say, OpenCL versions would be even better, but that's probably wishful thinking. Dmitry, is your thesis about gas dynamics (I suspect it is) and you just want to try using Haskell, or is it about using Haskell to implement scientific code? Geoff On 03/21/2012 14:12, Ryan Newton wrote:
The big topic would seem to be using Geoff Mainland's new simd-ghc support.
http://hackage.haskell.org/trac/ghc/wiki/SIMD
Geoff, is that already under way or is it too big a project for a GSOC?
Dmitry, do you already have GHC-internals hacking experience?
-Ryan
On Tue, Mar 20, 2012 at 8:52 PM, Dmitry Dzhus
mailto:dima@dzhus.org> wrote: How are you gentlemen.
I'm interested about what additions to DPH would really benefit the community.
The only ticket on DPH in GSoC Trac seems a bit stale: http://hackage.haskell.org/trac/summer-of-code/ticket/1537. Any new tips?
My field is currently molecular simulation. (I'm doing a Direct Simulation Monte-Carlo implementation for rarefied gas dynamics with application to space satellites&stuffs aerodynamics in Haskell for my Master's thesis, I believe using DPH as well would be my final goal as molecular simulations vectorize nicely. Simulation domain is partitioned into cells and stochastic collision sampling (as in DSMC) may be performed in every cell in parallel.)

22.03.2012, 03:24, "Geoffrey Mainland"
Taking advantage of GHC's SIMD support from within DPH is in the works.
I'd love to have some good target applications to help drive the work. An application with DPH, plain C, C+SSE intrinsics, and, say, OpenCL versions would be even better, but that's probably wishful thinking. Dmitry, is your thesis about gas dynamics (I suspect it is) and you just want to try using Haskell, or is it about using Haskell to implement scientific code?
Yes, thesis is about gas dynamics and Haskell is used to implement the well-established DSMC method wih certain application. I plan a chapter on how Haskell (and, hopefully, DPH, since current implementation is a bit naive and too slow, I'm heavily hacking on it) showed itself for this task. At some point I even planned to write the practical part of thesis with Literate Haskell, but coursework paper I wrote in last semester (which formed a preliminary basis for the thesis) with LH confused people. Barnes-Hut algorithm is more «appropriate» to demonstrate NDP (and looks like it's been used for that since early papers on Nesl) due to its recursive nature, leading to nested subdivision of space; many other simulation methods usually start with more regular and flat space division (such as in DSMC, or in Lattice Boltzmann method (that's a continuum dynamics approximation as opposed to dilute gases in DSMC, papers on CUDA-powered LB sprout here and there today)), but I think nesting can be seen here too for example in gradual grid refinement at areas of simulation domain which require extra interest.

21.03.2012, 18:12, "Ryan Newton"
The big topic would seem to be using Geoff Mainland's new simd-ghc support.
http://hackage.haskell.org/trac/ghc/wiki/SIMD
Geoff, is that already under way or is it too big a project for a GSOC?
Dmitry, do you already have GHC-internals hacking experience?
That's interesting. I have experience with SIMD (more exactly, SSE) itself from Parallel Programming course I had last year (which included writing SSE implementations of common stuff like DFT). As for GHC hacking, no, but learning in this would be a really interesting goal for me. Perhaps a GHC-related assignment from possible mentor could be a prerequisite for any project proposal from my side, to see how quickly I can dive into certain details of GHC implementation.
participants (3)
-
Dmitry Dzhus
-
Geoffrey Mainland
-
Ryan Newton