打开 MPI + Scalasca:不能使用选项 --prefix 运行 mpi运行 命令

Open MPI + Scalasca :Can not run mpirun command with option --prefix

我已经安装了 scalasca(scorep,cube,..)Open MPI 用于性能测量。当我添加一个选项时: “--prefix = /my-path”到 mpi运行,"scalasca - analyze" 无法执行(中止)。
我的命令:
scalasca -analyze mpirun -np 1 --host localhost --prefix /home/as/lib/bin /home/as/Documents/a.out
"/home/as/lib" 是安装的 Open MPI 目录。
错误:
S=C=A=N: Abort: Target executable/home/as/lib/bin'是一个目录!`
如果没有“--prefix”,它通常 运行s。但是我需要“--prefix”选项来 运行 它在集群上。
我已经在所有具有相同路径 (/home/as/lib) 的集群机器上安装了 Open MPI。
那怎么解决呢???

如果使用完整路径调用 orterun(或其任何符号链接,如 mpirunmpiexec 等),则 Open MPI 添加隐式 --prefix 选项。换句话说:

$ /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。这样,即使 orterun/mpirun/mpiexec 未使用完整路径调用,也会自动添加 --prefix。此外,--enable-wrapper-rpath 是一个不错的构建选项选择,它将防止与其他版本的库发生冲突。