Haris H <hha...@gmail.com> wrote on 04/28/2010 11:33:45 AM:
>
> Hi guys,
>
> What would be correct syntax to distribute an array of e.g.
> 9 elements on 3 different regions *after *the array is initialized?
>
> I assume I would have to use block or block cycle distribution here.
>
> Can I move an element after distribution from one place to another?

Hi,

        The model used by X10 is that you specify the distribution (the
mapping of points in the region to places) as part of creating the array.
You can't change the distribution of an existing array.  (Instead you would
have to create a new array with the desired distribution and initialize it
by copying the values from the old array using a sequence of at/async
operations to copy data between places).

>
> Also, is it possible to tie region and places together?
> Lets say that I have 10 places and two - five point regions,
> can I in any way control at which place points are located?
>

Distributions are the mechanism for doing this.  If you want any arbitrary
mapping (as opposed to Block, BlockCyclic, etc), you would need to define a
custom distribution by writing your own subclass of x10.array.Dist and
using it to define the DistArray. This isn't quite as clean as it should be
in 2.0.3 because we're still in the process of merging Dist and BaseDist
into a single abstract class (Dist).

Hope this helps,

--dave
------------------------------------------------------------------------------
_______________________________________________
X10-users mailing list
X10-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/x10-users

Reply via email to