[Chapel Merge] Add flags to control parallel comm in array assign

Branch: refs/heads/master
Revision: dc6dca4
Author: e-kayrakli
Log Message:

Merge pull request #16529 from e-kayrakli/disable-parallel-puts

Add flags to control parallel comm in array assignment

This PR adds

config param enableParallelGetsInAssignment = false;
config param enableParallelPutsInAssignment = false;

to enable parallel communication for DefaultRectangular array assignments.

We have seen that parallel assignment makes local transfers reliably faster,
however, when the transfer is remote we see different behaviors on different
systems while using different communication layer setups.

With these we are not doing any parallel communication for DefaultRectangular
assignments to avoid regressions, but they can be enabled selectively in some
setups to increase comm bandwidth.

[Reviewed by @ronawho]

Test:

  • [x] standard
  • [x] gasnet

Modified Files:
M modules/internal/DefaultRectangular.chpl
M test/optimizations/bulkcomm/block/exchange-BothLocal.good
M test/optimizations/bulkcomm/block/exchange-DestLocal.good

Compare: https://github.com/chapel-lang/chapel/compare/0f616ee3d929...dc6dca47b0ff