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

Reply via email to