Main Content

codistributed.colon

Distributed colon operation

Syntax

codistributed.colon(a,d,b)
codistributed.colon(a,b)
codistributed.colon(___,codist)
codistributed.colon(___,'noCommunication')
codistributed.colon(___,codist,'noCommunication')

Description

codistributed.colon(a,d,b) partitions the vector a:d:b into spmdSize contiguous subvectors of equal, or nearly equal length, and creates a codistributed array whose local portion on each worker is the spmdIndex-th subvector.

codistributed.colon(a,b) uses d = 1.

Optional arguments to codistributed.colon must be specified after the required arguments, and in the following order:

codistributed.colon(___,codist) uses the codistributor object codist to specify the distribution scheme of the resulting vector. If omitted, the result is distributed using the default distribution scheme. For information on constructing codistributor objects, see the reference pages for codistributor1d and codistributor2dbc.

codistributed.colon(___,'noCommunication') or codistributed.colon(___,codist,'noCommunication') specifies that no communication is to be performed when constructing the vector, skipping some error checking steps.

Examples

Partition the vector 1:10 into four subvectors among four workers.

parpool('Processes',4);
spmd(4)
    C = codistributed.colon(1,10)
end
Worker 1: 
  This worker stores C(1:3).
          LocalPart: [1 2 3]
      Codistributor: [1x1 codistributor1d]
Worker 2: 
  This worker stores C(4:6).
          LocalPart: [4 5 6]
      Codistributor: [1x1 codistributor1d]
Worker 3: 
  This worker stores C(7:8).
          LocalPart: [7 8]
      Codistributor: [1x1 codistributor1d]
Worker 4: 
  This worker stores C(9:10).
          LocalPart: [9 10]
      Codistributor: [1x1 codistributor1d]

Version History

Introduced in R2009b