[Haskell-cafe] announce: Glome.hs-0.3 (Haskell raytracer)
Jim Snow
jsnow at cs.pdx.edu
Fri Apr 18 16:10:23 EDT 2008
Don Stewart wrote:
> jsnow:
>
>> A new version of my raytracer is out. ...
>>
>
> Very impressive. Did you consider cabalising the Haskell code, so it
> can be easily distributed from hackage.haskell.org?
>
> I note on the website you say:
>
> "no threading (shared-memory concurrency is not supported by ocaml,
> in haskell it's buggy)"
>
> Could you elaborate on this? Shared memory concurrency is a sweet spot
> in Haskell, and heavily utilised, so I think we'd all like to know more
> details..
>
> -- Don
>
The concurrency bug has to do with excessive memory use, and was discussed earlier here on the mailing list (search for Glome).
http://hackage.haskell.org/trac/ghc/ticket/2185
The other problem I had with concurrency is that I was getting about a
50% speedup instead of the 99% or so that I'd expect on two cores. I
figured I'm probably doing something wrong.
I don't have any objection to using cabal, I just haven't gone to the
trouble to figure it out yet. Maybe in the next release.
Sebastian Sylvan wrote:
> Not sure what you need shared memory concurrency for in this case as
> it seems to be a straightforward parallelism problem (i.e. the
> different threads would be different pixels, there is no sharing needed).
The scene is shared between threads. (Complex scenes can be quite
large.) I'm assuming this is handled as a read-only shared memory
region or something similar, as one might expect, and is not actually
copied.
-jim
More information about the Haskell-Cafe
mailing list