[GHC] #11054: GHC on Windows could not use more than 64 logical processors

GHC ghc-devs at haskell.org
Thu Oct 6 18:49:34 UTC 2016


#11054: GHC on Windows could not use more than 64 logical processors
-------------------------------------+-------------------------------------
        Reporter:  varosi            |                Owner:
            Type:  feature request   |               Status:  new
        Priority:  normal            |            Milestone:  8.2.1
       Component:  Runtime System    |              Version:  7.10.2
      Resolution:                    |             Keywords:
Operating System:  Windows           |         Architecture:  x86_64
 Type of failure:  Runtime           |  (amd64)
  performance bug                    |            Test Case:
      Blocked By:                    |             Blocking:
 Related Tickets:  #12602            |  Differential Rev(s):  Phab:D2533
       Wiki Page:                    |
-------------------------------------+-------------------------------------

Comment (by Phyx-):

 Replying to [comment:39 varosi]:
 > Task manager on Windows 10 shows NUMA nodes and logical cores separated.
 So both NUMA nodes are taken by 85-88%. On logical cores, there about 10
 from 88 cores not used for some reason. They are near zero CPU usage.

 A few setcapabilities failed. I need to take a look at the masks. I'll
 make a version which adds more debug output this weekend (I don't quite
 have the time today I'm araid..). I'll need it to know the masks it's
 computing. There's probably an off by one somewhere.

 But I am confused, if 78 cores out of 88 are busy, you should have gone
 passed the 50% mark since it went across CPU groups.

 Replying to [comment:40 varosi]:
 > Is it possible "-qa" option to be reversed, i.e. by default it to use
 all NUMA nodes and if someone wants for some special case to disable it?

 I don't see why not, but this won't just affect Windows and I don't know
 why the default is to default to user managed threading. To be clear,
 `-qa` isn't required to use all the nodes. The only thing `-qa` does is
 automatically schedule the affinities for you. The default is that you
 should schedule them yourself.

 The reason could be purely historic. This is a question best asked on the
 ghc-devs mailing list. If you prefer I could ask for you, or you can mail
 directly.

--
Ticket URL: <http://ghc.haskell.org/trac/ghc/ticket/11054#comment:41>
GHC <http://www.haskell.org/ghc/>
The Glasgow Haskell Compiler


More information about the ghc-tickets mailing list