On my M1 macmini I see chapel programs run with about 400% cpu. It has 4 performance and 4 efficiency cores, and chapel seems to use only 4 threads at max. Is this correct ?
On a computer with 40 cores, I see cpu at 4000%. It seems to be using all 40 cores as expected.
When I set
–dataParTasksPerLocale 6 it shows 1200% cpu, was expecting 600% cpu
–dataParTasksPerLocale 8 it shows 1400% cpu, was expecting 800% cpu
Could you tell me why it is like this ?
On a M series Mac (or any hybrid architecture), Chapel will by default only use the performance cores, not the small cores.
To change the binding Chapel uses, set the environment variable CHPL_RT_USE_PU_KIND to performance, efficiency, or all. On your Mac, all will use all the cores. By default, Chapel only uses the performance cores to prevent imbalance of the cores.
Note: the Chapel website seems to be having some issues right now, but you can find the docs for these variables there