[GHC] #14956: NUMA not detected on Aarch64 NUMA machine

#14956: NUMA not detected on Aarch64 NUMA machine --------------------------------------+--------------------------------- Reporter: varosi | Owner: (none) Type: bug | Status: new Priority: normal | Milestone: Component: Runtime System | Version: 8.4.1 Keywords: | Operating System: Linux Architecture: aarch64 | Type of failure: None/Unknown Test Case: | Blocked By: Blocking: | Related Tickets: Differential Rev(s): | Wiki Page: --------------------------------------+--------------------------------- {{{ # lscpu Architecture: aarch64 Byte Order: Little Endian CPU(s): 96 On-line CPU(s) list: 0-95 Thread(s) per core: 1 Core(s) per socket: 48 Socket(s): 2 NUMA node(s): 2 L1d cache: 32K L1i cache: 78K L2 cache: 16384K NUMA node0 CPU(s): 0-47 NUMA node1 CPU(s): 48-95 # ./cgraytrace_prof_thread +RTS -s -A40m -qn24 --numa cgraytrace_prof_thread: --numa: OS reports NUMA is not available cgraytrace_prof_thread: cgraytrace_prof_thread: Usage: <prog> <args> [+RTS <rtsopts> | -RTS <args>] ... --RTS <args> ... }}} -- Ticket URL: http://ghc.haskell.org/trac/ghc/ticket/14956 GHC http://www.haskell.org/ghc/ The Glasgow Haskell Compiler

#14956: NUMA not detected on Aarch64 NUMA machine -----------------------------------+------------------------------- Reporter: varosi | Owner: (none) Type: bug | Status: new Priority: normal | Milestone: Component: Runtime System | Version: 8.4.1 Resolution: | Keywords: Operating System: Linux | Architecture: aarch64 Type of failure: None/Unknown | Test Case: Blocked By: | Blocking: Related Tickets: | Differential Rev(s): Wiki Page: | -----------------------------------+------------------------------- Description changed by varosi: Old description:
{{{ # lscpu Architecture: aarch64 Byte Order: Little Endian CPU(s): 96 On-line CPU(s) list: 0-95 Thread(s) per core: 1 Core(s) per socket: 48 Socket(s): 2 NUMA node(s): 2 L1d cache: 32K L1i cache: 78K L2 cache: 16384K NUMA node0 CPU(s): 0-47 NUMA node1 CPU(s): 48-95
# ./cgraytrace_prof_thread +RTS -s -A40m -qn24 --numa cgraytrace_prof_thread: --numa: OS reports NUMA is not available cgraytrace_prof_thread: cgraytrace_prof_thread: Usage: <prog> <args> [+RTS <rtsopts> | -RTS <args>] ... --RTS <args> ... }}}
New description: Ubuntu 16 LTS {{{ # lscpu Architecture: aarch64 Byte Order: Little Endian CPU(s): 96 On-line CPU(s) list: 0-95 Thread(s) per core: 1 Core(s) per socket: 48 Socket(s): 2 NUMA node(s): 2 L1d cache: 32K L1i cache: 78K L2 cache: 16384K NUMA node0 CPU(s): 0-47 NUMA node1 CPU(s): 48-95 # ./cgraytrace_prof_thread +RTS -s -A40m -qn24 --numa cgraytrace_prof_thread: --numa: OS reports NUMA is not available cgraytrace_prof_thread: cgraytrace_prof_thread: Usage: <prog> <args> [+RTS <rtsopts> | -RTS <args>] ... --RTS <args> ... }}} -- -- Ticket URL: http://ghc.haskell.org/trac/ghc/ticket/14956#comment:1 GHC http://www.haskell.org/ghc/ The Glasgow Haskell Compiler

#14956: NUMA not detected on Aarch64 NUMA machine -----------------------------------+---------------------------------- Reporter: varosi | Owner: (none) Type: bug | Status: infoneeded Priority: normal | Milestone: Component: Runtime System | Version: 8.4.1 Resolution: | Keywords: Operating System: Linux | Architecture: aarch64 Type of failure: None/Unknown | Test Case: Blocked By: | Blocking: Related Tickets: | Differential Rev(s): Wiki Page: | -----------------------------------+---------------------------------- Changes (by bgamari): * status: new => infoneeded Comment: Hmm, what does `numactl -H` say? -- Ticket URL: http://ghc.haskell.org/trac/ghc/ticket/14956#comment:2 GHC http://www.haskell.org/ghc/ The Glasgow Haskell Compiler

#14956: NUMA not detected on Aarch64 NUMA machine -----------------------------------+---------------------------------- Reporter: varosi | Owner: (none) Type: bug | Status: infoneeded Priority: normal | Milestone: Component: Runtime System | Version: 8.4.1 Resolution: | Keywords: Operating System: Linux | Architecture: aarch64 Type of failure: None/Unknown | Test Case: Blocked By: | Blocking: Related Tickets: | Differential Rev(s): Wiki Page: | -----------------------------------+---------------------------------- Comment (by varosi): {{{ -bash: numactl: command not found }}} When I install it: {{{ available: 2 nodes (0-1) node 0 cpus: 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 node 0 size: 64397 MB node 0 free: 63935 MB node 1 cpus: 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 node 1 size: 64475 MB node 1 free: 64114 MB node distances: node 0 1 0: 10 20 1: 20 10 }}} -- Ticket URL: http://ghc.haskell.org/trac/ghc/ticket/14956#comment:3 GHC http://www.haskell.org/ghc/ The Glasgow Haskell Compiler

#14956: NUMA not detected on Aarch64 NUMA machine -----------------------------------+---------------------------------- Reporter: varosi | Owner: (none) Type: bug | Status: infoneeded Priority: normal | Milestone: Component: Runtime System | Version: 8.4.1 Resolution: | Keywords: Operating System: Linux | Architecture: aarch64 Type of failure: None/Unknown | Test Case: Blocked By: | Blocking: Related Tickets: | Differential Rev(s): Wiki Page: | -----------------------------------+---------------------------------- Comment (by bgamari): Are you sure your compiler was built with NUMA support enabled? Note that this is not true of the binary distributions since this would incur a dependency on `libnuma`. -- Ticket URL: http://ghc.haskell.org/trac/ghc/ticket/14956#comment:4 GHC http://www.haskell.org/ghc/ The Glasgow Haskell Compiler

#14956: NUMA not detected on Aarch64 NUMA machine -----------------------------------+---------------------------------- Reporter: varosi | Owner: (none) Type: bug | Status: infoneeded Priority: normal | Milestone: Component: Runtime System | Version: 8.4.1 Resolution: | Keywords: Operating System: Linux | Architecture: aarch64 Type of failure: None/Unknown | Test Case: Blocked By: | Blocking: Related Tickets: | Differential Rev(s): Wiki Page: | -----------------------------------+---------------------------------- Comment (by varosi): I'm using compiler from https://www.haskell.org/ghc/download_ghc_8_4_1.html#linux_aarch64 -- Ticket URL: http://ghc.haskell.org/trac/ghc/ticket/14956#comment:5 GHC http://www.haskell.org/ghc/ The Glasgow Haskell Compiler

#14956: NUMA not detected on Aarch64 NUMA machine -----------------------------------+---------------------------------- Reporter: varosi | Owner: (none) Type: bug | Status: infoneeded Priority: normal | Milestone: Component: Runtime System | Version: 8.4.1 Resolution: | Keywords: Operating System: Linux | Architecture: aarch64 Type of failure: None/Unknown | Test Case: Blocked By: | Blocking: Related Tickets: | Differential Rev(s): Wiki Page: | -----------------------------------+---------------------------------- Comment (by varosi): It's strange that it shows me the error at run-time. May be if compiler is not built with NUMA support there should be no "--numa" option support, too. -- Ticket URL: http://ghc.haskell.org/trac/ghc/ticket/14956#comment:6 GHC http://www.haskell.org/ghc/ The Glasgow Haskell Compiler

#14956: NUMA not detected on Aarch64 NUMA machine -----------------------------------+---------------------------------- Reporter: varosi | Owner: (none) Type: bug | Status: patch Priority: normal | Milestone: Component: Runtime System | Version: 8.4.1 Resolution: | Keywords: Operating System: Linux | Architecture: aarch64 Type of failure: None/Unknown | Test Case: Blocked By: | Blocking: Related Tickets: | Differential Rev(s): Phab:D4556 Wiki Page: | -----------------------------------+---------------------------------- Changes (by bgamari): * status: infoneeded => patch * differential: => Phab:D4556 Comment: Perhaps Phab:D4556 will help things in this area a bit. -- Ticket URL: http://ghc.haskell.org/trac/ghc/ticket/14956#comment:7 GHC http://www.haskell.org/ghc/ The Glasgow Haskell Compiler

#14956: NUMA not detected on Aarch64 NUMA machine -----------------------------------+---------------------------------- Reporter: varosi | Owner: (none) Type: bug | Status: patch Priority: normal | Milestone: Component: Runtime System | Version: 8.4.1 Resolution: | Keywords: Operating System: Linux | Architecture: aarch64 Type of failure: None/Unknown | Test Case: Blocked By: | Blocking: Related Tickets: | Differential Rev(s): Phab:D4556 Wiki Page: | -----------------------------------+---------------------------------- Comment (by varosi): So you think that GHC compiler on haskell.org for Aarch64 is built without NUMA support? -- Ticket URL: http://ghc.haskell.org/trac/ghc/ticket/14956#comment:8 GHC http://www.haskell.org/ghc/ The Glasgow Haskell Compiler

#14956: NUMA not detected on Aarch64 NUMA machine -----------------------------------+---------------------------------- Reporter: varosi | Owner: (none) Type: bug | Status: patch Priority: normal | Milestone: Component: Runtime System | Version: 8.4.1 Resolution: | Keywords: Operating System: Linux | Architecture: aarch64 Type of failure: None/Unknown | Test Case: Blocked By: | Blocking: Related Tickets: | Differential Rev(s): Phab:D4556 Wiki Page: | -----------------------------------+---------------------------------- Comment (by bgamari): Replying to [comment:8 varosi]:
So you think that GHC compiler on haskell.org for Aarch64 is built without NUMA support?
I'm quite certain that it was. Currently none of the haskell.org binary distributions include NUMA support since this would require that users install `libnuma`, which isn't included in most distributions' default package sets. -- Ticket URL: http://ghc.haskell.org/trac/ghc/ticket/14956#comment:9 GHC http://www.haskell.org/ghc/ The Glasgow Haskell Compiler

#14956: NUMA not detected on Aarch64 NUMA machine -----------------------------------+---------------------------------- Reporter: varosi | Owner: (none) Type: bug | Status: patch Priority: normal | Milestone: Component: Runtime System | Version: 8.4.1 Resolution: | Keywords: Operating System: Linux | Architecture: aarch64 Type of failure: None/Unknown | Test Case: Blocked By: | Blocking: Related Tickets: | Differential Rev(s): Phab:D4556 Wiki Page: | -----------------------------------+---------------------------------- Comment (by varosi): Isn't it better if GHC could try to dynamically load this library (for -threaded) and if it didn't succeeded to fall back to non-NUMA at runtime? If software have to be distributed in binary form now it should have twice more versions for non-NUMA and for NUMA machines depending of what machine have the user. The same for GHC, now it should have non-NUMA and NUMA versions to be downloaded on haskell.org. Which is not good. -- Ticket URL: http://ghc.haskell.org/trac/ghc/ticket/14956#comment:10 GHC http://www.haskell.org/ghc/ The Glasgow Haskell Compiler

#14956: NUMA not detected on Aarch64 NUMA machine -----------------------------------+---------------------------------- Reporter: varosi | Owner: (none) Type: bug | Status: patch Priority: normal | Milestone: Component: Runtime System | Version: 8.4.1 Resolution: | Keywords: Operating System: Linux | Architecture: aarch64 Type of failure: None/Unknown | Test Case: Blocked By: | Blocking: Related Tickets: | Differential Rev(s): Phab:D4556 Wiki Page: | -----------------------------------+---------------------------------- Changes (by bgamari): * cc: Jaffacake (added) Comment: Yes, that is perhaps a reasonable way forward. Jaffacake, any objection? -- Ticket URL: http://ghc.haskell.org/trac/ghc/ticket/14956#comment:11 GHC http://www.haskell.org/ghc/ The Glasgow Haskell Compiler

#14956: NUMA not detected on Aarch64 NUMA machine -------------------------------------+------------------------------------- Reporter: varosi | Owner: (none) Type: bug | Status: patch Priority: normal | Milestone: Component: Runtime System | Version: 8.4.1 Resolution: | Keywords: Operating System: Linux | Architecture: aarch64 Type of failure: None/Unknown | Test Case: Blocked By: | Blocking: Related Tickets: | Differential Rev(s): Phab:D4556, Wiki Page: | Phab:D4617 -------------------------------------+------------------------------------- Changes (by bgamari): * differential: Phab:D4556 => Phab:D4556, Phab:D4617 Comment: For the record, I have hacked together something along the lines of comment:10 in Phab:D4617. -- Ticket URL: http://ghc.haskell.org/trac/ghc/ticket/14956#comment:12 GHC http://www.haskell.org/ghc/ The Glasgow Haskell Compiler

#14956: NUMA not detected on Aarch64 NUMA machine -------------------------------------+------------------------------------- Reporter: varosi | Owner: (none) Type: bug | Status: patch Priority: normal | Milestone: Component: Runtime System | Version: 8.4.1 Resolution: | Keywords: Operating System: Linux | Architecture: aarch64 Type of failure: None/Unknown | Test Case: Blocked By: | Blocking: Related Tickets: | Differential Rev(s): Phab:D4556, Wiki Page: | Phab:D4617 -------------------------------------+------------------------------------- Changes (by bgamari): * cc: Jaffacake (removed) * cc: simonmar (added) -- Ticket URL: http://ghc.haskell.org/trac/ghc/ticket/14956#comment:13 GHC http://www.haskell.org/ghc/ The Glasgow Haskell Compiler

#14956: NUMA not detected on Aarch64 NUMA machine
-------------------------------------+-------------------------------------
Reporter: varosi | Owner: (none)
Type: bug | Status: patch
Priority: normal | Milestone:
Component: Runtime System | Version: 8.4.1
Resolution: | Keywords:
Operating System: Linux | Architecture: aarch64
Type of failure: None/Unknown | Test Case:
Blocked By: | Blocking:
Related Tickets: | Differential Rev(s): Phab:D4556,
Wiki Page: | Phab:D4617
-------------------------------------+-------------------------------------
Comment (by Ben Gamari
participants (1)
-
GHC