[GHC] #12181: Multi-threaded code on ARM64 GHC runtime doesn't use all available cores
GHC
ghc-devs at haskell.org
Fri Jun 10 15:13:40 UTC 2016
#12181: Multi-threaded code on ARM64 GHC runtime doesn't use all available cores
-------------------------------------+-------------------------------------
Reporter: varosi | Owner:
Type: bug | Status: new
Priority: normal | Milestone:
Component: Runtime | Version: 7.10.3
System |
Keywords: | Operating System: Unknown/Multiple
Architecture: arm | Type of failure: Runtime
| performance bug
Test Case: | Blocked By:
Blocking: | Related Tickets:
Differential Rev(s): | Wiki Page:
-------------------------------------+-------------------------------------
This is the machine:
[http://www.cnx-software.com/2016/04/30/setup-guide-mini-review-of-bq-
aquaris-m10-ubuntu-edition-tablet-from-a-developers-perspective/]
Haskell ray-tracer that uses Control.Parallel.Strategies and parBuffer
that is working well on x64 machine and using all the cores available use
only 2 cores from 4 in total on that ARM machine.
This machine usually work on two cores only and when it sees that they are
used more - it enables two more to get total of four cores.
If I give "+RTS -N4" it works just fine. So I think the problem is that
the runtime doesn't check for all available cores, but only for enabled.
In the first link you could see that "lscpu" returns 4 cores in total.
--
Ticket URL: <http://ghc.haskell.org/trac/ghc/ticket/12181>
GHC <http://www.haskell.org/ghc/>
The Glasgow Haskell Compiler
More information about the ghc-tickets
mailing list