24655, "bradcray", "Homebrew on Mac M1/M2 systems computes misleading 'here.maxTaskPar' values", "2024-03-20T17:19:07Z"
While testing writeln(here.maxTaskPar);
on my M1 Mac using homebrew, I was surprised to see it report 10
as the result rather than 8
. I do see 8
when using a compiler built from source.
My understanding is that this is because:
- the Mac has 8 performance cores and 2 efficiency cores
- homebrew is currently built without
hwloc
support, so we don't distinguish between them as we do whenhwloc
is enabled
And for additional context:
hwloc
defaults tonone
when usingCHPL_TASKS=fifo
- the explanation for why we use
fifo
by default is given here: Homebrew formula: use cstdlib and fifo tasks by stonea · Pull Request #23415 · chapel-lang/chapel · GitHub - Elliot tried to enable system versions of
hwloc
in the homebrew environment in Fix support for using a system hwloc and jemalloc by ronawho · Pull Request #23409 · chapel-lang/chapel · GitHub