首页 > 解决方案 > 尝试在 Raspberry Pi 集群上设置多语言环境教堂

问题描述

我想知道是否有人可以为我提供有关如何在 Raspberry Pi 集群上设置多语言环境的指导——欢迎提供程序或演练,甚至只是提示。

Chapel 在单个节点上成功编译,我可以运行所有教程代码。我使用建议的环境变量为多语言环境重新制作了教堂,但我无法让它工作。

的输出printenv如下所示:

CHPL_HOME: /home/mpiu/chapel/chapel-1.23.0 *
script location: /home/mpiu/chapel/chapel-1.23.0/util/chplenv
CHPL_TARGET_PLATFORM: linux64
CHPL_TARGET_COMPILER: gnu
CHPL_TARGET_ARCH: aarch64
CHPL_TARGET_CPU: aarch64 *
CHPL_LOCALE_MODEL: flat
CHPL_COMM: gasnet *
CHPL_COMM_SUBSTRATE: udp *
CHPL_GASNET_SEGMENT: everything
CHPL_TASKS: qthreads
CHPL_LAUNCHER: amudprun
CHPL_TIMERS: generic
CHPL_UNWIND: none
CHPL_MEM: jemalloc
CHPL_ATOMICS: cstdlib
CHPL_NETWORK_ATOMICS: none
CHPL_GMP: gmp
CHPL_HWLOC: hwloc
CHPL_REGEXP: re2
CHPL_LLVM: none
CHPL_AUX_FILESYS: none

我的环境变量如下所示:

CHPL_HOME=/home/mpiu/chapel/chapel-1.23.0
CHPL_TARGET_CPU=aarch64
CHPL_COMM_SUBSTRATE=udp
CHPL_COMM=gasnet
GASNET_WORKERIP=192.168.1.0
GASNET_SPAWNFN=S
GASNET_SSH_CMD=ssh
GASNET_SSH_OPTIONS=-o LogLevel=Error -x
GASNET_SSH_SERVERS=oc2-a oc2-b
GASNET_MASTERIP=192.168.1.146

使用此示例代码:

use Memory;
for loc in Locales do
  on loc {
    writeln("locale #", here.id, "...");
    writeln("  ...is named: ", here.name);
    writeln("  ...has ", here.numPUs(), " processor cores");
    writeln("  ...has ", here.physicalMemory(unit=MemUnits.GB, retType=real), " GB of memory");
    writeln("  ...has ", here.maxTaskPar, " maximum parallelism");
  }

并像这样编译它:

chpl --no-local -o printLocales printLocales.chpl

当我运行可执行文件时:

./printLocales -nl 2

我收到以下错误:

bash: line 1: 22782 Illegal instruction     env 'AMUDP_SLAVE_ARGS=1,192,168,1,146,159,52,192.168.1.0' '/home/mpiu/Code/chapel/printLocales_real' '-nl' '1' '-E' 'SHELL=/bin/bash' '-E' 'GASNET_WORKERIP=192.168.1.0' '-E' 'CHPL_HOME=/home/mpiu/chapel/chapel-1.23.0' '-E' 'CHPL_TARGET_CPU=aarch64' '-E' 'GASNET_SPAWNFN=S' '-E' 'PWD=/home/mpiu/Code/chapel' '-E' 'LOGNAME=mpiu' '-E' 'XDG_SESSION_TYPE=tty' '-E' 'MANPATH=/home/mpiu/chapel/chapel-1.23.0/man:' '-E' 'HOME=/home/mpiu' '-E' 'LANG=en_US.UTF-8' '-E' 'GASNET_SSH_CMD=ssh' '-E' 'GASNET_SSH_OPTIONS=-o LogLevel=Error -x' '-E' 'GASNET_SSH_SERVERS=oc2-a oc2-b' '-E' 'CHPL_COMM_SUBSTRATE=udp' '-E' 'SSH_CONNECTION=192.168.1.47 53342 192.168.1.146 22' '-E' 'GASNET_MASTERIP=192.168.1.146' '-E' 'CHPL_COMM=gasnet' '-E' 'XDG_SESSION_CLASS=user' '-E' 'TERM=xterm-256color' '-E' 'USER=mpiu' '-E' 'SHLVL=1' '-E' 'XDG_SESSION_ID=c3' '-E' 'XDG_RUNTIME_DIR=/run/user/1002' '-E' 'SSH_CLIENT=192.168.1.47 53342 22' '-E' 'LC_ALL=en_US.UTF-8' '-E' 'PATH=/home/mpiu/chapel/chapel-1.23.0/bin/linux64-aarch64:/home/mpiu/chapel/chapel-1.23.0/util:/usr/local/bin:/usr/bin:/bin:/usr/local/games:/usr/games' '-E' 'MAIL=/var/mail/mpiu' '-E' 'SSH_TTY=/dev/pts/0' '-E' 'OLDPWD=/home/mpiu' '-E' '_=./printLocales'

我尝试了很多不同的东西(包括使用 MPI 管道),我就是不知道我做错了什么。如果重要的话,MPI 在这个集群上工作得很好。


(一个原始错误单行稍微重新格式化以提高可读性)

bash: line 1: 22782 Illegal instruction \
      env \
      'AMUDP_SLAVE_ARGS=1,192,168,1,146,159,52,192.168.1.0' \
      '/home/mpiu/Code/chapel/printLocales_real' \
      '-nl' '1' \
      '-E' 'SHELL=/bin/bash' \
      '-E' 'GASNET_WORKERIP=192.168.1.0' \
      '-E' 'CHPL_HOME=/home/mpiu/chapel/chapel-1.23.0' \
      '-E' 'CHPL_TARGET_CPU=aarch64' \
      '-E' 'GASNET_SPAWNFN=S' \
      '-E' 'PWD=/home/mpiu/Code/chapel' \
      '-E' 'LOGNAME=mpiu' \
      '-E' 'XDG_SESSION_TYPE=tty' \
      '-E' 'MANPATH=/home/mpiu/chapel/chapel-1.23.0/man:' \
      '-E' 'HOME=/home/mpiu' \
      '-E' 'LANG=en_US.UTF-8' \
      '-E' 'GASNET_SSH_CMD=ssh' \
      '-E' 'GASNET_SSH_OPTIONS=-o LogLevel=Error -x' \
      '-E' 'GASNET_SSH_SERVERS=oc2-a oc2-b' \
      '-E' 'CHPL_COMM_SUBSTRATE=udp' \
      '-E' 'SSH_CONNECTION=192.168.1.47 53342 192.168.1.146 22' \
      '-E' 'GASNET_MASTERIP=192.168.1.146' \
      '-E' 'CHPL_COMM=gasnet' \
      '-E' 'XDG_SESSION_CLASS=user' \
      '-E' 'TERM=xterm-256color' \
      '-E' 'USER=mpiu' \
      '-E' 'SHLVL=1' \
      '-E' 'XDG_SESSION_ID=c3' \
      '-E' 'XDG_RUNTIME_DIR=/run/user/1002' \
      '-E' 'SSH_CLIENT=192.168.1.47 53342 22' \
      '-E' 'LC_ALL=en_US.UTF-8' \
      '-E' 'PATH=/home/mpiu/chapel/chapel-1.23.0/bin/linux64-aarch64:/home/mpiu/chapel/chapel-1.23.0/util:/usr/local/bin:/usr/bin:/bin:/usr/local/games:/usr/games' \
      '-E' 'MAIL=/var/mail/mpiu' \
      '-E' 'SSH_TTY=/dev/pts/0' \
      '-E' 'OLDPWD=/home/mpiu' \
      '-E' '_=./printLocales'

标签: raspberry-picluster-computingchapel

解决方案


推荐阅读