问题标签 [gasnet]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
258 浏览

profiling - 在 Cray Chapel 中收集有关 GASNet 通信操作的信息

开发一个基本的分析器,它将收集 Cray Chapel 中 GASNet 通信操作的开始和结束时间。想到的唯一想法是在 Chapel 通信函数中插入指令以获取函数调用时间。有没有办法在不弄乱语言源代码的情况下做到这一点?

0 投票
1 回答
208 浏览

bash - Chapel Gasnet 在寻找匹配的“”时出现意外的 EOF

使用 Chapel 1.13.1、Gasnet 1.26.4、Fedora 24 版

尝试运行hello6-taskpar-dist.chpl会产生错误:

我的理解是gasnet将登录节点的环境导出到工作节点,并且一些格式错误的定义导致了这个问题(即这是一个环境错误)。

不幸的是,我不确定在执行 chapel 二进制文件期间正在执行哪些脚本,并且发现很难追踪不良事件发生的地点和时间。不幸的是,我以前曾通过取消设置模块函数 ( unset module) 来解决这个问题,但现在该修复不再有效:

(我已经更改了一些潜在的识别信息。用户名、主机名、IP 地址、路径等)

似乎这个BASH_FUNC_scl功能也有部分责任,但取消它会产生同样的错误。

环顾四周,在Github 上发现了这个 xonsh 问题,这表明取消设置 scl 和模块都可以解决问题。它没有,但错误返回到简短的“意外 EOF”错误。单独取消设置模块或 scl 并不能解决问题,并且会产生相同的错误。

我认为有两种方法可以解决这个问题。

  1. 让 Gasnet将环境推送到工作节点。当用户登录时,我们的集群已经加载了环境(网络文件系统),因此无需将整个环境推送过来(如有必要,我可以按顺序将内容添加到 rc 或配置文件脚本中) . 我最喜欢这个,因为它最大限度地减少了我必须做的工作。不幸的是,我对 Gasnet 或其使用几乎一无所知。

  2. 修复环境,使其没有不匹配'的 , 字符。我不喜欢这个想法,因为它需要大量工作,并且可能意味着要求系统管理员做系统管理员的事情;他们经常不愿意做的事情,尤其是对于小型项目和极端情况,两者兼而有之。

有任何想法吗?

编辑:有人建议我发布我现有的 PS1 和printchplenv.

PS1='$HOSTNAME> '

0 投票
1 回答
151 浏览

mpi - Chapel - GASNET MPI 基板的多语言环境配置问题

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

使用 UDP 管道时,代码运行完美。

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

这是我的配置:

只有这种配置只使用了一个节点。查看 Gasnet 文档,我补充说:

(官方文档中缺少这些细节)。

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

1) 每个节点有 32 个核心。如果我输入hello6 -nl xx < 33,则所有进程都由第一个语言环境执行。

1.1) 我想运行hello6 -nl 4,所以每个节点都会从语言环境 x,地址 x.address 打招呼。

2)看起来 Chapel 使用$OAR_NODEFILE(可能是另一个)来创建 Locales 向量,因为OAR_NODEFILE每个节点的每个核心都有一个条目。

3) 但是,即使我手动更改两者$GASNET_NODEFILE,并且$OAR_NODEFILELocale 向量仍然包含每个 CPU 节点的每个核心的条目。

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

谁能帮我配置运行时以在多个语言环境中执行我的代码?

此致,

蒂亚戈·卡内罗。

0 投票
1 回答
172 浏览

chapel - 如何配置 Chapel/GASNet 以使用分区密钥在 MXM Infiniband 网络上运行多语言环境代码?

我正在尝试在具有 MXM Infiniband 网络(40 Gbps,型号:Mellanox Technologies MT26428)的集群上运行多语言环境教堂代码。

我遵循了 Chapel 和 GASNet 文档,并设置了

export CHPL_COMM_SUBSTRATE=ibv

export CHPL_LAUNCHER=gasnetrun_ibv

export GASNET_IBV_SPAWNER=mpi

而不是使用CHPL_COMM_SUBSTRATE=mxm, 一旦 mxm 被弃用。

问题是我可以使用 ibv 基板构建 Chapel。但是,我不能在多个语言环境中运行。我收到大量超时错误。

首先,我认为问题出在 PKEY 上。所以,我添加"--mca btl_openib_pkey "0x8100""MPIRUN_CMD. 但是,没有成功。

我还尝试使用已弃用的 mxm 配置:

CHPL_LAUNCHER=gasnetrun_mxm

export CHPL_LAUNCHER=gasnetrun_ibv

export GASNET_MXM_SPAWNER=mpi

但是,我无法使用这样的配置构建 Chapel。那是错误信息:

"User requested --enable-mxm, but I don't know how to build mxm programs for your system."

顺便说一句,在没有分区密钥的情况下,在 MPI、UDP 和 Infiniband 之上使用 GASNET 可以正常工作。

有人知道如何在配备 MXM Infiniband 网络和分区密钥 (PKEY) 的集群上使用 Chapel 吗?

此致,

蒂亚戈·卡内罗。

0 投票
1 回答
122 浏览

chapel - 如何编译 PMI 支持以在 Omni-Path 网络上运行 Chapel/GASNet?

我正在尝试在配备 Omni-path 网络的集群上运行 Chapel/GASNet。

Omni-Path 的 GASNet 官方文档建议通过传递来使用 ofi-conduit --enable-ofi --disable-psm --disable-ibv。但是,由于我不知道在哪里传递此配置,我决定将 PSM 管道用于 Omni-Path。

1) 我可以使用GASNET_PSM_SPAWNER='ssh'. 但是,此生成器导致 PGAS 非常缓慢。

2)如果我设置,我只能使用 MPI 作为生成-mca mtl ^psm,psm2器,这也很慢。否则,我会收到几个错误。

3) 我尝试使用 PMI 作为生成器。但是,我收到以下错误消息:Spawner is set to PMI, but PMI support was not compiled in usage: gasnetrun...

如何编译 PMI 支持和使用GASNET_PSM_SPAWNER='pmi'

这是我的其他 Chapel/GASNet 运行时变量:

CHPL_COMM='gasnet'

CHPL_LAUNCHER='gasnetrun_psm'

CHPL_COMM_SUBSTRATE='psm'

CHPL_GASNET_SEGMENT='everything'

CHPL_TARGET_ARCH='native'

HFI_NO_CPUAFFINITY=1

祝一切顺利,

蒂亚戈·卡内罗。

0 投票
1 回答
36 浏览

upc - UPC 等分区全局地址空间语言 (PGAS) 中的“放置”和“存储”有什么区别?

我是并行编程和不同模型领域的新手。我想知道遵循 PGAS 模型的语言中的“put”和“store”等操作有什么区别。此外,如果您可以将我引导至任何适当的资源,这对我将非常有帮助。我一直在审查的那些并没有回答我所有的问题。

0 投票
0 回答
46 浏览

distributed-computing - 将 Chapel 1.19 与 GASNet PSM (OmniPath) 基板一起使用时的问题

更改为 1.19 版后,但使用 Omnipath 实现,我随机收到以下错误:ERROR calling: gasnet_barrier_try(id, 0).

我知道当前版本的 Chapel 不再支持 GASNet 的 Omnipath 实现。但是,我想使用一些仅在 version 中可用的功能1.19,并且我使用的集群在 Omnipath 网络上运行。

为了使用PSM基板(OmniPath),我按照 Chapel 的 Gitter 社区的建议进行:

export CHPL_GASNET_ALLOW_BAD_SUBSTRATE=true

wget https://gasnet.lbl.gov/download/GASNet-1.32.0.tar.gz

tar xzf GASNet-1.32.0.tar.gz

rm -rf $CHPL_HOME/third-party/gasnet/gasnet-src

mv GASNet-1.32.0 $CHPL_HOME/third-party/gasnet/gasnet-src

然后,我设置其他变量:

export CHPL_COMM='gasnet' export CHPL_LAUNCHER='gasnetrun_psm' export CHPL_COMM_SUBSTRATE='psm' export CHPL_GASNET_SEGMENT='everything' export CHPL_TARGET_CPU='native' export GASNET_PSM_SPAWNER='ssh' export HFI_NO_CPUAFFINITY=1

接下来,我构建运行时等。

但是,当我运行实验时,我随机收到以下错误:

ERROR calling: gasnet_barrier_try(id, 0) at: comm-gasnet.c:1020 error: GASNET_ERR_BARRIER_MISMATCH (Barrier id's mismatched)

这完成了程序的执行。

我在 GASNet 文档中找不到此错误的原因。我只能找到有关 GASNet 代码的一些信息。

你知道这个问题的原因是什么吗?

谢谢你们。