[Haskell-cafe] Processor availability

Don Stewart dons at galois.com
Thu Jan 22 17:02:32 EST 2009


wasserman.louis:
>    How might I go about finding out how many processors are available in a
>    concurrent GHC program?  I have some code I'd like to parallelize, but I
>    don't want to spawn a separate (even lightweight) thread for each of
>    thousands of minor tasks.
> 
>    Louis Wasserman
>    [1]wasserman.louis at gmail.com

You set the number of OS threads with +RTS -N at runtime. This value
is accessible from Haskell via:

    GHC.Conc:

    -- | the value passed to the @+RTS -N@ flag.  This is the number of
    -- Haskell threads that can run truly simultaneously at any given
    -- time, and is typically set to the number of physical CPU cores on
    -- the machine.
    numCapabilities :: Int

-- Don


More information about the Haskell-Cafe mailing list