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



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

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

1) 我可以使用GASNET_PSM_SPAWNER='ssh'运行Chapel/GASNet。然而,这个spawner导致了相当缓慢的PGAS。

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

3) 我试着用PMI作为spawner。但是,我收到以下错误消息: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

一切顺利,

蒂亚戈·卡内罗。

我无法轻松访问Omni-path系统来测试任何这些,但为了给你一个答案:

在我看来,如果你做以下事情,Chapel应该建造并使用ofi导管:

  • 在您的环境中设置CHPL_COMM_SUBSTRATE=ofi(例如export CHPL_COMM_SUBSTRATE=ofi)
  • 重建教堂(例如,makegmake$CHPL_HOME)
  • 重新编译并重新运行程序

据我所知,您使用的spawner/launcher的选择不应该对程序的性能产生影响。。。它只是用于启动可执行文件并在系统的计算节点上运行的机制。也就是说,如果你有一种有效的技术,我建议你坚持使用它,而不是尝试使用其他spawner/launcher(无论如何,我个人不熟悉如何使用PMI spawner,我很确定Chapel目前没有包装它的launcher)。

相比之下,管道的选择可能会对程序性能产生很大影响,因为它决定了程序执行过程中通信的方式。

提醒您:与任何Chapel程序一样,一旦您使其正常工作并进行性能研究,请务必使用--fast标志。

相关内容

  • 没有找到相关文章

最新更新