[Chapel Merge] Remove CPU sublocale and have first GPU sublocale

Branch: refs/heads/main
Revision: fa4f6a6
Author: stonea
Link: Remove CPU sublocale and have first GPU sublocale use id 0 by stonea · Pull Request #19673 · chapel-lang/chapel · GitHub
Log Message:

Merge pull request #19673 from stonea/locale_model_wideptr_debug

Remove CPU sublocale and have first GPU sublocale use id 0

This PR removes the CPU sublocale and have the first GPU sublocale use id 0. I add proc gpus (a parenless function that returns a const ref to an array of sublocales) and isGpu.

[Reviewed by @e-kayrakli]

Modified Files:
M compiler/optimizations/gpuTransforms.cpp

M modules/internal/ChapelLocale.chpl
M modules/internal/LocaleModelHelpSetup.chpl
M modules/internal/localeModels/apu/LocaleModel.chpl
M modules/internal/localeModels/gpu/LocaleModel.chpl
M runtime/include/chpl-mem-array.h
M runtime/include/gpu/cuda/chpl-gpu-gen-includes.h
M runtime/include/tasks/qthreads/chpl-tasks-impl-fns.h
M runtime/src/chpl-gpu.c
M runtime/src/tasks/qthreads/tasks-qthreads.c
M test/gpu/native/distArray/blockInsideOn.chpl
M test/gpu/native/distArray/blockOutsideOnWorkaround.chpl
M test/gpu/native/jacobi/jacobi.chpl
M test/gpu/native/memory/basic.chpl
M test/gpu/native/memory/sharedMemory.chpl
M test/gpu/native/multiGPU/multiGPU.chpl
M test/gpu/native/multiGPU/worksharing.chpl
M test/gpu/native/multiGPU/worksharingBasic.chpl
M test/gpu/native/promotion.chpl
M test/gpu/native/streamPrototype/dr.chpl
M test/gpu/native/streamPrototype/forallOverArray.chpl
M test/gpu/native/streamPrototype/forallOverDomain.chpl
M test/gpu/native/streamPrototype/forallOverZipArray.chpl
M test/gpu/native/streamPrototype/stream.chpl

Compare: https://github.com/chapel-lang/chapel/compare/f2e9ef75b610...fa4f6a6ce6a6