chapel icon indicating copy to clipboard operation
chapel copied to clipboard

Explorations around the "localize const domain" optimization

Open bradcray opened this issue 8 months ago • 0 comments

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?
  • [ ] do we feel OK enabling this by default given that .locale queries on localized domains will be wrong / misleading / confusing?

bradcray avatar Jun 12 '24 22:06 bradcray