问题标签 [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.
profiling - 在 Cray Chapel 中收集有关 GASNet 通信操作的信息
开发一个基本的分析器,它将收集 Cray Chapel 中 GASNet 通信操作的开始和结束时间。想到的唯一想法是在 Chapel 通信函数中插入指令以获取函数调用时间。有没有办法在不弄乱语言源代码的情况下做到这一点?
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 并不能解决问题,并且会产生相同的错误。
我认为有两种方法可以解决这个问题。
让 Gasnet不将环境推送到工作节点。当用户登录时,我们的集群已经加载了环境(网络文件系统),因此无需将整个环境推送过来(如有必要,我可以按顺序将内容添加到 rc 或配置文件脚本中) . 我最喜欢这个,因为它最大限度地减少了我必须做的工作。不幸的是,我对 Gasnet 或其使用几乎一无所知。
修复环境,使其没有不匹配
'
的 , 字符。我不喜欢这个想法,因为它需要大量工作,并且可能意味着要求系统管理员做系统管理员的事情;他们经常不愿意做的事情,尤其是对于小型项目和极端情况,两者兼而有之。
有任何想法吗?
编辑:有人建议我发布我现有的 PS1 和printchplenv
.
PS1='$HOSTNAME> '
mpi - Chapel - GASNET MPI 基板的多语言环境配置问题
我在 Chapel 中有一个带有分布式迭代器的 forall 代码,我正在尝试在集群上运行它。
使用 UDP 管道时,代码运行完美。
现在,我正在尝试将便携式 MPI 用作内部层——但没有成功。
这是我的配置:
只有这种配置只使用了一个节点。查看 Gasnet 文档,我补充说:
(官方文档中缺少这些细节)。
好的,现在我可以使用 MPI 运行 Chapel 代码了。但:
1) 每个节点有 32 个核心。如果我输入hello6 -nl x
x < 33,则所有进程都由第一个语言环境执行。
1.1) 我想运行hello6 -nl 4
,所以每个节点都会从语言环境 x,地址 x.address 打招呼。
2)看起来 Chapel 使用$OAR_NODEFILE
(可能是另一个)来创建 Locales 向量,因为OAR_NODEFILE
每个节点的每个核心都有一个条目。
3) 但是,即使我手动更改两者$GASNET_NODEFILE
,并且$OAR_NODEFILE
Locale 向量仍然包含每个 CPU 节点的每个核心的条目。
4) 在我可以访问的集群中,我运行 mpi 代码,如下所示mpirun -machinefile $OAR_NODEFILE ~/program
:但是,GASNET 需要导出的最后一个变量的语法。
谁能帮我配置运行时以在多个语言环境中执行我的代码?
此致,
蒂亚戈·卡内罗。
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 吗?
此致,
蒂亚戈·卡内罗。
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
祝一切顺利,
蒂亚戈·卡内罗。
upc - UPC 等分区全局地址空间语言 (PGAS) 中的“放置”和“存储”有什么区别?
我是并行编程和不同模型领域的新手。我想知道遵循 PGAS 模型的语言中的“put”和“store”等操作有什么区别。此外,如果您可以将我引导至任何适当的资源,这对我将非常有帮助。我一直在审查的那些并没有回答我所有的问题。
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 代码的一些信息。
你知道这个问题的原因是什么吗?
谢谢你们。