两台机器上面执行同样的命令,同样的程序,得出截然相反的结果, 这是神马情况?
node11上面:
1. 执行 mpiexec -np 16 piC , 报错:
[proxy:0:0@node11] HYDU_create_process (./utils/launch/launch.c:69): execvp error on file piC (No such file or directory)
2. 改为执行piexec -np 16 ./piC ,程序正常执行.
node12上面:
1. 执行 mpiexec -np 16 ./piC ,报错:
[proxy:0:0@node11] HYDU_create_process (./utils/launch/launch.c:69): execvp error on file ./piC (No such file or directory)
2. 执行 mpiexec -np 16 piC, 正常执行.
两台机器上面都是同样的程序,执行同样的命令,得到了截然相反的结果,让哥情何以堪.....
注意到报错的都是node11的问题, 解决如下:
1. node12上面的问题是因为node11上没有同名的目录,执行文件又找错了, node11上面则是因为exec的执行顺序:
http://linux.about.com/library/cmd/blcmdl3_execvp.htm
The functions execlp and execvp will duplicate the actions of the shell in searching for an executable file if the specified file name does not contain a slash (/) character. The search path is the path specified in the environment
by the PATH variable. If this variable isn't specified, the default path ``:/bin:/usr/bin'' is used. In addition, certain errors are treated specially.
我勒个去。。。。。