The distribution model fields are used (as a hint) to indicate how the data (for each dimension of an array) is to be distributed amongst the accelerator nodes. Each dimension of an array may be distributed in one of three ways:
BLOCK distribution divides the indices of a dimension into contiguous, equal-sized blocks of size N/P, where N is the number of elements in the array dimension and P is the number of expected accelerator nodes. The distribution size field is automatically computed (cannot be changed), and is set to N/P.
Note: for BLOCK data distribution, the expected number of accelerator nodes must be exact - the expected number of accelerator nodes cannot be set to 0 (all available).
CYCLIC distribution distributes the elements of a dimension evenly among the accelerator nodes in a round robin fashion. The
distribution size (entered by the user) determines how many elements are to be distributed to each accelerator node. The
user defined distribution size must be an integer between 1 and the size of the dimension.
Note: the CYCLIC data distribution model can only be used when the dimension of the array is 1 or 2.