首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >GASNET基板的多区域配置问题

GASNET基板的多区域配置问题
EN

Stack Overflow用户
提问于 2018-12-03 15:42:11
回答 1查看 166关注 0票数 2

我在Chapel有一个带有分布式迭代器的forall代码,我试图在集群上运行它。

当使用UDP管道时,代码运行得很好。

现在,我正在尝试使用便携式MPI作为内部层,但没有成功。

这是我的配置:

代码语言:javascript
复制
export CHPL_TASKS=qthreads

export CHPL_COMM=gasnet

export CHPL_COMM_SUBSTRATE=mpi

export CHPL_LAUNCHER=gasnetrun_mpi

仅使用此配置,只使用一个节点。看一下Gasnet文档,我补充道:

代码语言:javascript
复制
export GASNET_NODEFILE="$(pwd)"/nodes

export MPIRUN_CMD='mpirun -np %N -machinefile %H %C'

(正式文件中缺少这些细节)。

好的,现在我可以使用MPI运行教堂代码了。但是:

( 1)每个节点有32个核。如果将hello6 -nl x设置为x< 33,则所有进程都由第一个区域设置执行。

1.1)我想运行hello6 -nl 4,所以每个节点都会从locale和adress x.address上打个招呼。

( 2)看起来,教堂堂使用$OAR_NODEFILE (可能是另一个)来创建区域设置向量,因为这个OAR_NODEFILE每个节点每个核心都有一个条目。

3)然而,即使我手动更改了$GASNET_NODEFILE$OAR_NODEFILE,每个节点的区域设置向量仍然包含每个核的一个条目。

4)在集群中,我可以访问,我运行的mpi代码如下:mpirun -machinefile $OAR_NODEFILE ~/program。但是,GASNET需要导出最后一个变量的语法。

有人能帮我配置运行时,以便在多个地区上执行我的代码吗?

诚挚的问候,

蒂亚戈·卡内罗。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-12-03 16:29:51

假设您使用的是Chapel 1.18版本和Open (如果不是这样的话,请告诉我。)在Chapel 1.18和更早版本中有一个bug,当使用Open时,所有教堂实例都首先打包到一个节点上。这已经固定在主版(https://github.com/chapel-lang/chapel/pull/11546)上,修复将包含在1.19版本中。

您可以尝试使用git,也可以将MPIRUN_CMD="mpirun --bind-to none --map-by ppr:1:node -np %N %P %A"设置为解决方案。

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/53597097

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档