【发布时间】:2020-05-19 17:46:56
【问题描述】:
我尝试使用 openMPI 程序测量系统的能耗。
对于 OpenMPI,我们可以使用mpirun -n 4 ./hello
此程序将从 4 个进程打印 hello。
现在,如果它是一个 C++ 程序,我们可以用 sudo socwatch -m -f sys -f wakelock -t 35 -p ./hello 运行 SocWatch
使用OpenMpi,我尝试sudo socwatch -m -f sys -f wakelock -t 35 -p mpirun -n 4 ./hello,但是由于socwatch无法识别到mpi-run,因此程序被停止。
如何使用 MPI 运行 SoCWatch?
如果没有,是否有任何程序可以测量 Linux 上的能耗。
【问题讨论】:
-
尝试使用
mpirun而不是mpi-run。我不知道有任何 MPI 实现将其进程启动器命名为mpi-run,中间带有破折号。 -
是的。这是我输入命令时的错误。但是,当我在服务器上运行它时,我使用
mpirun -
我猜
mpirun作为用户在您的$PATH中,但在使用sudo时不再在您的$PATH中。尝试改用mpirun的绝对路径。请注意,您需要将--allow-run-as-root选项传递给mpirun