
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.