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 numlabs contiguous subvectors of equal, or nearly equal length, and creates a codistributed array whose local portion on each worker is the labindex-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.

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

Was this topic helpful?