Hi,
If you haven't read it already, this document will be useful:
http://chapel.cray.com/docs/latest/technotes/dsi.html
1) The domain "{1..6, 1..10}" utilizes the default distribution which will
create a domain
using the "DefaultRectangularDom" class defined in
$CHPL_HOME/modules/internal/DefaultRectangular.chpl.
The mapping from standard arrays and their literals to classes can be seen
in that same file
by looking at the "DefaultDist" class.
2) I'm not sure what you're asking. Typically a distribution (a domain-map over
multiple locales)
is written by using layouts (a domain-map over a single locale). This isn't
a requirement, but
it's usually a convenient way to implement a distribution. You could use C
pointers and malloc/free
if you really wanted to.
3) If a domain is modified, any arrays declared over that domain will be
updated accordingly.
Domain-map authors define this behavior through the 'dsiReallocate' method.
4) I'm not quite sure what you're asking. Are you asking about layouts in
general, or the
default layouts?
-Ben Harshbarger
From: Praveen Velliengiri <[email protected]>
Date: Monday, August 21, 2017 at 12:26 PM
To: "[email protected]" <[email protected]>
Subject: Link between Distributions and Layouts
Hello all,
I have 4 questions regarding the Chapel domain map framework and I tried to
put them in correct terms, If you find any mistakes feel free to ask me to
change.
1.) By the term "Every domain should have the associated domain map" the
domains which are not explicitly given the name of domain map. Like
const probelmspace = {1..6, 1..10} what domain map will the domain value
probelmspace has ?
2.) I find that " distributions are written by using layouts "
For example
block domain map has constructor parameters
* boundingbox which is a non-distributed domain
which in the sense it is a domain which follows layout
* target dom which in turn is a domain
following layout.
* On each global descriptor - this got used like (
example in block dist global descriptor) each locale has local descriptor
which has a locdom which
is a
layout domain.
In global domain descriptor has the
non-distributed array of locdom.which is used by global array descriptor to
create a non-distributed array over
the locdom. By analyzing this the original block
array is stored has the collection of individual array mapped via layout.\
3) I know we can dynamically extent / contract the domains. By doing so
whether the array declared over that domains get invalidated if their elements
(indexes) are destroyed ?
4.) this is more abstract : How the layouts defines the storage of
domains/arrays ?
Thanks
Pree
------------------------------------------------------------------------------
Check out the vibrant tech community on one of the world's most
engaging tech sites, Slashdot.org! http://sdm.link/slashdot
_______________________________________________
Chapel-users mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/chapel-users