打印 mpiexec 参数而不是正在执行的程序的参数
Make prints of mpiexec arguments rather than the arguments of the program being executed
为什么以下代码用 mpicc
编译并用 mpiexec -n 4 prg
执行会打印 prg 而不是 mpiexec.如何让我的程序打印 mpiexec ?
#include <stdio.h>
#include <mpi.h>
int main(int argc, char *argv[])
{
printf("Command executed : %s\n",argv[0]);
MPI_Init(NULL, NULL);
/* some code */
MPI_Finalize();
}
不可能告诉您的二进制文件是如何被调用的(以一般的、可移植的方式)。 MPI 无法确定这一点。甚至 mpiexec
本身也只是松散地指定。
即使没有MPI和多系统参与,一般也是不可能的。 prg
可以通过多种方式调用,例如:
/bin/env prg
bash -c 'prg'
./my_prg_wrapper.sh
x='() { :;}; prg'
为什么以下代码用 mpicc
编译并用 mpiexec -n 4 prg
执行会打印 prg 而不是 mpiexec.如何让我的程序打印 mpiexec ?
#include <stdio.h>
#include <mpi.h>
int main(int argc, char *argv[])
{
printf("Command executed : %s\n",argv[0]);
MPI_Init(NULL, NULL);
/* some code */
MPI_Finalize();
}
不可能告诉您的二进制文件是如何被调用的(以一般的、可移植的方式)。 MPI 无法确定这一点。甚至 mpiexec
本身也只是松散地指定。
即使没有MPI和多系统参与,一般也是不可能的。 prg
可以通过多种方式调用,例如:
/bin/env prg
bash -c 'prg'
./my_prg_wrapper.sh
x='() { :;}; prg'