[Chapel Merge] fix bug causing forall loop outside of GPUs to exe

Branch: refs/heads/main
Revision: 8c9c26b
Author: stonea
Link: Unavailable
Log Message:

Merge pull request #18791 from stonea/localeModelIterPartitioning

fix bug causing forall loop outside of GPUs to execute serially.

This PR is for: https://github.com/Cray/chapel-private/issues/2412

Specifically I add new variable to locale models indicating whether they should partition iterations across sublocales (localeModelPartitionsIterationOnSublocales). I then have all subocales other than flat and GPU set this to true.

[Reviewed by @e-kayrakli]

Modified Files:
A test/localeModels/numa/dataParallel/partitionRanges.chpl

A test/localeModels/numa/dataParallel/partitionRanges.good
A test/localeModels/numa/dataParallel/partitionRanges.prediff
A test/localeModels/numa/dataParallel/partitionRanges.skipif
M compiler/codegen/cg-expr.cpp
M modules/internal/ChapelLocale.chpl
M modules/internal/ChapelRange.chpl
M modules/internal/DefaultRectangular.chpl
M modules/internal/LocaleModelHelpAPU.chpl
M modules/internal/LocaleModelHelpFlat.chpl
M modules/internal/LocaleModelHelpGPU.chpl
M modules/internal/LocaleModelHelpNUMA.chpl

Compare: https://github.com/chapel-lang/chapel/compare/b450ccd69202...8c9c26b03ece