我正在尝试使用 Slurm 在多语言环境模式下运行 Chapel。
但是,'make check' 失败。
有人可以帮我吗?
我使用了 Chapel 1.23.0。以下是我使用的实际命令:
cd chapel-1.23.0/
export CHPL_HOME=$PWD
source $CHPL_HOME/util/setchplenv.bash
export CHPL_COMM=gasnet
export CHPL_LAUNCHER=slurm-srun
export CHPL_TARGET_CPU=native
make && make check
这是我收到的错误消息:== Actual Test Output (raw, with verbose) ==
srun --job-name=CHPL-hello6-tas --quiet --nodes=4 --ntasks=4 --ntasks-per-node=1 --cpus-per-task=16 --exclusive --mem=0 --kill-on-bad-exit /home/user1/.chpl/chapel-test-P4CwK/hello6-taskpar-dist_real -nl4 --printLocaleName=false -v
GASNet: Invalid number of nodes: -nl4
GASNet: Usage '/home/user1/.chpl/chapel-test-P4CwK/hello6-taskpar-dist_real <num_nodes> {program arguments}'
最佳答案
假设您使用带有 gasnet 的 udp 基板( $CHPL_HOME/util/printchplenv
显示 CHPL_COMM_SUBSTRATE: udp
),那么 slurm-srun 在该特定配置中不起作用。 udp 基板需要 CHPL_LAUNCHER=amudprun
.来自 https://chapel-lang.org/docs/platforms/udp.html#using-the-udp-conduit-with-slurm ,你应该能够做到:
export CHPL_LAUNCHER=amudprun
export GASNET_SPAWNFN=C
export GASNET_CSPAWN_CMD="srun -N%N %C"
请注意,您必须重做顶级 make
命令。这告诉 Chapel 使用
amudprun
启动器,然后让 amudprun
知道如何在这个系统上生成(在这种情况下使用 srun 而不是默认使用 ssh)
关于chapel - 多区域教堂 : make check fails (GASNet: Invalid number of nodes: -nl),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/65747355/