使用两个节点时程序未完成
Program does not finish when two nodes are used
当我 运行 我的程序在一台计算机上有 4 个进程时,它几乎会立即终止。当我尝试在两台计算机的集群中 运行 它时(集群已经过检查并且没有问题),它就是无法完成!
我很久以前在集群中做过一个运行,我记得它比在一台电脑上的运行慢,但它会终止!
这是我的 run.sh:
#!/bin/bash
start=100
end=100
for ((i = $start; i <= $end; ++i )) ;
do
mpiexec -f machinefile -n 4 ./test ../../l_matrices/Lmat_755.mtx 1 755 755 $i $i 2 2 0 0
done
而且我确实检查了每个节点中是否生成了两个进程。
这是我的机器文件:
hostname1.gr:2
hostname2.gr:2
发生了什么事?
(假设脚本是正确的并且开始和结束变量值是有意的,这不会做任何有意义的事情,因为 mpiexec 将使用相同的参数执行同一文件的两个副本一次)
检查路径 - 您使用了相对路径,这可能会导致问题,因为登录后在默认目录(通常是您的主目录)中执行。
当我 运行 我的程序在一台计算机上有 4 个进程时,它几乎会立即终止。当我尝试在两台计算机的集群中 运行 它时(集群已经过检查并且没有问题),它就是无法完成!
我很久以前在集群中做过一个运行,我记得它比在一台电脑上的运行慢,但它会终止!
这是我的 run.sh:
#!/bin/bash
start=100
end=100
for ((i = $start; i <= $end; ++i )) ;
do
mpiexec -f machinefile -n 4 ./test ../../l_matrices/Lmat_755.mtx 1 755 755 $i $i 2 2 0 0
done
而且我确实检查了每个节点中是否生成了两个进程。
这是我的机器文件:
hostname1.gr:2
hostname2.gr:2
发生了什么事?
(假设脚本是正确的并且开始和结束变量值是有意的,这不会做任何有意义的事情,因为 mpiexec 将使用相同的参数执行同一文件的两个副本一次)
检查路径 - 您使用了相对路径,这可能会导致问题,因为登录后在默认目录(通常是您的主目录)中执行。