Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/neo4j/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Linux AWS多语言环境安装似乎不正确_Linux_Amazon Web Services_Chapel - Fatal编程技术网

Linux AWS多语言环境安装似乎不正确

Linux AWS多语言环境安装似乎不正确,linux,amazon-web-services,chapel,Linux,Amazon Web Services,Chapel,我在运行CentOS 7的AWS上设置了一个12 EC2实例“集群”。这些节点共享一个公共NFS文件系统,并且在其主目录所在的位置有单独的启动卷。我在NFS文件系统上安装了Chapel以供多语言环境使用。如果有帮助,我可以分享安装步骤。Gmake似乎运行时没有错误,但Gmake检查并没有给出无错误的输出。此外,如果Chapel程序位于本地文件系统上,我无法运行多语言环境示例。对吗 2021年3月2日 我的错。刚刚在文档中注意到了这一点。“并将编译后的二进制文件复制到同一路径下的所有EC2实例上。

我在运行CentOS 7的AWS上设置了一个12 EC2实例“集群”。这些节点共享一个公共NFS文件系统,并且在其主目录所在的位置有单独的启动卷。我在NFS文件系统上安装了Chapel以供多语言环境使用。如果有帮助,我可以分享安装步骤。Gmake似乎运行时没有错误,但Gmake检查并没有给出无错误的输出。此外,如果Chapel程序位于本地文件系统上,我无法运行多语言环境示例。对吗

2021年3月2日 我的错。刚刚在文档中注意到了这一点。“并将编译后的二进制文件复制到同一路径下的所有EC2实例上。” 但仍在试图找出gmake检查失败的原因

一旦安装,如果我设置GASNET_SPAWNFN=L,gmake check将给出以下输出:

.
.
.
Hello, world! (from locale 0 of 4)
Hello, world! (from locale 3 of 4)
Hello, world! (from locale 2 of 4)
Hello, world! (from locale 1 of 4)
GASNET: Exiting after AMUDP_SPMDExit(0)...
gmake: *** [Makefile:209: check] Error 20
.
.
.
updating makefiles....
Updating goal targets....
Considering target file 'all'.
 File 'all' does not exist.
  Considering target file 'FORCE'.
   File 'FORCE' does not exist.
   Finished prerequisites of target file 'FORCE'.
  Must remake target 'FORCE'.
  Successfully remade target file 'FORCE'.
 Finished prerequisites of target file 'all'.
Must remake target 'all'.
Successfully remade target file 'all'.
    Successfully remade target file '/tmp/chpl-centos-11886.deleteme/hello6-taskpar-dist.tmp'.
   Finished prerequisites of target file 'all'.
  Must remake target 'all'.
  Successfully remade target file 'all'.
 Finished prerequisites of target file 'default'.
Must remake target 'default'.
Successfully remade target file 'default'.
gmake: *** [Makefile:209: check] Error 1
如果我设置GASNET_SPAWNFN=S,gmake check永远不会返回。gmake check--debug=v给出以下输出:

.
.
.
Hello, world! (from locale 0 of 4)
Hello, world! (from locale 3 of 4)
Hello, world! (from locale 2 of 4)
Hello, world! (from locale 1 of 4)
GASNET: Exiting after AMUDP_SPMDExit(0)...
gmake: *** [Makefile:209: check] Error 20
.
.
.
updating makefiles....
Updating goal targets....
Considering target file 'all'.
 File 'all' does not exist.
  Considering target file 'FORCE'.
   File 'FORCE' does not exist.
   Finished prerequisites of target file 'FORCE'.
  Must remake target 'FORCE'.
  Successfully remade target file 'FORCE'.
 Finished prerequisites of target file 'all'.
Must remake target 'all'.
Successfully remade target file 'all'.
    Successfully remade target file '/tmp/chpl-centos-11886.deleteme/hello6-taskpar-dist.tmp'.
   Finished prerequisites of target file 'all'.
  Must remake target 'all'.
  Successfully remade target file 'all'.
 Finished prerequisites of target file 'default'.
Must remake target 'default'.
Successfully remade target file 'default'.
gmake: *** [Makefile:209: check] Error 1
如果我在共享NFS文件系统(hpl-o hello6$chpl\u HOME/examples/hello6-taskpar-dist.chpl)上编译examples/hello6-taskpar-dist.chpl并运行./hello6-nl 12,它将返回:

.
.
.
Hello, world! (from locale 0 of 12 named ip-10-xxx-yy-311.evoforge.org)
Hello, world! (from locale 7 of 12 named ip-10-xxx-yy-348.evoforge.org)
Hello, world! (from locale 10 of 12 named ip-10-xxx-yy-362.evoforge.org)
Hello, world! (from locale 9 of 12 named ip-10-xxx-yy-322.evoforge.org)
Hello, world! (from locale 8 of 12 named ip-10-xxx-yy-316.evoforge.org)
Hello, world! (from locale 6 of 12 named ip-10-xxx-yy-331.evoforge.org)
Hello, world! (from locale 1 of 12 named ip-10-xxx-yy-335.evoforge.org)
Hello, world! (from locale 3 of 12 named ip-10-xxx-yy-353.evoforge.org)
Hello, world! (from locale 5 of 12 named ip-10-xxx-yy-317.evoforge.org)
Hello, world! (from locale 11 of 12 named ip-10-xxx-yy-358.evoforge.org)
Hello, world! (from locale 4 of 12 named ip-10-xxx-yy-364.evoforge.org)
Hello, world! (from locale 2 of 12 named ip-10-xxx-yy-344.evoforge.org)
GASNET: Exiting after AMUDP_SPMDExit(0)...
(ip号码被我弄糊涂了)

这似乎是正确的

但如果我在本地主目录中运行compile并运行./hello6-nl12-v,它将挂起在这里:

.
.
.
bash: line 0: cd: /home/centos/chapel: No such file or directory
env: /home/centos/chapel/hello6_real: No such file or directory
env: /home/centos/chapel/hello6_real: No such file or directory
GASNET: slave connecting to 10.xxx.yy.311:43233
ENV parameter: GASNET_LINEBUFFERSZ = 1024                       (default)
GASNET: slave using IP 10.xxx.yy.311
以下是printchplenv的输出:

$ util/printchplenv
machine info: Linux ip-10-xxx-xx-311.evoforge.org 3.10.0-1160.11.1.el7.x86_64 #1 SMP Fri Dec 18 16:34:56 UTC 2020 x86_64
CHPL_HOME: /nfs/software/chapel-1.23.0 *
script location: /nfs/software/chapel-1.23.0/util/chplenv
CHPL_TARGET_PLATFORM: linux64
CHPL_TARGET_COMPILER: gnu
CHPL_TARGET_ARCH: x86_64
CHPL_TARGET_CPU: unknown
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
如果我能提供任何其他信息,请告诉我。谢谢你的帮助

2021年3月2日 这里是一些额外的信息。这是我遵循的最终构建过程

已为CentOS 7安装列出的先决条件。将列出所有版本。没有安装llvm,因为它没有将其列为先决条件

chapel - 1.23.0
gcc - 8.3.1 20190311
m4 - (GNU M4) 1.4.16
perl - v5.16.3
python - 2.7.5
bash - GNU bash, version 4.2.46(2)
gmake - GNU Make 4.2.1
gawk - GNU Awk 4.0.2
在每个节点上的.bashrc中添加了以下行(IP地址被混淆):

通过在每个节点上生成RSA密钥对(ssh-keygen-t RSA),在节点之间启用无密码ssh。将所有节点上生成的公钥复制到每个节点上的.ssh/authorized_keys文件中

然后建造了它。第一次它抱怨我应该用gmake而不是make

cd chapel-1.23.0
gmake
gmake check

再次感谢您的帮助。

默认情况下,
进行检查
假设节点间共享
$HOME
,这在大多数HPC系统上都是如此。在测试期间,它会创建一个临时目录作为已编译测试程序的目标:
$HOME/.chpl
。因为您的主目录没有安装NFS,所以
检查失败


通过设置
CHPL\u check\u INSTALL\u DIR
,可以覆盖用于
make check
的临时目录。如果您将该环境变量指向NFS装载的路径,
确认检查应该可以工作。

为了确保我的理解正确,您已经了解了如何在具有
GASNET\u SPAWNFN=L
的单个节点上以及跨具有
GASNET\u SPAWNFN=S的多个ec2实例使用多语言环境变量(将二进制文件复制到每个节点后),但剩下的问题是,
make check
GASNET\u SPAWNFN=S
而失败。Ben,是的,这是正确的。感谢Ben,解决了这个问题。