带有 socwatch 的 mpirun 失败

mpirun with socwatch fails

尝试使用 OpenMPI 程序测量系统的能耗。

对于 OpenMPI,我们可以 运行 和

mpirun -n 4 ./hello

此程序将从 4 个进程打印 hello。

现在,如果它是一个 C++ 程序,我们可以 运行 SocWatch 用它作为

sudo socwatch -m -f sys -f wakelock -t 35 -p ./hello

使用 OpenMPI,我尝试

sudo socwatch -m -f sys -f wakelock -t 35 -p mpirun -n 4 ./hello

但是由于socwatch没有识别到​​mpi-运行.

所以程序被打断了

如何 运行 带有 MPI 的 SoCWatch

最可能的原因是 mpirun 作为用户存在于您的 $PATH 中,但在使用 sudo 时不再存在于您的 $PATH 中。尝试改用 mpirun 的绝对路径。请注意,您需要将 --allow-run-as-root 选项传递给 mpirun。