[Chapel Merge] Parallelize large DefaultRectangular assignments

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

Merge pull request #16418 from e-kayrakli/parallel-dr-assignment

Parallelize large DefaultRectangular assignments

This PR parallelize assignments between two DefaultRectangular arrays if the
transfer size is larger than 2MBs. This size is the same as parallel
initialization threshold and is controlled by parallelAssignThreshold.

Resolves https://github.com/chapel-lang/chapel/issues/14478

Also removes a part of optimization in @npadmana’s distributed FFT.

Test:

  • [x] standard
  • [x] gasnet

Modified Files:
A test/optimizations/parallelAssign/basicDR.chpl
A test/optimizations/parallelAssign/basicDR.compopts
A test/optimizations/parallelAssign/basicDR.execopts
A test/optimizations/parallelAssign/basicDR.good
A test/optimizations/parallelAssign/basicDR.prediff
M modules/internal/DefaultRectangular.chpl

Compare: https://github.com/chapel-lang/chapel/compare/97a147213ad0...3ae1c36d23ad