
Donald Bruce Stewart wrote:
bf3:
Maybe this is yet another newbie stupid question, but do you mean that GHC does automatic multi-threading? (Haskell seems very suitable for that) Otherwise adding an extra core does not really help does it?
No, though that would be nice! You do have to program in a parallel manner, either by using forkIO, Control.Parallel, or parallel arrays. When you do, you have the option of such code scaling up to more cores relatively easily.
My advice: starting writing threaded code now, with *lots* of threads, so your program will have the ability to start using +RTS -N16 when you get a new machine :)
I read somewhere that GHC's SMP support has been "tested up to 40 cores". Pray tell me, what the heck kind of machine has 40 cores? (And where can I buy mine from?? :-D LOL!) Writing parallel code is one of those things I keep meaning to try, but never actually get around to doing for real...