Skip to content
  • Tamar Christina's avatar
    Add NUMA support for Windows · c93813d9
    Tamar Christina authored
    Summary:
    NOTE: I have been able to do simple testing on emulated NUMA nodes.
               Real hardware would be needed for a proper test.
    
    D2199 Added NUMA support for Linux, I have just filled in the missing pieces following
    the description of the Linux APIs.
    
    Test Plan:
    Use `bcdedit.exe /set groupsize 2` to modify the kernel again (Similar to D2533).
    
    This generates some NUMA nodes:
    
    ```
    Logical Processor to NUMA Node Map:
    NUMA Node 0:
    **
    --
    NUMA Node 1:
    --
    **
    
    Approximate Cross-NUMA Node Access Cost (relative to fastest):
         00  01
    00: 1.1 1.1
    01: 1.0 1.0
    ```
    
    run ` ../test-numa.exe +RTS --numa -RTS`
    
    and check PerfMon for NUMA allocations.
    
    Reviewers: simonmar, erikd, bgamari, austin
    
    Reviewed By: simonmar
    
    Subscribers: thomie, #ghc_windows_task_force
    
    Differential Revision: https://phabricator.haskell.org/D2534
    
    GHC Trac Issues: #12602
    c93813d9