---------- Forwarded message ----------
From: *Hui Zhang* <[email protected]
<mailto:[email protected]>>
Date: Tue, Aug 8, 2017 at 11:36 AM
Subject: Re: [Chapel-developers] question about data
distribution
To: Tom MacDonald <[email protected]
<mailto:[email protected]>>
Cc: Brad Chamberlain <[email protected]
<mailto:[email protected]>>
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
<[email protected] <mailto:[email protected]>> 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:[email protected]
<mailto:[email protected]>]
*Sent:* Monday, August 07, 2017 4:56 PM
*To:* Brad Chamberlain <[email protected]
<mailto:[email protected]>>
*Cc:* Chapel Sourceforge Developers List
<[email protected]
<mailto:[email protected]>>
*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
<[email protected] <mailto:[email protected]>> 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
<http://here.locale.id>;
}
}
2. fail
forall d in D {
local {
B[d] = here.locale.id
<http://here.locale.id>;
}
}
On Mon, Aug 7, 2017 at 1:06 PM, Hui Zhang
<[email protected]
<mailto:[email protected]>> 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
[email protected]
<mailto:[email protected]>
https://lists.sourceforge.net/lists/listinfo/chapel-developers
<https://lists.sourceforge.net/lists/listinfo/chapel-developers>