chapel
chapel copied to clipboard
Explorations around the "localize const domain" optimization
PR #24391 implemented a new optimization, but kept it off by default to give us more time to live with it. It was then enabled in #25517 due to a need for it in a sparse matrix computation. This issue captures things that we would like to continue to study about the optimization.
- [ ] whether the array copy is done in bulk (or at least, as "in bulk" as it was before)
- [ ] whether this optimization interferes with the array swap optimizations
- [ ] check the impact on associative arrays and whether work is required to make them work, as with the sparse case
- [ ] check the impact on arrays-of-arrays
- [ ] check the impact on GPUs
- [ ] extend check to use compiledForSingleLocale() to improve compile-time reasoning
- [ ] split
localize
into param- and non-param parts to fold conditional for single-locale / unoptimized compiles?
- [ ] split
- [ ] do we feel OK enabling this by default given that
.locale
queries on localized domains will be wrong / misleading / confusing?