Branch: refs/heads/main
Revision: 139298d
Author: ronawho
Link: Unavailable
Log Message:
Merge pull request #20115 from ronawho/mac-m1-qthreads
Enable opt-in support for qthreads on arm based macs
[reviewed by @benharsh]
qthreads 1.17 added initial support for arm based macs. This uses the
system ucontext instead of fast asm context switching, but it at least
enables support.
We're seeing much slower task creation compared to fifo (and ucontext on
x86 macs) so we're not changing the default tasking layer, but this at
least enables the ability to use qthreads to experiment more.
For the record, here's the timings I see for creating a task per core
10K times:
chpl --fast test/parallel/taskCompare/elliot/empty-chpl-taskspawn.chpl -staskingMode=coforallT
./empty-chpl-taskspawn --numTrials=10_000 --printTimings
config time x86 qt asm context 0.02s x86 qt ucontext 0.15s x86 fifo 0.17s m1 qt ucontext 11.83s m1 fifo 0.27s
Part of Cray/chapel-private#3374
Modified Files:
M third-party/qthread/Makefile
Compare: https://github.com/chapel-lang/chapel/compare/3ffc1fff4a23...139298d1ae27