克雷,很抱歉再次为清晰的答案站起来!在这个答案之后,我还有一些关于域地图的问题。如果您能消除我对域映射的疑虑,我将不胜感激。
我希望,我已经按顺序排列了这些问题。
1.) 什么是域映射?- 域映射定义了从域和数组的全局数组索引到集群中的一组区域设置的映射。
我已经总结了我从研究论文和其他 ppts 中理解的内容,这可能是错误的。请随时更正答案。
const Domain = {1..8,1..8} dmapped Block( {1..8,1..8} )
这里{1..8,1..8}
是 indexspace( domain ),它使用Block
-distribution domain-map 和boundingBox = {1..8,1..8}
来自Block
domain-map 构造函数的分布到语言环境,
proc block( boundingBox: domain,
targetlocales:[] locale = Locales,
datapartasks = ...,
dataparmingranularity = ...
)
Block
domain-map 只想知道,boundingBoX
和'-stargetlocales
并且datapar*
不需要 a domain
, 在这种情况下{1..8,1..8}
。我发现很难让事情变得正确,因为有许多用于在教堂本身内创建域地图的界面,其中一些界面对用户隐藏了一些信息。
所以我的问题是:Block
domain-map 是否创建了实例 on targetlocales
,它保存了本地索引集,例如{1..2,3..4}
on locale 1
,{1..2,1..2}
on locale 2
(这些数字只是示例,以说明映射过程)?
在之前的回答中,Brad Chamberlain 博士提到过
“dmapped Block 子句()在目标语言环境上创建实例。Block 域地图类的每个实例都存储边界框和目标语言环境集”
我没有从中找到意义:(
总的来说,请解释域映射、域和数组如何协同工作。我研究了一些步骤,但都遗漏了一些我需要完全理解域映射的信息。
在幻灯片 No:34 的演示中,本地实例域映射和域仅存储索引空间,没有什么特别之处。
- 在之前的回答中,Brad Chamberlain 博士也提到过,
“给定的域映射实现可能非常节省空间和最小化,或者它可以冗余地分配每个语言环境中的所有内容,正如其作者认为的最好的那样”,
在这种情况下,“在每个语言环境中冗余分配所有内容”实际上是什么意思?是否将整个数组存储在每个位置?
- 在 PGAS 中,域映射、域、数组的全局实例在所有语言环境中都是可见的?我也希望对它们的每个查询都通过全局实例进行。
正如您在文档中提到的,我恳请您确定域映射所需的接口。
如果我对此有一些解释,我将不胜感激并感激不尽。
非常感谢。