【Linux】mpiexec中的config文件可以在提交程序后修改

版权声明:非技术文章禁止转载,如有需要请私信作者。技术类文章欢迎转载,转载请注明出处: http://blog.csdn.net/ztf312/ https://blog.csdn.net/ztf312/article/details/83032257

算法评测需要跑很多次取均值,因此离不开linux集群。

集群上并行执行多次的命令是mpiexec,执行10次的命令是:mpiexec -n 10 -f config nohup python hello.py &

注意这10次都是独立运行的,不会通信。mpiexec中的config内容如下:

节点1:8

节点2:8

第一列是集群机器的节点名,冒号后面是当前机器分配给程序的内核数。

如果我执行6个算法,每个算法运行100次,那么就需要列出config1、config2、...、config6,来分配机器。

现在我需要搞清楚一个问题:

能不能所有算法只用一个config文件。比如,提交一个算法后,立刻更改它里面的机器节点名,给第二个算法使用。

测试:

(1)写一个执行很久的程序alg1.py。
(2)将节点1、节点2写入config ,每个机器1个核心。运行mpiexec -n 2 -f config nohup python alg1.py &
(3)清空config,将节点3、节点4写入config ,每个机器1个核心,仍然运行mpiexec -n 2 -f config nohup python alg1.py &
(4)同时打开节点1、节点2、节点3、节点4,发现程序都在正常运行。

结论:

在mpiexec提交程序后,更改config文件,不影响程序执行。

猜你喜欢

转载自blog.csdn.net/ztf312/article/details/83032257