---------- Forwarded message ----------
From: Hui Zhang <wayne.huizh...@gmail.com>
Date: Tue, Aug 8, 2017 at 11:36 AM
Subject: Re: [Chapel-developers] question about data distribution
To: Tom MacDonald <tmacdon...@cray.com>
Cc: Brad Chamberlain <br...@cray.com>


Hello,

I'm wondering that is there an easy way to make a copy of a global variable
on each locale so that later each locale will directly access its local
copy instead of accessing the original variable stored in locale0 ?

thanks

On Mon, Aug 7, 2017 at 6:19 PM, Tom MacDonald <tmacdon...@cray.com> wrote:

> We have all made this kind of mistake Hui.  No need to feel bad.  Happy to
> hear you discovered the problem.
>
>
>
> Tom MacDOnald
>
>
>
> *From:* Hui Zhang [mailto:wayne.huizh...@gmail.com]
> *Sent:* Monday, August 07, 2017 4:56 PM
> *To:* Brad Chamberlain <br...@cray.com>
> *Cc:* Chapel Sourceforge Developers List <chapel-developers@lists.sourc
> eforge.net>
> *Subject:* Re: [Chapel-developers] question about data distribution
>
>
>
> Sorry, I made a very basic mistake that made me feel so dumm: I mixed up
> the name of distributed and non-distributed domains that I used, which
> caused all the confusion and proved that easily-distinguishable naming is
> such an important thing, again. :P
>
> Thanks Brad, everything works as it should be.
>
>
>
> On Mon, Aug 7, 2017 at 4:01 PM, Brad Chamberlain <br...@cray.com> wrote:
>
>
> This looks like a bug to me, though maybe someone else will remember
> something that I've forgotten (as I mentioned in my previous message,
> 'local' clauses are a little surprising sometimes -- you may have seen that
> we're actually hoping to retire them from the language to focus on more
> data-centric approaches).
>
> In either case, I think this is worth opening a GitHub issue for.
>
> -Brad
>
>
>
>
>
> On Mon, 7 Aug 2017, Hui Zhang wrote:
>
> update:
>
> After playing for a little bit, I'm more confused now:
> if I have a distributed domain D, and array B declared on D, the following
> code 1 will work and 2 will fail in runtime with an error "cannot access
> remote data in local block", why is that?
> 1. work
> forall b in B {
>    local {
>         b = here.locale.id;
>    }
> }
>
> 2. fail
> forall d in D {
>     local {
>          B[d] = here.locale.id;
>     }
> }
>
>
>
> On Mon, Aug 7, 2017 at 1:06 PM, Hui Zhang <wayne.huizh...@gmail.com>
> wrote:
>
> Hello,
>
> I have a question about the data distribution in Chapel, for example we
> have:
>
> const D = {1..8} dmapped Block({1..8});
> var B: [D] real;
> forall d in D {
>    var A : 8*real;
>    foo(A, B[d]);
> }
>
> So in multilocale, even though the domain D is distributed,​ the variable
> A declared in each iteration is still allocated on node0 right? which means
> we can not add "local"  clause around the loop body since foo needs to
> access A from other nodes which requires communication, like:
> local {
>     var A: 8*real;
>     foo(A, B[d]);
> }  ​
>
> or
>
> var A: 8*real;
> local {
>      foo(A, B[d]);
> }
>
>
> Further, is it true that the only ways to put data on nodes other than 0
> are:
> 1. use explict "on" clause, everything inside it will be allocated on the
> specific locale
> 2. use distributed domain: piece of the data will be allocated on each
> locale.
> ?
>
> Thanks
> --
> Best regards
>
>
> Hui Zhang
>
>
>
>
> --
> Best regards
>
>
> Hui Zhang
>
>
>
>
> --
>
> Best regards
>
>
> Hui Zhang
>



-- 
Best regards


Hui Zhang



-- 
Best regards


Hui Zhang
------------------------------------------------------------------------------
Check out the vibrant tech community on one of the world's most
engaging tech sites, Slashdot.org! http://sdm.link/slashdot
_______________________________________________
Chapel-developers mailing list
Chapel-developers@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/chapel-developers

Reply via email to