我已安装scalasca(scorep,cube,..)和Open MPI进行性能测量。当我添加一个选项:
" --prefix = / my-path"到了mpirun," scalasca - 分析"无法执行(已中止)。
我的命令:
scalasca -analyze mpirun -np 1 --host localhost --prefix /home/as/lib/bin /home/as/Documents/a.out
" /家/ AS / LIB"是已安装的Open MPI目录
并且错误:
S=C=A=N: Abort: Target executable
/家/ AS / LIB /仓'是一个目录!`
如果没有" - 前缀"它运行正常。但我需要" - 前缀"在群集上运行它的选项
我在所有具有相同路径的集群机器上安装了Open MPI(/ home / as / lib)
那么如何解决呢???
答案 0 :(得分:1)
如果使用完整路径调用--prefix
(或其orterun
,mpirun
等任何符号链接),则打开MPI会添加隐式mpiexec
选项。换句话说:
$ /home/as/lib/bin/mpirun ...
相当于:
$ mpirun --prefix /home/as/lib ...
如果您真的需要通过--prefix
选项,例如因为Open MPI安装在与前端节点不同的目录中的集群节点上,然后引用整个参数:
$ scalasca -a mpirun -np 1 --host localhost "--prefix /home/as/lib" /path/to/execuable
同样适用于mpirun
的任何其他参数。你甚至可以引用它们,只是为了安全起见:
$ scalasca -a mpirun "-np 1" "--host localhost" "--prefix /home/as/lib" /path/to/execuable
提示:构建自己的Open MPI版本时,请使用--enable-orterun-prefix-by-default
。即使未使用完整路径调用--prefix
/ orterun
/ mpirun
,也会自动添加mpiexec
。此外,--enable-wrapper-rpath
是构建选项的不错选择,它可以防止与库的其他版本发生冲突。